Openconnect pulse VPN 在 ubuntu 20 中一段时间后会断开连接,并出现“ESP 检测到对等端已死”错误。在 ubuntu 18 中,它运行良好并保持连接很长时间。请帮助解决此问题。
重要的:
- OpenConnect v8.0+ 支持脉冲协议和Juniper 协议. 大多数 Pulse VPN 支持两个都。
- 最初的描述指的是“Pulse”,但海报几乎可以确定使用“Juniper/oNCP”协议连接到VPN,因为OpenConnect开发人员随后发现并修复了OpenConnect v8.04-v8.10中的一个错误(问题 #322) 与这里描述的症状完全相符,但具体影响 Juniper 协议的用户。
答案1
Openconnect pulse VPN 在 ubuntu 20 中一段时间后会断开连接,并出现“ESP 检测到对等端已死”错误。在 ubuntu 18 中,它运行良好并保持连接很长时间。请帮助解决此问题。
更新:此问题应该在最近发布的OpenConnect v8.20。
我假设你确实在使用该--protocol=nc
选项,从而与年长的瞻博网络/oNCP协议,而不是较新的(但支持程度较低)脉冲协议。(大多数 Juniper/Pulse 服务器都支持这两种协议。)假设如此……
我们在 Juniper 重新密钥/重新连接中发现了一个微妙的错误,该错误出现在 OpenConnect v8.04 中。感谢一位敬业的用户的努力,他能够贡献详细的日志(请参阅问题 #322),我已经能够编写一个修复程序来修复它:合并请求 !293。
请从源代码进行编译并测试,以便我们可以自信地将其包含在下一个版本中。
(我是 OpenConnect 的核心开发人员之一。)
答案2
问题出在 UDP 上。您禁用了 DTLS 和 ESP。如果您使用 NetworkManager,则输入“openconnect --no-dtls”,
sudo mv /usr/sbin/openconnect /usr/sbin/openconnect.bin;
sudo vi /usr/sbin/openconnect
#!/bin/bash
/usr/sbin/openconnect.bin --no-dtls "$@"
保存 /usr/sbin/openconnect
sudo chmod 755 /usr/sbin/openconnect;
答案3
对我来说有问题的版本是 8.05-1,目前在 Ubuntu 20 中提供。
恢复到 Ubuntu 18.04 的 OpenConnect 版本。如果以下代码片段中的软件包不再可用,请在https://packages.ubuntu.com/bionic/
sudo apt purge libopenconnect5 openconnect
wget http://security.ubuntu.com/ubuntu/pool/universe/o/openconnect/libopenconnect5_7.08-3ubuntu0.18.04.2_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/universe/o/openconnect/openconnect_7.08-3ubuntu0.18.04.2_amd64.deb
sudo dpkg -i openconnect_7.08-3ubuntu0.18.04.2_amd64.deb libopenconnect5_7.08-3ubuntu0.18.04.2_amd64.deb
sudo apt-mark hold libopenconnect5 openconnect
答案4
如果你想恢复到 18.04 版本,此外,libopenconnect5
您openconnect
还需要network-manager-openconnect
和network-manager-openconnect-gnome
重新安装正确的版本,因为一旦您清除 openconnect,它们就会被删除。它们还需要libnm-glib-vpn1
和libnm-util2
。
您可以查看正确的下载版本:
- https://packages.ubuntu.com/bionic/net/network-manager-openconnect
- https://packages.ubuntu.com/bionic/net/network-manager-openconnect-gnome
- https://packages.debian.org/stretch/libnm-util2
- https://packages.debian.org/stretch/libnm-glib-vpn1
因此,更完整的命令列表是:
sudo apt purge libopenconnect5 openconnect
wget http://security.ubuntu.com/ubuntu/pool/universe/o/openconnect/libopenconnect5_7.08-3ubuntu0.18.04.2_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/universe/o/openconnect/openconnect_7.08-3ubuntu0.18.04.2_amd64.deb
wget http://dk.archive.ubuntu.com/ubuntu/pool/universe/n/network-manager-openconnect/network-manager-openconnect_1.2.4-1_amd64.deb
wget http://dk.archive.ubuntu.com/ubuntu/pool/universe/n/network-manager-openconnect/network-manager-openconnect-gnome_1.2.4-1_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/n/network-manager/libnm-glib-vpn1_1.6.2-3+deb9u2_amd64.deb
wget http://ftp.de.debian.org/debian/pool/main/n/network-manager/libnm-util2_1.6.2-3+deb9u2_amd64.deb
sudo dpkg -i openconnect_7.08-3ubuntu0.18.04.2_amd64.deb libopenconnect5_7.08-3ubuntu0.18.04.2_amd64.deb libnm-util2_1.6.2-3+deb9u2_amd64.deb libnm-glib-vpn1_1.6.2-3+deb9u2_amd64.deb network-manager-openconnect_1.2.4-1_amd64.deb network-manager-openconnect-gnome_1.2.4-1_amd64.deb
sudo apt-mark hold openconnect libopenconnect5 network-manager-openconnect network-manager-openconnect-gnome
可能还需要启动(重新启动)网络管理器:
sudo service network-manager restart
自从我降级以来,它一直运行正常,过去可以ESP detected dead peer
在不到 30 分钟的时间内获得一个(大多数时候在前 10 分钟内),现在我已经使用了 4 个小时,VPN 仍然在运行!
监控
您可以使用以下方式查看日志:
sudo journalctl -f -u NetworkManager.service
并注意类似这样的情况“ESP 检测到死亡对等体”
感谢上一个回答来自 @tsiren