本文写于 2016年。
记录 CentOS 连接 PPTP 服务端的过程。

CentOS版本:7.1 64bit

连接方法:

1.安装依赖包

yum install pptp pptp-setup

2.初始化配置

pptpsetup --create 名称 --server 服务器地址 --username 用户名 --password 密码 --encrypt --start

3.路由配置

route add -net 172.16.16.0 netmask 255.255.255.0 dev ppp0

4.启动连接

pppd call 名称

5.断开连接

ps -ef | grep pptp
kill 上面查询到的进程 Pid

VPN自动检测重连脚本

#!/bin/bash
VPN=`/usr/sbin/ifconfig | grep ppp0`
date=`/usr/bin/date`

if [ -z "$VPN" ]

then
echo $date "offline" >> /root/script/vpn_reconnect.log
/usr/sbin/pppd call build

sleep 5

/usr/sbin/route add -net 172.16.16.231 netmask 255.255.255.255 dev ppp0

else
echo $date "online" >> /root/script/vpn_reconnect.log
fi

计划任务如果不设置环境变量,可能会出现命令执行失败的问题

Jan 18 18:53:02 localhost pppd[20850]: pppd 2.4.5 started by root, uid 0
Jan 18 18:53:02 localhost pppd[20850]: Couldn't get channel number: Input/output error
Jan 18 18:53:02 localhost pppd[20850]: Exit.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * /root/script/vpn_reconnect.sh