openconnect
我在我的 Arch Linux(准确地说是 Antergos)中遇到了一些问题,我不知道是什么原因造成的。(虽然我习惯了 linux 和所有,但我对 VPN 和openconnect
.)非常陌生。)
我正在尝试通过 2 种方法连接到我大学的 VPN。我首先按照说明创建一个 Cisco AnyConnect 兼容 VPN 并输入名称和网关。
当我这样做并尝试通过网络管理器小程序连接时,它不起作用。当我翻转 VPN 开关时,它会立即翻转回来,仅此而已。没有错误消息或任何东西。
我正在尝试的第二种方法是通过命令行。所以我试试这个
$ sudo openconnect -u myusername my.gateway.edu
(从现在开始,我将用my.gateway.edu
用户名和模糊相关 IP 替换实际网关)
这是我从该输入中获得的日志:
POST https://my.gateway.edu/
Connected to 164.**.**.**:443
SSL negotiation with my.gateway.edu
Server certificate verify failed: signer not found
Certificate from VPN server "my.gateway.edu" failed verification.
Reason: signer not found
To trust this server in future, perhaps add this to your command line:
--servercert sha256:bb2476a96b88357fe74f28a347ba549a2af4bea8668e30a77e1a8295f466bfdc
Enter 'yes' to accept, 'no' to abort; anything else to view: yes
Connected to HTTPS on my.gateway.edu
Got HTTP response: HTTP/1.1 401 Unauthorized
Error generating GSSAPI response:
gss_init_sec_context(): Unspecified GSS failure. Minor code may provide more information
gss_init_sec_context(): SPNEGO cannot find mechanisms to negotiate
Server 'my.gateway.edu' requested Basic authentication which is disabled by default
GET https://my.gateway.edu/
Connected to 164.**.**.**:443
SSL negotiation with my.gateway.edu
Server certificate verify failed: signer not found
Connected to HTTPS on my.gateway.edu
Got HTTP response: HTTP/1.1 401 Unauthorized
No more authentication methods to try
GET https://my.gateway.edu/
Please enter your username.
POST https://my.gateway.edu/auth
Please enter your password.
Password:
POST https://my.gateway.edu/auth
Got CONNECT response: HTTP/1.1 200 CONNECTED
CSTP connected. DPD 90, Keepalive 32400
Connected as 169.**.***.**, using SSL
DTLS handshake failed: Resource temporarily unavailable, try again.
Failed to open tun device: No such device
Set up tun device failed
Unknown error; exiting.
我问过大学的 IT 支持,但他们也不知道发生了什么(我认为他们对 Arch Linux 不是很熟悉)。我尝试了其他一些事情,例如使用标志--script /etc/vpnc/vpnc-script
,但结果是一样的。
编辑
我最近通过 IT 人员看到这个网站,说我必须在连接之前创建一个隧道设备。即使这样做了,结果sudo openconnect -u myusername my.gateway.edu --interface tun1
仍然是一样的。
我刚遇到这个问题。上面的解决方案对我不起作用,但经过一番谷歌搜索后,我发现这个线程解释/假设问题是由
pacman -Syu
导致内核更新的问题引起的,因此,有一些不匹配的东西只需重新启动计算机即可解决。在我使用此链接创建隧道设备后,CLI 方法有效,即使 GUI 方法仍然失败。我也
networkmanager-vpnc
通过 pacman 安装,但我认为这与任何事情无关。我还通过 IT 人员发现,添加
--http-auth=Basic
标志可以消除一些错误。值得注意的是,即使在这一切之后,我仍然得到一个DTLS handshake failed
,即使我可以连接到我需要的服务器。