(x)ubuntu 16.04上的L2tp IPSEC PSK VPN客户端


22

我正在寻找一种解决方案,以便从我的Xubuntu 16.04 pc连接到VPN L2TP IPsec服务器。我曾经拥有Xubuntu 14.04,在遵循这些教程之后我可以毫无问题地连接:https : //www.elastichosts.com/blog/linux-l2tpipsec-vpn-client/ https://soeasytomakeitwork.wordpress.com/2014/05 / 02 /在Ubuntu桌面上设置一个L2tpipsec-vpn连接/

不幸的是,Openswan软件包似乎太旧了,不再可用。我已经尝试了所有内容,包括此页面上的所有内容: 如何通过IPSec VPN连接到L2TP? 但什么也没做。在libctemplate2的某些依赖项软件包失败后,我成功安装了ipsec服务,但是当我尝试ipsec auto --up时出现以下错误:whack:Pluto未运行(无“ /var/run/pluto/pluto.ctl ”)

systemctl restart ipsec.service没有显示任何错误,但是当我检查状态时我得到了:

root@Vapor:/usr/lib/ipsec# systemctl status ipsec.service
● ipsec.service - LSB: Start Openswan IPsec at boot time
   Loaded: loaded (/etc/init.d/ipsec; bad; vendor preset: enabled)
   Active: active (exited) since Lu 2016-06-20 21:23:33 EEST; 31s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 14634 ExecStop=/etc/init.d/ipsec stop (code=exited, status=0/SUCCESS)
  Process: 14654 ExecStart=/etc/init.d/ipsec start (code=exited, status=0/SUCCESS)

iun 20 21:23:33 Vapor ipsec__plutorun[14776]:         [--nat_traversal] [--keep_alive <delay_sec>] \
iun 20 21:23:33 Vapor ipsec__plutorun[14776]:         [--force_keepalive] [--disable_port_floating] \
iun 20 21:23:33 Vapor ipsec__plutorun[14776]:         [--virtual_private <network_list>]
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: Openswan 2.6.38
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: pluto unexpectedly said `exit'
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: pluto unexpectedly said `1'
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: connect(pluto_ctl) failed: No such file or directory
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: whack: Pluto is not running (no "/var/run/pluto/pluto.ctl")
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: pluto died without exit status!?!
iun 20 21:23:33 Vapor ipsec__plutorun[14776]: internal failure in pluto scripts, impossible to carry on
root@Vapor:/usr/lib/ipsec# 

我从来没有想过这会如此困难。我读过ipsec Openswan被Strongswan取代,但是我不明白要使用预共享密钥连接到L2tp IPSEC服务器必须做什么。我正在谈论的服务器是内置的硬件。

这开始变得非常烦人,我正在考虑回到一些以前的ubuntu版本。

LTS版本中不应发生这种情况。

任何帮助将不胜感激。甚至是一个新主意,不同的软件,无论如何,都没关系,我想使其工作!!!


Answers:


24

您可以使用

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

要安装支持L2TP for ubuntu 16.04的网络管理器l2tp

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


6
您还需要先sudo apt-get install network-manager-l2tp-gnome,然后才能在网络管理器中使用GUI。
BenFreke

同样,这适用于Ubuntu 17.04。大!
socketpair

12

在16.04上,您可以尝试构建和安装network-manager-l2tp,它是NetworkManager的L2TP / IPsec VPN插件。

有关软件包的先决条件和strongSwan AppArmor解决方法,请参见以下页面: https //github.com/nm-l2tp/network-manager-l2tp/wiki

该页面还提到了升级到NetworkManager 1.2.2或更高版本。

首先安装以下依赖项:

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

在命令行上发出以下命令(注意:反斜杠字符\是可以安全地复制和粘贴的shell行延续字符):

git clone https://github.com/nm-l2tp/network-manager-l2tp.git
cd network-manager-l2tp
autoreconf -fi
intltoolize

./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

