错误:插件不支持导入功能,当尝试导入OpenVPN配置文件时。

Gnome网络管理器在将Ubuntu升级到16.04版本后无法导入任何openvpn配置文件(.ovpn);
当我尝试导入openvpn配置文件时,会收到以下错误消息:
The file 'file-x.ovpn' could not be read or does not contain recognized VPN connection information Error: the plugin does not support import capability

这个问题已经在这里得到解决和回答: http://askubuntu.com/questions/760664/ubuntu-16-04-openvpn?lq=1 - Kestrell
2嗨Kestrell...谢谢你的回答************* 我已经安装了所需的软件包,并成功手动设置了OpenVPN: **********但我的问题是,我无法使用网络管理器导入OpenVPN配置文件。 - ahooee
2你最后搞定了吗? - Seth
1在继续阅读之前,请确保已安装network-manager-openvpn。 - FlipMcF
11个回答

对我来说,问题出在我的.ovpn文件中的以下一行:
route remote_host 255.255.255.255 net_gateway

注释掉这行代码让我成功导入了连接。

3Ubuntu 18.04 还是出现了这个问题。将这行代码注释掉(来自 Sophos XG 配置文件)后问题得到解决。 - Jasin
ubuntu 19.04相同问题,将此行注释掉修复了错误。 - bestestefan
同样适用于Ubuntu 19.10(也适用于Sophos .ovpn配置文件)。 - Pabi
1同样适用于Ubuntu 20.04.01 LTS。 - Frank Schmitt
同样适用于Lubuntu 21.04 hirsute。 - OOM
1适用于Ubuntu 22.04的方法相同,谢谢! - Oleksandr Bratashov
这对我有用 - Zack Boniphace

我的设置

我也遇到了同样的问题,在Ubuntu 16.04客户端上尝试导入一个由家用pritunl服务器生成的.ovpn文件。

