← 回到文章列表

Linux VPN自动拨号

这个需求是一个好友提出来的 他说自己的VPS需要进行VPN拨号有特殊用途 但是每次VPN断开之后需要手动pon 导致不能及时的重新连接上 解决思路如下: 使用crontab进行每小时多次循环 检测ppp在线状态 不在线的话进行VPN拨号 自动添加路由表 并且进行检测日志 先在…

这个需求是一个好友提出来的
他说自己的VPS需要进行VPN拨号有特殊用途
但是每次VPN断开之后需要手动pon
导致不能及时的重新连接上
解决思路如下:
使用crontab进行每小时多次循环
检测ppp在线状态
不在线的话进行VPN拨号
自动添加路由表
并且进行检测日志

先在crontab中添加自动运行计划:
nano /etc/crontab
在最底下添加

0,20,40 *       * * *   root    /root/crontab.sh &
#在每個小時的0分20分40分 以root用戶後臺運行命令/root/crontab.sh

然后我们在crontab.sh添加具体操作内容

#!/bin/sh
VPN=`ifconfig | grep ppp0`
if [ -z "$VPN" ]
then
echo `date '+%Y-%m-%d %T'` : "Connecting to ppp" >> cron.txt
pon pptp
sleep 10s
echo `date '+%Y-%m-%d %T'` : "Add Router" >> cron.txt
route add -net 0.0.0.0 netmask 0.0.0.0 dev ppp0
echo `date '+%Y-%m-%d %T'` : "Done!" >> cron.txt
else
echo `date '+%Y-%m-%d %T'` : "Connected" >> cron.txt
fi

然后就可以重启生效结果了

在这里找找

输入关键词,找一篇过去的记录。