如何通过IPSec VPN连接L2TP?

我在Ubuntu 15.04上连接到我公司的VPN时遇到问题。 它使用L2TP over IPsec,我有一个用户名,密码和共享密钥。 我该如何连接?

第一条评论可能是我们大多数人的答案,除了一些真正的专家:

“似乎没有简单的方法来建立L2tp VPN连接,因为OpenSwan已经在Ubuntu 14.10中被弃用和删除。需要它自己,经过几个月的零星研究后才找到工作解决方案。 – derFunk 5月21日18:11”

似乎没有计划解决方案,请参阅https://wiki.strongswan.org/issues/254 。 从Ubuntu中删除了另一个所需的function。

更新:现在为network-manager-l2tp存在PPA:

您可以使用

 sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp sudo apt-get update sudo apt-get install network-manager-l2tp 

安装支持UTPntu 16.04的L2TP的网络管理器l2tp

从源代码构建的演练: http : //blog.z-proj.com/enabling-l2tp-over-ipsec-on-ubuntu-16-04/


老答案

另一种解决方案是使用network-manager-l2tp。 您可以从https://github.com/nm-l2tp/network-manager-l2tp获取它。

安装演练 : http : //blog.z-proj.com/enabling-l2tp-over-ipsec-on-ubuntu-16-04/

它适用于Ubuntu 16.04

使用脚本修补NM-L2TP包

 #!/bin/bash CUR_PATH=$(dirname $(readlink -f $0)) TMP_PATH=/tmp/nm-l2tp mkdir ${TMP_PATH} cd ${TMP_PATH} wget https://launchpad.net/~seriy-pr/+archive/ubuntu/network-manager-l2tp/+build/6512073/+files/network-manager-l2tp_0.9.8.5-0utopic1_amd64.deb ar vx network-manager-l2tp_0.9.8.5-0utopic1_amd64.deb mkdir new tar -xpvf data.tar.xz -C ./new mv ./new/usr/lib/pppd/2.4.5 ./new/usr/lib/pppd/2.4.6 sed -i 's/2.4.5/2.4.6/g' ./new/usr/lib/NetworkManager/nm-l2tp-service sed -i 's/2.4.5/2.4.6/g' ./new/usr/lib/pppd/2.4.6/nm-l2tp-pppd-plugin.so mkdir new/DEBIAN tar -xpvf control.tar.gz -C ./new/DEBIAN sed -i 's/, ppp (<< 2.4.6)//g' ./new/DEBIAN/control sed -i 's/0utopic1/0vivid1/g' ./new/DEBIAN/control rm ./new/DEBIAN/md5sums dpkg-deb -b ./new/ ${CUR_PATH}/network-manager-l2tp_0.9.8.5-0vivid1_amd64.deb rm -rf ${TMP_PATH} 

然后从http://www.ubuntuupdates.org/pm/openswan下载并安装适当的Openswan软件包并运行以下命令

 sudo apt-get update sudo dpkg -i network-manager-l2tp_0.9.8.5-0vivid1_amd64.deb sudo service xl2tpd stop sudo update-rc.d xl2tpd disable 

然后只需转到网络管理器,选择VPN连接并创建l2tp。 您只需在IPSec附加设置中设置用户名,密码和IPSec PSK。

部分取自这个答案

在15.10测试的另一个解决方法也应该在15.04上工作。 需要手动编辑配置和手动建立连接。

  • 从ubuntu repo离开原始的strongswan
  • 删除xl2tpd包(你可以尝试使用xl2tpd但是在我的计算机上xl2tpd每次启动都会遇到段错误)
  • 安装openl2tpd来自: ftp ://ftp.openl2tp.org/releases/openl2tp-1.8/debian-squeeze/openl2tp_1.8-1_amd64.deb
  • 编辑/etc/ipsec.conf:

config setup strictcrlpolicy=yes conn %default ikelifetime=30m keylife=15m rekeymargin=3m keyingtries=1 mobike=no dpdaction=restart dpddelay=30 dpdtimeout=120 conn MYSERVER left=192.168.101.157 leftprotoport=17/1701 right=77.78.79.80 # public IP of VPN gw rightprotoport=17/1701 authby=secret type=transport keyexchange=ikev1 auto=route

  • 编辑/etc/ipsec.secrets:

: PSK "StrongPSKgivenByProvider"

  • 编辑(或创建)/etc/openl2tpd.conf:

ppp profile modify profile_name=default \ auth_eap=no auth_mschapv1=no auth_mschapv2=no tunnel create tunnel_name=MYSERVER \ dest_ipaddr=77.78.79.80 \ hello_timeout=10 \ retry_timeout=10 \ max_retries=60 \ persist=yes session create session_name=MeOnMYSERVER \ tunnel_name=MYSERVER \ interface_name=ppp1 \ user_name=MyLogin \ user_password=MyPassword

  • 重启并测试ipsec:

    ipsec restart ipsec status

  • 输出应该是这样的:

    Routed Connections: MYSERVER{1}: ROUTED, TRANSPORT MYSERVER{1}: 192.168.101.157/32[udp/l2f] === 77.78.79.80/32[udp/l2f] Security Associations (0 up, 0 connecting): none

  • sudo service openl2tpd restart sudo route add -net {net_behing_VPN_gateway/mask} gw {local_IP_of_VPN_gw}

希望这有助于某人。

有一个解决方法可以在15.04获得l2tp-ipsec,但它不是很优雅。

我卸载了strongswan并安装了一个旧的openswan trusty .deb包。

http://packages.ubuntu.com/trusty/openswan

然后我从Werner Jaeger那里找到了来自trusty的旧l2tp-ipsec-vpn和l2tp-ipsec-vpn-daemon的.deb文件。

http://packages.ubuntu.com/trusty/l2tp-ipsec-vpn

http://packages.ubuntu.com/trusty/l2tp-ipsec-vpn-daemon

我安装了这些,在我重新启动后,我能够连接。 但是,这需要花费相当多的时间才能正常工作并且需要安装已弃用的软件包。

我认为这就是我所做的一切,但如果你尝试这个并得到另一个错误,我可能会安装另一个包我不记得了。

更新 :我不得不再次这样做,所以我想我会分享这些步骤。 安装旧客户端: https : //launchpad.net/l2tp-ipsec-vpn

如果您需要它并且目前正常工作,这也是一种解决方法。 话虽如此,这确实需要与操作系统分开。

 sudo apt-get install gksu libgksu2-0 libctemplate2 libengine-pkcs11-openssl libp11-2 xl2tpd 

接下来下载旧的二进制文件并使用dpkg安装:

 wget http://mirrors.kernel.org/ubuntu/pool/universe/o/openswan/openswan_2.6.38-1_amd64.deb sudo dpkg -i openswan_2.6.38-1_amd64.deb wget http://mirrors.kernel.org/ubuntu/pool/universe/l/l2tp-ipsec-vpn/l2tp-ipsec-vpn_1.0.9-1_amd64.deb wget http://mirrors.kernel.org/ubuntu/pool/universe/l/l2tp-ipsec-vpn-daemon/l2tp-ipsec-vpn-daemon_0.9.9-1_amd64.deb sudo dpkg -i l2tp-ipsec-vpn_1.0.9-1_amd64.deb sudo dpkg -i l2tp-ipsec-vpn-daemon_0.9.9-1_amd64.deb 

打开客户端。 添加连接并根据需要进行配置。 一旦你尝试连接它可能需要一段时间,但要耐心等待。