我在Ubuntu16.04LTS上使用OpenConnectonUbuntu16.04LTS成功地连接到我的虚拟专用网已有一段时间了,我使用以下选项调用Juniper支持并设置了一个SOCKS5隧道
(请注意,真实的VPN已被vpn.company.com替换)
openconnect --juniper
--script-tun --script "/usr/bin/ocproxy -D 11080"
--cafile=/etc/ssl/certs/vpn1.company.com.der
https://vpn.company.com
在午餐重新启动之后,我再也无法重新连接,而是得到了以下以错误结尾的记录:
WARNING: Juniper Network Connect support is experimental.
It will probably be superseded by Junos Pulse support.
GET https://vpn.company.com/
Attempting to connect to server XXX.XXX.XXX.XXX:443
SSL negotiation with vpn.company.com
Connected to HTTPS on vpn.company.com
Got HTTP response: HTTP/1.1 302 Found
GET https://vpn.company.com/dana-na/auth/url_default/welcome.cgi
SSL negotiation with vpn.company.com
Connected to HTTPS on vpn.company.com
frmLogin
GET https://vpn.company.com/dana-na/auth/url_default/welcome.cgi
SSL negotiation with vpn.company.com
Connected to HTTPS on vpn.company.com
frmLogin
Failed to obtain WebVPN cookie
网络支持团队不知道他们的Juniper VPN有什么问题,但我突然连密码提示都没有。
发布于 2018-08-27 21:46:11
最终的解决方案是对Openconnect进行手动升级。
通过apt-get install --upgrade-only openconnect
,我确认我已经使用了最新版本(7.06-2build2)
I 下载最新版本 (7.08)和手工建造的。由于vpnc-scripts
包将vpnc-脚本放置在与默认位置不同的位置,所以我需要给出该信息configure
。我也不关心缺少DTLS支持,所以告诉它只使用我当前版本的openssl:
./configure --with-vpnc-script=/usr/share/vpnc-scripts/vpnc-script --without-openssl-version-check
此外,还添加了构建所需的一些缺少的包--在我的例子中是libxml2
、libxml2-dev
和pkg-config
。
最后,由于Xenial打包使用的是GnuTLS,但我的构建使用的是OpenSSL,所以它无法将cert文件作为.der读取并获得Failed to open CA file
。通过将其转换为.pem ( OpenSSL默认值)来修正这个问题:
openssl x509 -in /etc/ssl/certs/vpn1.company.com.der -inform der
-out /etc/ssl/certs/vpn1.company.com.pem -outform pem
我怀疑VPN服务器端发生了变化,开始发送“预登录消息”,即现在的7.08支持。
https://askubuntu.com/questions/1069552
复制相似问题