1.安装pptp与pptp-setup
yum install pptp pptp-setup
2.创建配置
格式如下:
pptpsetup --create myvpn --server ip --username user--password pass --encrypt
具体可以man pptpsetup
查看
3.连接vpn
执行pppd call myvpn
用ip a |grep ppp
验证,如有返回诸如:
link/ppp inet 172.16.6.2 peer 172.16.6.1/32 scope global ppp0
则表示连接成功。
4.添加路由
执行route -n
返回
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 222.46.*.* 122.225.*.* 255.255.255.255 UGH 0 0 0 eth1 172.16.6.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 60.12.*.* 0.0.0.0 255.255.255.192 U 0 0 0 eth1 122.225.96.64 0.0.0.0 255.255.255.192 U 0 0 0 eth1 192.168.14.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8 192.168.237.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 0.0.0.0 122.225.*.* 0.0.0.0 UG 0 0 0 eth1
注:这里用*隐藏了一些信息
可以看到ppp0接口只添加了一条172.16.6.1 0.0.0.0 255.255.255.255
的路由信息,我想访问内网172.16.0.0的网段需要添加路由:执行 route add -net 172.16.0.0 netmask 255.255.0.0 dev ppp0
再次执行route -n
可以看到路由已经加入:
... 172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ppp0 ...
ping一个内网地址测试:
[root@localhost ~]# ping 172.16.4.110 -c 3 PING 172.16.4.110 (172.16.4.110) 56(84) bytes of data. 64 bytes from 172.16.4.110: icmp_seq=1 ttl=63 time=22.1 ms 64 bytes from 172.16.4.110: icmp_seq=2 ttl=63 time=26.2 ms 64 bytes from 172.16.4.110: icmp_seq=3 ttl=63 time=20.8 ms --- 172.16.4.110 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 20.831/23.089/26.296/2.329 ms
5.关闭vpn
根据安装的ppp版本找到诸如:/usr/share/doc/ppp-2.4.4/scripts
[root@localhost /]# cp /usr/share/doc/ppp-2.4.4/scripts/pon /usr/sbin/ [root@localhost /]# cp /usr/share/doc/ppp-2.4.4/scripts/poff /usr/sbin/ [root@localhost /]# chmod +x /usr/sbin/pon [root@localhost /]# chmod +x /usr/sbin/poff
方便的开启关闭vpn
[root@localhost /]# poff myvpn [root@localhost /]# pon myvpn