1
我已经成功安装了管理器,将连接放入其中,但是连接后ofc无法正常工作:vpn连接失败。
Hyppo Drums'Aug

1
我不确定ofc是什么。我还需要一些日志来找出错误所在。
道格拉斯·科索维奇


我正在Ubunu 16.04的快速安装中,无法配置。libnma正在寻找比发布版本更高的版本。正在检查GTK ...是,正在检查LIBNMA ...否配置:错误:不满足软件包要求(libnma> = 1.8.0):请求的'libnma> = 1.8.0',但libnma的版本为1.2.6
jowan sebastian

有关 在Ubuntu 16.04上的构建说明,请参见github.com/nm-l2tp/network-manager-l2tp/wiki/Building。您一直在尝试使用需要NetworkManager> 1.8的master分支进行构建,因此,如说明中所述,请改用nm-1-2分支。或者使用预构建的软件包,请参见github.com/nm-l2tp/network-manager-l2tp/wiki/Prebuilt-Packages
Douglas Kosovic

4

OP没有说远端是否是Meraki防火墙,但是J Wiese的回答是我发现的仅有的两个,之一是在设置阶段1和阶段2协议时遇到的问题,这就是连接到Meraki所需要的。我认为在一处查看Meraki配置的所有步骤会有所帮助。这也包括禁用命令,xl2tpd这些命令会干扰在GUI中创建的NetworkManager配置。

这些步骤来自Anthony Mayes在http://blog.z-proj.com/enabling-l2tp-over-ipsec-on-ubuntu-16-04/上的评论。

  1. 安装network-manager-l2tp: sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp sudo apt-get update sudo apt-get install network-manager-l2tp
  2. 如果使用gnome,请安装gnome插件(如果使用其他桌面环境,请查看其网络管理器是否有插件): sudo apt-get install network-manager-l2tp-gnome
  3. 导航到设置>网络>单击+按钮>选择“第2层隧道协议(L2TP)”

  4. 为新的VPN连接命名

  5. 将主机名或地址放在网关字段中。
  6. 将用户名放在用户名字段中。
  7. 单击“密码”字段中的图标,然后选择如何提供密码的首选项。
  8. 单击IPSec设置...
  9. 单击“启用到L2TP主机的IPsec隧道”框
  10. 在“预共享密钥”字段中输入共享密钥。
  11. 将网关ID字段留空。
  12. 展开高级选项区域
  13. 在“阶段1算法”框中输入“ 3des-sha1-modp1024”。
  14. 在“阶段2算法”框中输入“ 3des-sha1”。
  15. 保持选中“强制UDP封装”复选框。
  16. 单击确定。
  17. 单击保存。
  18. 打开终端并输入以下命令以永久禁用 xl2tpd服务: sudo service xl2tpd stop sudo systemctl disable xl2tpd
  19. 打开“网络设置”,然后尝试打开VPN。

解决方案是使用算法并检查“强制UDP封装”!谢谢
byf-ferdy '18


3

讨厌破坏此线程,但使用Meraki MX防火墙可能会帮助其他人。

首先,删除所有以前的VPN内容。

提示:您可以通过以下方法终止VPN连接以排除故障:

sudo tail -f /var/log/syslog

添加上述存储库:

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

然后添加依赖项:

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

然后为gui添加gnome网络管理器:

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

重启

如果您有Meraki设备,则必须输入阶段1和阶段2算法:

转到“ VPN”标签上的“ IPsec设置...”,下拉“高级”区域,然后输入以下内容:

阶段1算法:3des-sha1-modp1024阶段2算法:3des-sha1

在此处输入图片说明


感谢您未设置网关ID的图片,这使我脑中点击了它,可能是空的或FQDN,我相信如果空将/etc/ipsec.d/nm-l2tp-ipsec-*.secrets文件的左侧“ 空白” 留空(的左侧:),则可能会增加连接的几率如果通过NAT或其他某种方式,从VPN主机返回的数据包可能并不总是直接匹配,尽管默认情况下确实会回落到IP。
Dragon788
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.