升级到24.10后Cisco VPN连接失败,姿态评估报错求助
问题描述
升级到Ubuntu 24.10后,我的Cisco AnyConnect VPN完全连不上了,一直弹出姿态评估失败的提示,终端里还报XML解析错误,具体操作日志如下:
sunny@sunny-XPS-15-9510:~/Downloads$ sudo /opt/cisco/anyconnect/bin/vpnui
Entity: line 33: parser error : Extra content at the end of the document^
Entity: line 33: parser error : Extra content at the end of the document^
VPN> connect Eningen
connect Eningencontacting host (Eningen) for login information...
notice: Contacting Eningen.
notice: Posture Assessment: Required for access
notice: Posture Assessment: Checking for updates...
notice: Posture Assessment: Initiating...
Entity: line 33: parser error : Extra content at the end of the document^
notice: Posture Assessment: Updating...
notice: Posture Assessment: Initiating...
Entity: line 33: parser error : Extra content at the end of the document^
notice: Posture Assessment: Failed
warning: Connection attempt has failed.
解决方法
我之前帮朋友排查24.10的VPN问题时碰到过一模一样的情况,这其实是Ubuntu 24.10更新系统库后,和Cisco Hostscan旧版本依赖不兼容导致的XML解析错误。给你几个按优先级排序的解决办法:
优先尝试:替换Hostscan的libxml2依赖库
这个方法最直接,因为报错明确指向XML解析问题,就是Hostscan自带的旧版libxml2和系统不兼容:- 先杀掉所有Cisco相关进程,避免文件被占用:
sudo killall vpnui vpnagentd hostscan - 进入Hostscan的库目录:
cd /opt/cisco/anyconnect/hostscan/lib - 备份自带的旧库,然后软链接系统的新版libxml2:
sudo mv libxml2.so.2 libxml2.so.2.bak sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2 . - 重新启动VPN客户端,再尝试连接应该就能正常通过姿态评估了。
- 先杀掉所有Cisco相关进程,避免文件被占用:
如果上面的方法没用:降级Hostscan版本
要是替换依赖后还是有问题,可能是Hostscan整体和24.10不兼容,你可以找一个在Ubuntu 24.04上能正常工作的Hostscan安装包:- 先卸载当前的Hostscan:
sudo apt remove --purge cisco-anyconnect-hostscan - 安装旧版本的Hostscan包(可以找公司IT要兼容版本,或者从自己之前的备份里获取),安装完成后重启VPN客户端试试。
- 先卸载当前的Hostscan:
应急方案:临时禁用姿态评估(需公司政策允许)
如果你只是急着用VPN,且公司IT允许的话,可以临时把姿态评估改成可选:- 打开AnyConnect的配置文件(一般在
/opt/cisco/anyconnect/profile/目录下,找你对应的VPN配置XML文件):sudo nano /opt/cisco/anyconnect/profile/你的VPN配置文件.xml - 找到
<PostureAssessment>Required</PostureAssessment>这一行,把Required改成Optional,或者直接用<!-- -->把这段注释掉。 - 保存文件后重启VPN,就能绕开姿态评估直接连接了。
- 打开AnyConnect的配置文件(一般在
备注:内容来源于stack exchange,提问作者Abhay Sapru

