Ubuntu 链接L2TP VPN,自动链接VPN

在Ubuntu使用基于L2TP的VPN设置(支持硬件key的哦)。

1. 添加PPA
[url]https://launchpad.net/~seriy-pr/+archive/ubuntu/network-manager-l2tp/+build/5967945[/url]

sudo apt-add-repository ppa:seriy-pr/network-manager-l2tp

2. 刷新软件包缓存
sudo apt-get update

3. 安装network-manager-l2tp
sudo apt-get install network-manager-l2tp-gnome

安装完之后不要忘记运行以下命令
sudo service xl2tpd stop 

sudo update-rc.d xl2tpd disable

重启机器

如图在新建VPN里就会有如下选项:(L2TP)

摘自: http://www.linuxidc.com/Linux/2012-10/71621.htm

自动重拨VPN
新建文件authVPN.sh
touch ~/authVPN.sh
并编辑文件
vim ~/authVPN.sh
内容如下

#!/bin/bash
vpnuuid=e84e6ac0-7663-4471-9919-2684566d83ef
IP=192.168.234.237
while true
do
    echo `date "+%Y/%m/%d %H:%M:%S"`
    ping -c 5 -q $IP > /dev/null
    if [ $? -ne 0 ]; then
        echo "connect vpn" 
        #su vpc -c "nmcli con up uuid $vpnuuid" 
        nmcli con up uuid $vpnuuid
    else
        echo "vpn already connected" 
    fi
    echo "sleep for next check period" 
    sleep 10
done

只需要修改vpnuuid和IP即可
vpnuuid在/etc/NetworkManager/system-connections/vpn名字中查询
IP是要访问的地址
在命令行模式下执行
sudo chmod +x ~/authVPN.sh
nohup ~/authVPN.sh & 

下面一段代码也是自动链接VPN的脚本
#!/bin/bash
user=scue # TODO: 替换用户名
vpnuuid=b8a9ec50-8bec-4d53-8c8e-0ba8db19ae50 # TODO: 替换UUID
while true
do
    if  [[ "$(nmcli con status|grep $vpnuuid)" == "" ]]; then
        echo "Disconnected, trying to reconnect..."
        sleep 1s 
        su $user -c "nmcli con up uuid $vpnuuid"
    else
        echo "Already connected !"
    fi
sleep 10


猜你喜欢

转载自tomhat.iteye.com/blog/2285664