CentOS7命令模式使用PPTP客户端

1. 配置步骤

安装客户端

1
yum install pptp pptpd pptp-setup

加载pptp相关模块,该模块与简历PPTP VPN链接相关

1
modprobe nf_conntrack_pptp

/etc/ppp/chap-secrets文件中加入用户名密码

1
echo 'git PPTP Git12#$ *' >> /etc/ppp/chap-secrets

创建VPN peer配置文件,并保存到/etc/ppp/peers/目录下,创建一个文件名字为PPTP的配置文件。

  • pty 对应为服务器IP地址
  • name 为对应的用户名
  • remotename 名字任意
  • ipparam 应该为配置文件的名字

内容如下,将其中pty中对应的服务器IP地址、name以及ipparam根据具体情况进行修改。

1
2
3
4
5
6
pty "pptp 10.30.30.42 --nolaunchpppd"
name git
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam PPTP

2. VPN连接&断开

创建一个连接VPN的脚本,内容如下,需要手动添加子网路由

1
2
3
4
#!/bin/bash
pppd call PPTP
sleep 2
route add -net 172.18.0.0/16 dev ppp0

创建一个断开VPN的脚本,内容如下

1
2
3
4
5
#!/bin/bash
pid=`ps -A | grep ppp | awk '{print $1}'`
if [ -n "$pid" ]; then
kill -9 $pid
fi

可以查看/var/log/messages中的关于pppd字段,为PPTP VPN建立连接的过程,VPN建立之后,通过ip命令查看获取的虚拟远程IP地址。

可以将ppp工具包中的脚本拷贝到系统执行路径。

1
2
3
4
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
chmod +x /usr/sbin/poff

可以使用pon PPTP启动VPN连接,但是不会自动添加子网路由。poff PPTP断开VPN连接。


修订版本信息

修订版本 时间 备注
文档创建 2017/10/21 文档创建
文档修改1 2017/12/25 细节修改

参考