导入 ovpn 配置文件后,我尝试通过网络管理器插件 (network-manager-openvpn) 连接到我的 OpenVPN 服务器。但是,我收到超时错误:
$ grep VPN /var/log/syslog
Oct 1 11:56:05 packer NetworkManager[997]: <info> Starting VPN service 'openvpn'...
Oct 1 11:56:05 packer NetworkManager[997]: <info> VPN service 'openvpn' started (org.freedesktop.NetworkManager.openvpn), PID 4700
Oct 1 11:56:05 packer NetworkManager[997]: <info> VPN service 'openvpn' appeared; activating connections
Oct 1 11:56:05 packer NetworkManager[997]: <info> VPN plugin state changed: starting (3)
Oct 1 11:56:05 packer NetworkManager[997]: <info> VPN connection 'vpnt' (Connect) reply received.
Oct 1 11:56:05 packer nm-openvpn[4703]: OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Dec 1 2014
Oct 1 11:56:46 packer NetworkManager[997]: <warn> VPN connection 'vpnt' (IP Config Get) timeout exceeded.
Oct 1 11:56:51 packer NetworkManager[997]: <info> VPN service 'openvpn' disappeared
通过控制台连接
sudo openvpn --config .openvpn/vpnt.ovpn
运行良好。
我不知道我错过了什么——并感谢任何想法。:)
答案1
我知道这个帖子已经很旧了,但我还是留下它以防有人遇到和我同样的问题。
我遇到了与 OP 相同的问题(可以通过命令行连接,但无法使用网络管理器连接),我注意到配置未正确加载 TLS 密钥。我通过单独存储 TLS-Crypt 静态密钥解决了此问题。
创建一个带有静态密钥的文件。密钥位于 .ovpn 文件中,以 < tls-crypt > 开头,以 </tls-crypt > 结尾。
通过设置告诉网络管理员在哪里找到密钥VPN(openvpn)-高级-TLS设置-模式到TLC 地穴。
放密钥文件到您刚刚创建的文件。
我自己还没有测试过,但您可能可以使用 TLS-Auth 做同样的事情。
答案2
一年之后 ...
我在使用从 PfSense 导出的 OpenVPN 连接时遇到了问题。它在命令行上运行良好,但在 NetworkManager 中却不行。事实证明,TLS 身份验证确实是问题所在。就我而言,在导入连接后,我必须在高级设置对话框中手动将密钥方向设置为 1。我把它留在这里,以防其他人遇到同样的问题(或者如果我忘记了并在一段时间后用谷歌搜索它 :J)。
答案3
Bogdan Tomasciuc 的解决方案对我也很有用:我收到消息“无法获取...的机密”,我无法解决这个问题。在网络管理器(在 kubuntu 上)的高级、TLS 设置下,密钥方向必须设置为“客户端 (1)”。
在我的 .ovpn 导入文件中,我确实看到了嵌入在文件中的 tls-auth 密钥下方的行
key-direction 1
,但似乎没有正确导入。
答案4
在我的例子中,.ovpn 文件中有一个(实际上)虚拟行,只有端口,没有远程地址,例如
remote 1234 tcp-client
而不是像这样,其中的一小部分紧接着上面的内容
remote 22.222.22.222 1234 tcp-client
这很可能是配置/生成错误。OpenVPN 可能会忽略此行并继续处理其他行。显然 nm-openvpn 插件不会以类似的方式忽略它。注释有问题的行使其正常工作。