VPN openconnect pulse 在 Ubuntu 20 中自动断开连接

VPN openconnect pulse 在 Ubuntu 20 中自动断开连接

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 版本,此外,libopenconnect5openconnect还需要network-manager-openconnectnetwork-manager-openconnect-gnome重新安装正确的版本,因为一旦您清除 openconnect,它们就会被删除。它们还需要libnm-glib-vpn1libnm-util2

您可以查看正确的下载版本:

因此,更完整的命令列表是:

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

相关内容