我正在尝试在 Ubuntu 23.10 中的内置 VPN 设置上使用 .ovpn 文件
我进入设置菜单 --> 网络 --> VPN 旁边的“+”按钮
我单击“从文件导入...”并导航到我的 .ovpn 文件。
它似乎有效,但从未连接。在同一台计算机上的 Windows VM 上,我使用 OpenVPN 客户端和相同的文件,它工作得很好,所以这不是文件配置。
我需要在高级设置中执行任何操作才能使其正常工作吗?这里的其他 ovpn 帖子似乎很旧,并且与现代版本的 Ubuntu 无关。我还尝试使用 CLI 命令nmcli connection import type openvpn file <.opvn file>
,该命令再次正确导入但无法连接(与 GUI 的行为相同)。
在系统日志中,我得到了nm-openvpn[22624]: read UDPv4 [EHOSTUNREACH]: No route to host (fd=5,code=113)
,但正如我所说,它可以在我的虚拟机上的同一台机器上运行。
UFW 未启用,因此端口已打开。
更新:
我切换到端口 1193 尝试使用 nc,我可以看到 1193 正在监听:
~$ nc -v -u -z -w 3 <myIP> 1193
Connection to <myIP> 1193 port [udp/*] succeeded!
期刊输出:
Jan 29 16:46:49 markswift3 nm-openvpn[6429]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Jan 29 16:46:49 markswift3 nm-openvpn[6429]: TCP/UDP: Preserving recently used remote address: [AF_INET]<myIP>:1193
Jan 29 16:46:49 markswift3 nm-openvpn[6429]: UDPv4 link local: (not bound)
Jan 29 16:46:49 markswift3 nm-openvpn[6429]: UDPv4 link remote: [AF_INET]<myIP>:1193
Jan 29 16:46:55 markswift3 nm-openvpn[6429]: [server] Peer Connection Initiated with [AF_INET]<myIP>:1193
Jan 29 16:46:56 markswift3 nm-openvpn[6429]: AUTH: Received control message: AUTH_FAILED,Data channel cipher negotiation failed (no shared cipher)
Jan 29 16:46:56 markswift3 nm-openvpn[6429]: SIGUSR1[soft,auth-failure] received, process restarting
Jan 29 16:46:57 markswift3 nm-openvpn[6429]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Jan 29 16:46:57 markswift3 nm-openvpn[6429]: TCP/UDP: Preserving recently used remote address: [AF_INET]<myIP>:1193
Jan 29 16:46:57 markswift3 nm-openvpn[6429]: UDPv4 link local: (not bound)
Jan 29 16:46:57 markswift3 nm-openvpn[6429]: UDPv4 link remote: [AF_INET]<myIP>:1193
Jan 29 16:47:08 markswift3 systemd[1]: systemd-hostnamed.service: Deactivated successfully.
我的 .ovpn 文件如下所示(附加了密钥):
client
dev tun
proto udp
remote <myIP> 1193
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
verb 3
@codlord 为我解决了这个问题(参见 OP 的评论)。
我必须在服务器和客户端中禁用密码指令,并允许 OpenVPN 在允许的密码列表本身中协商密码。事实证明,Windows 和 Linux 使用不同的列表,这就是我的 Win 11 VM 正常工作的原因。
为此,我注释掉了
#cipher AES-256-CBC
服务器和客户端配置中的行。在 Linux 中,服务器配置位于 /etc/openvpn/server/server.conf 客户端配置位于设置新客户端时生成的 .ovpn 文件中。然后,因为我使用 Ubuntu 的控制面板(网络管理器)来管理 VPN,所以我必须更改屏幕:
并将密码下拉列表从 更改
AES-256-CBC
为Default
。重新启动两个 OpenVPN 应用程序,它就可以工作了!