如何使用网络管理器为L2TP/IPSEC添加服务器认证的预共享密钥?

enter image description here

之前,我一直在尝试弄清楚如何安装L2TP/IPSEC管理器代码。我猜Ubuntu/Canonical从OpenSwan切换到了StrongSwan,但并没有真正宣布。所以在这个AskUbuntu的问题中找到了答案:L2TP IPsec VPN client on Ubuntu 14.10
自那时以来,我一直在努力弄清楚如何使用预共享密钥进行服务器身份验证。如截图所示,网络管理器允许使用证书(.pem文件),但不支持预共享密钥。
我的网络管理员不想折腾证书,因为对于我们正在处理的情况来说,预共享密钥已经足够好用了。我已经在Windows上测试过这些预共享密钥,效果很好。
他给了我4个信息:
- 服务器名称 - 该服务器的预共享密钥 - 用户名 - 该用户名的密码
我可以在这个截图上看到放置服务器名称和用户名的位置,但是找不到放置服务器的PSK或输入密码的地方(也许连接时会提示我输入密码)。
有人知道怎么做吗?
更新:所以我尝试了hackerb9的建议,但似乎没有任何效果。我还尝试了alci的建议,下载了L2TP的1.3.1版本的Network-Manager并手动编译。安装了一堆软件包并多次重新运行./configure后,我最终能够成功执行"make"和"make install"命令。
网络管理器的插件现在显示了一个预共享密钥选项,但仍然无法正常工作。它现在的样子是这样的:

enter image description here

这个问题是"证书"选项仍然显示(而不是预共享密钥字段)。
在这个Ubuntu Network Manager插件中,我应该在哪里输入服务器认证的预共享密钥?
作为对比的例子,在Windows 8中,有一个类似这样的选项:

enter image description here


2看起来PSK是在nm插件的1.3.1版本中添加的,但utopic(或者debian)只提供了1.3.0版本...请参考https://wiki.strongswan.org/issues/254。也许你应该尝试从http://download.strongswan.org/NetworkManager/构建它。 - alci
好的,我试试看。 - Pretzel
2所以,我下载了源代码,运行了./configure(需要安装5到10个缺失的软件包),然后运行make和make install。现在,在客户端的下拉菜单中,Pre-Shared Key显示为一个选项。不幸的是,Pre-Shared仍然不是服务器的选项。(我同时使用Pre-shared keys对服务器进行身份验证以及用户名/客户端身份验证。) - Pretzel
1嘿@Pretzel。最后你解决了吗?我也遇到完全相同的问题(另外我使用的是Gnome 3),到目前为止还没有成功: S。 - jlengrand
3请注意,strongSwan不支持L2TP/IPsec中的L2TP部分,只支持IPsec。Network Manager StrongSwan中的所有设置都与IKEv2相关。 - user448115
2个回答

如果您想要一个图形用户界面的解决方案,可以从ppa安装 L2TP 网络管理器插件。
操作步骤如下:
sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp
sudo apt-get update
sudo apt-get install network-manager-l2tp-gnome

它适用于trusty和xenial,但作者没有为vivid构建软件包。
安装软件包后,您将能够在网络管理器中配置L2TP连接。
更新:现在这些软件包已经包含在官方的Ubuntu存储库中,不再需要PPA来安装Ubuntu 18.04+。
对于新的Ubuntu版本,只需运行以下命令:
sudo apt-get install network-manager-l2tp-gnome

enter image description here enter image description here enter image description here enter image description here


不适用;没有配置任何群组。 - Oxwivi
你有检查“启用IPsec”吗? - Pilot6
1抱歉如果让您感到困惑了;我的意思是,我有一个PSK但没有“组”。启用隧道不允许我定义没有组名的PSK。 - Oxwivi
对我来说,这个方法适用于连接到Ubiquiti EdgeMAX。我使用了组名“nogroup”。在从PPA安装network-manager-l2tp后,我不得不重新启动。 - Jeroen Vermeulen - MageHost
那个第一个屏幕是从哪里来的? - KansaiRobot
它来自网络管理器 -> VPN - Pilot6
在Ubuntu 22.04上,我需要安装“network-manager-l2tp”软件包才能使用“L2TP IPSEC Options”选项。不需要添加ppa。 - PeterM
没错。该软件包已添加到Ubuntu仓库中。我在答案中有它。 - Pilot6

你对使用文本编辑器编辑配置文件感到舒适吗?如果是的话,我相信将PSK放在/etc/ipsec.secrets这个位置是正确的。你可以尝试类似以下的操作:
: PSK "strongSwan" 

文件的文档在man ipsec.secrets中,或者您可以在这里阅读相关内容:

https://wiki.strongswan.org/projects/strongswan/wiki/IpsecSecrets

如果这样做对您不起作用,请告诉我们。

编辑?当然,没问题。我会试一试并回报结果。 - Pretzel
3好的,我尝试了一下。它提示我输入密码,并显示“VPN连接失败,因为VPN密钥无效。”(顺便说一句,当Windows无法连接时,我发现它更有帮助性。通常会有一个错误代码/编号。我应该去哪里查找错误代码?/var/log/???) - Pretzel
1@Pretzel 你需要将这个信息(和另一个答案中的信息)添加到你的问题中,这样对于查看问题的新人来说就很明显了。 - Jorge Castro