如何通过IPSec VPN连接到L2TP?


13

我在Ubuntu 15.04上无法连接到公司的VPN。它通过IPsec使用L2TP,我有一个用户名,密码和共享机密。我该如何连接?


1
似乎没有简单的方法可以建立L2tp VPN连接,因为在Ubuntu 14.10中已弃用并删除了OpenSwan。我自己需要它,经过几个月的零星研究,没有找到可行的解决方案。
derFunk

askubuntu.com/a/578881 答案似乎很强。
Artistan 2015年

@Powel Szubert,不能轻信最后一步。我不知道我必须使用IP来创建此路由。你可以帮帮我吗?请。

Answers:


3

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

“似乎已经没有简单的方法来建立L2tp VPN连接,因为OpenSwan已在Ubuntu 14.10中弃用并删除。需要我本人,经过几个月的零星研究后,找不到可行的解决方案。– derFunk,5月21日,18:11”

似乎尚未计划解决方案,请参阅https://wiki.strongswan.org/issues/254。从Ubuntu中删除了另一个需要的功能。


我在下面提出了一个解决方案,对于新手来说应该很容易。它不涉及修补程序包。有很多方法可以做到,但是它不像使用内置功能那样简单。
badmadrad

12

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

您可以使用

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

为Ubuntu 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


1
我刚刚在Ubuntu 16.04上进行了测试,可以确认它是否有效
lewiatan

1
在16.04也对我有效!我必须apt install strongswan-plugin-openssl在网络管理器中针对“ ENCRYPTION_ALGORITHM 3DES_CBC (key size 0) not supported!syslog 中引起的VPN服务无法启动” 。
13rac1

现在有一个PPA,可以简化安装。一个注意事项:sudo service xl2tpd stop在连接到我的VPN之前,我确实必须停止使用系统xl2tpd服务-否则xl2tpd会忽略IPsec隧道并尝试直接通过L2TP进行连接。
Marius Gedminas

您还将需要一个GUI :apt install network-manager-l2tp-gnome。参见askubuntu.com/questions/934350/connect-to-l2tp-over-ipsec
朱利安·

这也为我工作在16.04 LTS,并作为@JulienCarsique提到的,也有跑apt install network-manager-l2tp-gnome沿network-manager-l2tp(这应该是公认的答案IMO)
DarkCygnus

3

使用脚本修补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。

部分摘自此答案


谢谢-不幸的是,这似乎不起作用(网络管理器中没有l2tp选项)。
thomson_matt 2015年

使用Kubuntu 15.04在两台PC上进行了测试,效果很好。
ChipX

2

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

  • 从ubuntu repo离开原始的Strongswan
  • 删除xl2tpd软件包(您可以尝试使用xl2tpd,但在我的计算机上xl2tpd在每次启动时都因segfault崩溃)
  • 以下位置安装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}

希望这对某人有帮助。


最后一条命令中的“ {net_behing_VPN_gateway / mask}”是什么?你能用实际数字写一个例子吗?
Jana'9

1

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

我卸载了Strongswan并安装了一个旧的openswan trust.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

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


我为ubuntu 16.04尝试了许多解决方案,只有这一解决方案有效!万分感谢!
vkostromin

我知道这没有关系,但是对任何感兴趣的人而言:它在debian 9.0上不起作用(GUI无法正确呈现)。
andresp '17

对于Debian 9.0,请使用Debian Sid中的network-manager-l2tp和network-manager-l2tp-gnome软件包:tracker.debian.org/pkg/network-manager-l2tp
Douglas Kosovic

0

请注意,对于可接受的答案,Ubuntu 18的正确安装命令是

sudo apt install network-manager-l2tp network-manager-l2tp-gnome

由于Ubuntu现在随Gnome一起提供。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.