0%

在Ubuntu16.04上连接L2TP/IPsec的VPN

最近有在Ubuntu系统上连接L2TP/IPsec协议的VPN的需求,所以在网上搜了一波,发现一名叫做Werner Jaeger的大神开发了一款名叫 l2tp-ipsec-vpn 的软件可以解决这个问题。但是在 Ubuntu16.04LTS 系统上,这个款软件的软件源已经不存在,后来在 Enabling L2TP over IPSec on Ubuntu 16.04 这里看到了解决方法,为了做个备份写下这篇博客。

安装依赖

1
sudo apt install intltool libtool network-manager-dev libnm-util-dev libnm-glib-dev libnm-glib-vpn-dev libnm-gtk-dev libnm-dev libnma-dev ppp-dev libdbus-glib-1-dev libsecret-1-dev libgtk-3-dev libglib2.0-dev xl2tpd strongswan

下载源码并编译安装

1
2
3
4
5
6
7
8
9
10
git clone https://github.com/nm-l2tp/network-manager-l2tp.git  
# 如果失效可以从这里克隆: git clone https://github.com/andrewei1316/network-manager-l2tp.git
cd network-manager-l2tp
autoreconf -fi
intltooliz

./configure --disable-static --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/NetworkManager --localstatedir=/var --with-pppd-plugin-dir=/usr/lib/pppd/2.4.7

make
sudo make install

取消IPsec应用程序访问控制的设置

1
2
sudo apparmor_parser -R /etc/apparmor.d/usr.lib.ipsec.charon  
sudo apparmor_parser -R /etc/apparmor.d/usr.lib.ipsec.stroke

用libpcap代替x2ltpd

1
2
3
4
5
6
7
8
sudo apt remove xl2tpd  
sudo apt install libpcap0.8-dev

wget https://github.com/xelerance/xl2tpd/archive/v1.3.6/xl2tpd-1.3.6.tar.gz
tar xvzf xl2tpd-1.3.6.tar.gz
cd xl2tpd-1.3.6
make
sudo make install

最后重启计算机,就可以在添加网络连接中找到添加L2TP类型网络.