openvpn
当尝试使用through连接到 VPN 时NetworkManager
,失败并显示
Apr 17 02:03:17 GAMINGSTATION NetworkManager[1922]: <info>
[1523923397.5294] audit: op="connection-activate"
uuid="186c555a-dd51-4dc1-97c9-70d93c30713d" name="kit"
pid=1976 uid=1000 result="fail" reason="Could not find source connection."
但是,openvpn
直接使用时,连接有效。
我发现多个线程表明NetworkManager
需要管理默认网络设备,但情况确实如此:
$ nmcli device status
DEVICE TYPE STATE CONNECTION
br0 bridge connected br0
enp3s0 ethernet connected enp3s0
lo loopback not managed --
这里可能有什么问题?
注意:这个问题看起来非常相似当命令行工作时,使用网络管理器连接到 VPN 时出现问题,但是这个问题没有任何有用的答案。
答案1
我发现这个错误更奇怪。
$ nmcli c up VPN
错误:连接激活失败:找不到源连接。
$ nm-applet # click icon, VPN, VPN
作品!
我了解到网络管理器在允许 VPN 之前首先检查它是否“拥有默认路由”。
任何路由都可以:您可以使用默认路由 127.0.0.1 来满足它。当您的 VPN 网关是 ipv6 时,您可以为其指定默认 ipv4 路由。它不关心这些小细节:)
答案2
我为此进行了长期的斗争,但我是如何使用网络管理器和 GUI 在 Ubuntu 18 中找到解决该问题的方法的:
下载GUI包
$ sudo apt-get install network-manager-openvpn network-manager-openvpn-gnome
网络管理员更改 [ifupdown] Managed=true
$ sudo nano /etc/NetworkManager/NetworkManager.conf
.
.
[ifupdown]
managed=true
.
.
config.ovpn
从 GUI导入
(Settings -> Network -> VPN -> +)
检查从自动创建的连接文件中导入的连接 ID。 (该文件应命名为 config,id 也应为 config,但它们可以是其他名称)
$ sudo grep /etc/NetworkManager/system-connections/config | grep "^id"
更改呈现给 NetworkManager 并在以太网中添加新的连接 ID
$ sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s25:
dhcp4: yes
config:
dhcp4: yes
应用更改
$ sudo netplan apply
重新启动网络管理器
$ sudo service network-manager restart
从 GUI 或使用 nmcli 打开连接
$ nmcli connection up config
答案3
从 Ubuntu MATE 16.04 升级到 18.04 后,我遇到了同样的问题。看来升级对于网络管理器来说并不完美。最初我的面板中没有 NM 图标。通过将 nm-applet 安装回面板来修复该问题后,似乎没有任何工作(除了到我的 LAN 的默认 NIC 连接)。
然后,在深入研究其他用户的帖子后,我发现我的 VPN 连接需要使用 OpenSSL 更新进行升级,这意味着我必须从我之前用作密码的 .p12 中提取 cert、key 和 ca 文件网络管理器中的 OpenVPN 功能将不再起作用。这样做之后,它似乎有效,但在尝试连接等方面没有显示任何活动。
当我将有线以太网设置为“托管”时,这一切对我来说是这样的:
sudo vi /etc/NetworkManager/NetworkManager.conf
然后将管理 = false 行更改为管理 = true
这仍然没有成功,但后来我在网络管理器设置中关闭了有线连接的 IPV6。
仍然不走运,但是一旦我进入有线连接 IPv4 设置并手动设置默认路由(我的连接设置为“手动”而不是 DHCP),一切就开始工作了。我也在我的笔记本电脑上完成了所有这些操作,但由于它使用了 DHCP 连接,因此似乎不需要这样做,因为它从安装后就可以正常工作。
设置默认路由后,我重新启动网络管理器:
sudo service network-manager restart
然后就成功了。它在 CLI 和 NM Applet 上都有效。
答案4
我在 Ubuntu 18.04.4LTS 上遇到了同样的问题。就我而言,接口 ENS33(物理)缺少默认网关设置。当我将默认网关 IP 添加到接口 ENS33 上的 IPv4 设置后,OpenVPN 就可以通过网络管理器运行。