Xerus – 缺少网络管理器的L2TP插件?

在我的Windows 7盒子上,我使用Cisco AnyConnect远程进入我的工作场所网络。 现在正在玩Xerus。 我使用nmcli建立了一个L2TP VPN连接,但没有太多运气激活它:

root@hannahdesktop:~# nmcli connection up work-VPN Error: Connection activation failed: The VPN service 'org.freedesktop.NetworkManager.l2tp' was not installed. 

我似乎无法找到据称包含它的包。 安装xl2tpd和strongswan没有帮助。 以下是我可以使用的Network-Manager插件的完整列表:

 root@hannahdesktop:~# apt-cache search network-manager network-manager - network management framework (daemon and userspace tools) network-manager-dev - network management framework (development files) network-manager-gnome - network management framework (GNOME frontend) network-manager-pptp - network management framework (PPTP plugin core) network-manager-pptp-gnome - network management framework (PPTP plugin GNOME GUI) network-manager-iodine - network management framework (iodine plugin core) network-manager-iodine-gnome - network management framework (iodine plugin GNOME GUI) network-manager-openconnect - network management framework (OpenConnect plugin) network-manager-openconnect-gnome - network management framework (OpenConnect plugin GNOME GUI) network-manager-openvpn - network management framework (OpenVPN plugin core) network-manager-openvpn-gnome - network management framework (OpenVPN plugin GNOME GUI) network-manager-ssh - network management framework (SSH plugin core) network-manager-ssh-gnome - network management framework (SSH plugin GNOME GUI) network-manager-strongswan - network management framework (strongSwan plugin) network-manager-vpnc - network management framework (VPNC plugin core) network-manager-vpnc-gnome - network management framework (VPNC plugin GNOME GUI) mate-gnome-main-menu-applet - GNOME start menu applet for MATE strongswan-nm - strongSwan plugin to interact with NetworkManager 

我尝试安装第三方VPN客户端并设置它们而不是网络管理器,但我测试的两个(Ike和另一个)在安全设置方面非常冗长。 我所拥有的只是vpn服务器地址,我的用户名,密码和NT域。 如果Network-Manager不再支持L2TP,我很乐意尝试其他客户端,但可能需要ELI5手册。 任何提示将不胜感激

在问到这个问题6个月后,不确定人们是否还有兴趣,但我想我有一个解决方案。 这在Kubuntu 16.10上对我有用。

编译

正如user563731所述,network-manager-l2tp插件在Ubuntu或Debian存储库中不可用,必须从源代码编译。

  1. 安装所需的包进行编译:

     sudo apt install git 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 
  2. 从network-manager-l2tp GitHub存储库下载源代码并切换到新创建的目录:

     git clone https://github.com/nm-l2tp/network-manager-l2tp.git cd network-manager-l2tp 
  3. 运行从存储库下载的autogen.sh脚本:

     ./autogen.sh 
  4. 在README文件中配置为Debian / Ubuntu指定的编译选项:

     ./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 
  5. 用make编译。 这可能要花点时间:

     make 
  6. 将生成的文件复制到正确的位置。 据我所知,尽管创建了大量的make进程,但只需要复制4个文件:

     cp nm-l2tp-service.name /usr/lib/NetworkManager/VPN/ cp nm-l2tp-service.conf /etc/dbus-1/system.d/ cp src/nm-l2tp-service /usr/lib/NetworkManager/ cp src/.libs/nm-l2tp-pppd-plugin.so /usr/lib/pppd/2.4.7/ 

其他解决方法和故障排除

我只列出了我遇到的问题。 有关其他疑难解答,请务必查看下面“来源”部分中的链接。

AppArmor拒绝访问charon或stroke

当你连接时,你可能会看到/ var / log / syslog中的错误“apparmor DENIED / usr / lib / ipsec / charon”或“从套接字读取失败:权限被拒绝”。 解决方法是禁用charon和stroke的AppArmor配置文件:

 sudo ln -s /etc/apparmor.d/usr.lib.ipsec.charon /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.lib.ipsec.charon sudo ln -s /etc/apparmor.d/usr.lib.ipsec.stroke /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.lib.ipsec.stroke 

端口1701很忙,使用短暂的

/ var / log / syslog中出现的此错误表示xl2tpd已在运行。 确保守护程序未运行:

 systemctl stop xl2tpd 

然后禁用它以确保它在下次重新启动时不再启动:

 systemctl disable xl2tpd 

network-manager-l2tp插件喜欢按需启动和停止此守护进程,因此最好将其禁用。

我遇到的一些小问题,我没有解决方案,但生活并不太可怕

  • 在VPN连接的持续时间内,/ var / log / syslog充斥着“xl2tpd:network_thread:无法找到呼叫或隧道来处理数据包”。 我不知道这意味着什么或如何解决它。
  • 当VPN断开连接时,它会留下一个“ppp0”网络接口。 重新连接时,它会创建一个新的“ppp1”网络接口。 它似乎无限期地执行此操作,并且在您重新启动之前不会删除它们中的任何一个。
  • VPN隧道另一侧的远程DNS服务器不会自动分配。 我必须手动将DNS设置添加到连接设置中的“IPv4”选项卡。

来源

  • 步骤1,6和AppArmor解决方法: https : //github.com/nm-l2tp/network-manager-l2tp/issues/12
  • 步骤3到5: https : //github.com/nm-l2tp/network-manager-l2tp/blob/master/README.md

您可以使用

 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/

NetworkManager-l2tp是NetworkManager 1.2的VPN插件,它支持L2TP和L2TP / IPsec(即L2TP over IPsec)连接。

目前,您需要从源代码构建network-manager-l2tp,请参阅:

感谢所有帮助者,特别是顶级助手。

我设法通过一个简单的5 线程脚本运行它(需要轻松安装两个软件包, openvpnopenconnect ):

 sudo ifconfig tun1 down sudo openvpn --rmtun --dev tun1 sudo openvpn --mktun --dev tun1 sudo ifconfig tun1 up echo YourPasswordGoesHere | sudo openconnect your.vpn.hostname.com --authgroup=ADGroupName --user=hannah.sha3 --passwd-on-stdin --interface=tun1 -b 

第一条线路会杀死隧道设备,以防它从之前徘徊。 我知道,不是很干净。 如果有人想让它更漂亮,他们可以将变量(用户名,密码,主机名)保存在另一个文件中并限制对它的权限。

连接下来:

 nmcli device disconnect tun1 

我遇到了同样的问题。 首先complite主要安装:

 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-openvpn-gnome 

它解决了我的问题。