介绍下环境:
1、ROS1也是PPTP SERVER,IP为172.16.22.3/24,pptp pool为172.16.23.0/24,pptp的默认帐号是111,密码是123
2、ROS2的IP为172.16.22.4/24
两个ROS都要设置NAT代理上网,出口为wan方向,ROS版本为6.43.8
3、vpstest为centos6.10,其中IP为172.16.22.6/24
4、vps为www.vultr.com创建的
步骤:
1、创建vps,默认系统是centos7,因为我比较熟悉centos6,所以创建完VPS以后,重新格式化系统为centos 6 x64,我看了下版本是6.10
2、从云平台看了下,Private Network内网IP是172.16.22.6/24,这个IP不会自动生成,需要自己到系统里去配置下。vultr是eth1走的这个IP
3、进了系统先把root密码修改下,不然云平台给的密码复杂的一米。passwd命令
4、配置内网IP:
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth1
vi ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
NM_CONTROLLED="no"
IPADDR="172.16.22.6"
NETMASK="255.255.255.0"
service network restart
由于我们不需要外网IP,那么直接让外网网卡开机不启动即可,
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
ONBOOT="yes"改为ONBOOT="no"即可
5、开始安装pptp客户端
yum -y install ppp pptp pptp-setup
6、配置pptp client
pptpsetup命令用法及说明:
pptpsetup --create <TUNNEL> --server <ip address/hostname> [--domain <DOMAIN NAME>] --u sername <USERNAME> [--password <PASSWORD>] [--encrypt] [--start]
pptpsetup –delete <TUNNEL> 删除一个节点
pptpsetup --create pptpvpn --server 172.16.22.3 --username 111 --password 123
编辑pptp配置文件
vi /etc/ppp/peers/vpn连接名称
vi /etc/ppp/peers/pptpvpn
# written by pptpsetup
pty "pptp 172.16.22.3 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 111
remotename pptpvpn
ipparam pptpvpn
persist #当连接丢失时让pppd再次拨号
holdoff 0 #holdoff是间隔几秒进行重复拨号
maxfail 0 #上面persist和maxfail 0组合使用,永远不停的拨号尝试
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap
pptp密码修改
/etc/ppp/chap-secrets
7、创建拨号删除拨号的快捷方式
cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff
拨号
pon vpn连接名称
通过pon/poff <tunnel> 来启停VPN连接
8、加载PPTP模块!要放在/etc/rc.local里,并且在pon vpn之前!!!
/sbin/modprobe nf_conntrack_pptp
9、添加静态路由表,并且设置开机启动,在/etc/rc.local里的所有命令如下:注意这里的metric一定要设置大于0,因为这里是一条备用路由表,主路由表走的是拨号!
/sbin/route add default gw 172.16.22.4 metric 20
/sbin/modprobe nf_conntrack_pptp
pon pptpvpn
10、查看是否连上
ifconfig
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.17.196.10 P-t-P:172.17.196.7 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:102271 errors:0 dropped:0 overruns:0 frame:0
TX packets:61330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:133137807 (126.9 MiB) TX bytes:3351984 (3.1 MiB)
11、
查看拨号日志
cat /var/log/messages
tail -f /var/log/messages
12、我们上面的步骤只是完成了,开机就拨号,并设置默认路由为备用路由,但是我们的主路由表还没添加好呢!!!
13、由于,我们只能在拨号之后,创建路由表才能生效,所以我们/etc/ppp/ip-up.local,创建这个文件
> /etc/ppp/ip-up.local
vi /etc/ppp/ip-up.local
#!/bin/bash
tmpip=`echo $4 | cut -d. -f1-3` --------------------------千万注意。这里是反引号!!!
case $tmpip in
172.16.23)
/sbin/route add default gw 172.16.23.1
;;
*)
esac
关于$4的说明如下:
Make the script executable: chmod 755 ip-up.local
Arguments available in ip-up and ip-up.local scripts
Argument | Description |
---|---|
$1 | the interface name used by pppd (e.g. ppp3) |
$2 | the tty device name |
$3 | the tty device speed |
$4 | the local IP address for the interface |
$5 | the remote IP address |
$6 | the current IP address before connecting to the VPN |
上面的脚本的意思,是当拨号成功以后,拨号获取到的IP,如果开头为172.16.23的话,那么创建默认路由网关为172.16.23.1。
最后注意,一定要给它有执行权限。chmod 755 ip-up.local
14、最后把一台机器作为快照,作为母盘,每次克隆一台机器,只需要从控制台看下内网IP是多少,然后到控制台上去设置下重启就可以了
vi /etc/sysconfig/network-script/ifcfg-eth1
reboot
15、克隆完出来的机器,重启好以后,局域网内网IP应该可以ping同,然后ssh上去看下路由表,看下是否可以上网就OK了
今天又实践了下 centos7的环境,其他都没变!有些不同的地方我都用红色标注出来了
1、增加dns解析
vi /etc/resolv.conf
nameserver 8.8.8.8
2、增加支持route命令等
yum install net-tools
3、增加局域网网卡ip以及默认网关,并设定默认网关的metric为20
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
NM_CONTROLLED="no"
IPADDR="172.16.22.7"
NETMASK="255.255.255.0"
vi /etc/sysconfig/network-scripts/route-eth1
default via 172.16.22.4 metric 20
在centos7里,/sbin/route add default gw 172.16.22.4 metric 20这条命令加到rc.local里就没用了。必须用route-eth1的方式来增加默认网关
4、yum -y install ppp pptp pptp-setup
5、pptpsetup --create pptpvpn --server 172.16.22.3 --username 111 --password 123
vi /etc/ppp/peers/pptpvpn
# written by pptpsetup
pty "pptp 172.16.22.3 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 111
remotename pptpvpn
ipparam pptpvpn
persist #当连接丢失时让pppd再次拨号
holdoff 0 #holdoff是间隔几秒进行重复拨号
maxfail 0 #上面persist和maxfail 0组合使用,永远不停的拨号尝试
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap
6、pptp密码修改
/etc/ppp/chap-secrets
7、cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff
8、设置开机启动,在/etc/rc.local里的所有命令如下
在centos7中,/etc/rc.d/rc.local文件的权限被降低了,没有执行权限,需要给它添加可执行权限。
/sbin/modprobe nf_conntrack_pptp
pon pptpvpn
9、vi /etc/ppp/ip-up.local
vi /etc/ppp/ip-up.local
#!/bin/bash
tmpip=`echo $4 | cut -d. -f1-3`
case $tmpip in
172.16.23)
/sbin/route add default gw 172.16.23.1
;;
*)
esac
10、chmod 755 /etc/ppp/ip-up.local
11、reboot