我已经建立了一个OpenVPN 服务器在我的 OpenWRT 路由器上。它提供TLS-加密-v2所以我用了它。为了确保我的 Ubuntu 20.04LTS 能够与之配合,我根据互联网更新了所有看起来方便的东西:
mkdir -p /etc/apt/keyrings
curl -fsSL https://swupdate.openvpn.net/repos/repo-public.gpg | gpg --dearmor > /etc/apt/keyrings/openvpn-repo-public.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/openvpn-repo-public.gpg] https://build.openvpn.net/debian/openvpn/release/2.6 focal main" > /etc/apt/sources.list.d/openvpn-aptrepo.list
apt-get update
apt-get install openvpn
apt-get install openvpn-dco-dkms
所以我现在有 OpenVPN 2.6.6,它必须与服务器配合。它确实做到了,
sudo openvpn --config client.ovpn
连接顺利!现在是时候将 .ovpn 导入网络管理器 (NM) 了。
这就是我所坚持的地方。
我已经更新了 NM 以确保:
sudo apt install network-manager-openvpn network-manager-openvpn-gnome
现在我有 nmcli 版本 1.22.10,根据github看起来足够新,可以用 tls-crypt-v2 来解决。通过 GUI 和 nmcli 导入均失败。后者表示(尽管有版本号)
Error: failed to import 'client.ovpn': configuration error: unsupported blob/xml element (line 9).
第 9 行是 tls-crypt-v2 标签。多年来,NM 并不是导入时最有用的工具。没问题,我已将 .ovpn 拆分为 ca.crt、client.crt 和 client.key。手动设置连接后,它仍然不起作用。我在 syslog 中找到的唯一有用线索是:
Oct 3 13:08:10 gep2 nm-openvpn[29902]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Oct 3 13:08:10 gep2 nm-openvpn[29902]: TLS Error: TLS handshake failed
路由器日志如下所示:
Tue Oct 3 13:10:24 2023 daemon.err openvpn(server)[2339]: TLS Error: could not determine wrapping from [AF_INET]100.112.152.143:48721
弱点可能是切片和手动导入,但它们看起来很简单。
知道如何进一步行动吗?有没有人设法让 NM 与任何与 tls-crypt-v2 相关的东西合作?