我正在尝试在 Ubuntu 23.10 的内置 VPN 设置中使用 .ovpn 文件
我进入设置菜单 --> 网络 --> VPN 旁边的“+”按钮
我单击“从文件导入...”并导航到我的.ovpn 文件。
它似乎可以工作,但从未连接。在同一台机器上的 Windows VM 上,我使用 OpenVPN 客户端和相同的文件,它工作正常,所以这不是文件配置的问题。
我需要在高级设置中执行任何操作才能使其工作吗?这里的其他 ovpn 帖子似乎很旧,与 Ubuntu 的现代版本无关。我也尝试使用 CLI 命令,nmcli connection import type openvpn file <.opvn file>
该命令再次正确导入它但无法连接(与 GUI 的行为相同)。
在 syslog 中,我得到了它nm-openvpn[22624]: read UDPv4 [EHOSTUNREACH]: No route to host (fd=5,code=113)
,但正如我所说,它在我的 VM 上的同一台机器上运行。
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
答案1
@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 应用程序并且它可以正常工作!