Linux(Debian6) 安装配置VPN客户端和自动重连VPN
(版权所有,禁止商业用途转载,引用请注明来源)
一、安装配置VPN客户端 1、安装 pptp-linux
apt-get install pptp-linux binutils 2、创建vpn连接,并测试连接
pptpsetup --create yourVpnName --server yourVpnServerDomainOrIP --username yourUserName --password yourPassword --encrypt pon yourVpnName #连接
plog #查看连接vpn情况
ifconfig #还可以通过此命令查看获得的vpn IP poff yourVpnName #断开连接 二、配置自动重连VPN
1、创建脚本 /usr/local/bin/autoConnectVpn.sh,内容如下:
#!/bin/sh
VPN=`ifconfig | grep ppp0` #echo $VPN if [ -z \then
echo \ pon yourVpnName fi
2、用 crontab -e 编辑定时作业脚本:
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow command
*/5 * * * * /usr/local/bin/autoConnectVpn.sh >> /var/log/autoConnectVpn.log
注意 SHELL=/bin/bash 和 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 这两行代码是必须的,否则据说因为 pppd 的 bug 会导致连接不成功,报如下的错误日志:
Jan 24 15:55:01 JCN-WEB-HD-1 /USR/SBIN/CRON[32343]: (root) CMD (/usr/local/bin/autoConnectVpn.sh >> /var/log/autoConnectVpn.log)
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: pppd 2.4.5 started by root, uid 0
Jan 24 15:55:01 JCN-WEB-HD-1 /USR/SBIN/CRON[32341]: (CRON) info (No MTA installed, discarding output) Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Failed to set PPP kernel option flags: Inappropriate ioctl for device
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Using interface ppp0
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Connect: ppp0 <--> /dev/pts/1 Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Modem hangup
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Connection terminated.
Jan 24 15:55:01 JCN-WEB-HD-1 avahi-daemon[2307]: Withdrawing workstation service for ppp0. Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Exit.
这个纠结的问题耗费了我半天时间,搞得几乎崩溃。幸亏Google帮忙,查到 pptp (pon) fails when called via cron (debian) [solved] 这篇文章。
(版权所有,禁止商业用途转载,引用请注明来源)