.ovpn文件包含注释行(#)以及内联证书(<ca><tls-auth><cert><key>)。并且没有明显的理由去删除注释或密钥。这个相同的.ovpn文件已经成功地导入到Kubuntu 16.04网络管理器中,只是有一个关于reneg-sec过高的警告;这是在Ubuntu 16.04上导入问题的线索。

解决OP的错误

  1. reneg-sec 的值过高并遇到已知的 导入错误

    reneg-sec 2592000
    

    请将其注释掉或使用默认值 3600

    #reneg-sec 2592000
    

    可以在 VPN 配置选项卡的 高级 设置中重新设置该值:

    reneg-sec

  2. 配置文件中有两个 remote 定义:

    remote hostname.org 14195 udp6
    remote hostname.org 14195 udp
    remote-random
    

    尝试只保留一个:

    #remote hostname.org 14195 udp6
    remote hostname.org 14195 udp
    #remote-random
    
在进行这两个修改后,就没有导入错误了。

remote配置的进一步问题

尽管不再有导入错误,但远程配置未被正确导入,即端口和协议未被正确解析,所以我必须进一步将.ovpn文件中的remote指令拆分如下。
    remote hostname.org
    port 14195
    proto udp

摘要

我的.ovpn文件包含了注释以及内联证书等内容。在阅读了一些其他帖子之后,我认为问题出在内联文件或者注释上,所以我将内联证书和密钥拆分成了单独的文件,并删除了所有的注释。

最终,在应用了上述修复措施之后,可以成功导入带有内联密钥和注释的.ovpn文件。


2谢谢,reneg-sec 值是我无法导入我的 .ovpn 文件的原因。这里有一个 network-manager 的错误报告:https://bugs.launchpad.net/ubuntu/+source/network-manager-openvpn/+bug/606365 - Cas
1谢谢,我也得在网络管理器的高级选项中勾选“使用LZO数据压缩”(我使用OpenVPN Access Server)。而且要小心DNS泄漏!如果没有防火墙规则来阻止以太网/ WiFi接口上的DNS查询,即使使用自己的DNS服务器IP并且在OpenVPN 2.3.10中使用“block-outside-dns”规则(通过网络管理器),仍然会发生DNS泄漏。您可以在https://www.dnsleaktest.com/上检查DNS泄漏,并使用Wireshark等工具进行再次验证。 - baptx
将证书拆分为其他文件后,我成功地导入了它们。此外,为了使其正常工作,我还必须使用 tls-remote 而不是 verify-x509-name - Pierre de LESPINAY
2通过谷歌搜索,似乎有很多很多原因导致文件无法解析。难道没有办法获得更详细的错误信息来解释导入.ovpn文件时发生的解析错误吗? - Antonello

我也有Ubuntu 16.04,而且遇到了同样的问题。 解决方案并不是一个很好的解决方案,因为你需要另一台已经连接了VPN的电脑。
请在终端中检查是否已经安装了openvpn和network-manager:
$ sudo apt install openvpn network-manager-openvpn network-manager-openvpn-gnome
$ sudo systemctl restart network-manager

通常情况下,这应该可以工作,但在极少数情况下(我不知道为什么 - 我猜可能是个错误),无法导入 .ovpn 文件。
所以,请按照以下步骤进行操作:
  1. 在已经与 VPN 建立连接的计算机上,选择 VPN 连接

  2. 清空密码

  3. 点击导出按钮

此时,你将得到一个 ".conf" 文件。
  1. 打开 ".conf" 文件并编辑其中引用了计算机文件的部分(如果有的话)

  2. 在你的计算机上,使用 ".conf" 文件创建一个新的连接。


那也发生在我身上。幸运的是,我已经配置好了一台笔记本电脑,可以利用那个技巧来配置我的新电脑。不过需要注意的是:我必须再次配置用户名、密码、密钥文件和高级TLS密钥文件。 - igorsantos07


不需要更改配置文件;这节省了我的时间。 - Abu Sayem

$ sudo openvpn --config file.ovpn

工作对我来说-我可以隧道,但是我需要记住本地IP,因为我没有配置本地DNS。

在我的情况下,有必要从*.ovpn文件中删除所有的注释(以#开头)。一些人还发现包含"remote SERVER NNNN"的行应该拆分为"remote SERVER"和"port NNNN"。

2我可以确认,从.ovpn文件中删除评论解决了我的问题。 - George D

编辑*.ovpn文件

可能是由于无法解析.opvn文件中的设置而引起的。

首先确保您已安装所需的软件包:

sudo apt update && sudo apt install network-manager-openvpn-gnome network-manager-openvpn openvpn

如果仍然失败,请在文本编辑器中编辑*.ovpn文件,并删除破坏导入的以下行。

<he>标签

如果客户端ovpn配置文件中有<he>标签,请删除这些行。它是不需要的:

<he>
...
</he>

多个连接细节

如果有类似的情况:

<connection>
remote <ip> 443 tcp-client
</connection
<connection>
remote <ip> 1194 udp
</connection>

将该部分替换为以下内容:

remote <ip> 1194 udp

导入遇到多个连接,并不支持标签。至少在16.04-17.04版本中是这样的。
就我看来,你可以保留评论,它们没有任何区别。
在删除标签并编辑连接部分后,尝试导入修改后的*.ovpn文件。请参考此博文中的解决方案

这就是我所能做的了! - tnfru

我在一个全新的Ubuntu 18.04安装上遇到了同样的问题。令我惊讶的是,openVPN并没有默认安装。
我发现这是因为当我在“设置->网络->VPN”部分点击“+”号时,对话框只有两个选项,即没有Open VPN选项。
我按照1的指示安装了openvpn,并重新启动了网络管理器,之后一切都正常工作了,我可以在弹出窗口中看到OpenVPN选项image attached
sudo apt install openvpn network-manager-openvpn network-manager-openvpn-gnome
sudo systemctl restart network-manager

Joao Paulo的建议


我在使用网络管理器导入.ovpn文件时遇到了这个问题。 我通过将远程行更改为
remote vpn.example.com 1190 udp 来解决了这个问题。

对我来说,我必须在.ovpn文件中进行以下更改:
remote ***.org 443 tcp-client

To:

proto tcp
remote ***.org 443

而且,正如@Kostas Filios所指出的那样,我不得不将这部分改为注释。
#reneg-sec 2592000