如何在 Ubuntu 19.04 上自动连接到 VPN

如何在 Ubuntu 19.04 上自动连接到 VPN

如果我使用nm-connection-editor并选中“自动连接到 VPN”,则 WiFi 不会启动。如果我取消选中它,WiFi 会启动,但我必须手动启动 VPN。

在终端中,选中复选框并保存时我可以看到此警告

(nm-connection-editor:2052): Gtk-WARNING **: 18:37:51.050: GtkGrid does not have a child property called expand

(nm-connection-editor:2052): Gtk-WARNING **: 18:37:51.055: GtkGrid does not have a child property called fill

编辑1:截图: 连接 自动 VPN

编辑2: 切换到 TCP 模式似乎可以停止断开连接

答案1

我的版本与你的版本最相似,它使用的连接配置文件位于/etc/NetworkManager/system-connections

一些可能有用的连接配置文件设置;文档取自nm-设置developer.gnome.org

autoconnect-priority <int32>

自动连接优先级。如果连接设置为自动连接,则优先选择优先级较高的连接。默认为 0。数字越大,优先级越高。

autoconnect-slaves   <int32>

当 NetworkManager 激活此连接时,是否应自动启动此连接的从属连接。这仅对主连接有实际影响。属性“autoconnect”、“autoconnect-priority”和“autoconnect-retries”与此设置无关。允许的值为:0:保持从属连接不变,1:激活此连接的所有从属连接,-1:默认。如果设置了 -1(默认),则读取全局 connection.autoconnect-slaves 以确定实际值。如果也是默认的,则回退到 0。

master <string>

主设备的接口名称或主连接的 UUID。

secondaries <array of strings>

激活基础连接本身时应激活的连接 UUID 列表。目前仅支持 VPN 连接。


man NetworkManager将其与可能通过、man NetworkManager.conf和查看的手册放在一起man nm-settings,以下是我的 AP 连接配置文件的部分内容,例如。/etc/NetworkManager/system-connections/WiFI_AP,相关...

[connection]
id=WiFI_AP
uuid=aaaa-0000-aaaa-0000
type=wifi
autoconnect=true
autoconnect-priority=9000
permissions=
secondaries=deadbeef-d3ad-b33f-dead-be33e3f;
autoconnect-slaves=1
vpn.timeout=120
# ... more connection config blocks...

...VPN 连接配置文件不是需要修改(换句话说,我只包含了master文档参考,以防你的系统出于某种原因需要它),而我不得不把它复制uuid到上面的secondaries列表中,在这个例子中,这意味着/etc/NetworkManager/system-connections/VPN_Client看起来像......

[connection]
id=VPN_Client
uuid=deadbeef-d3ad-b33f-dead-be33e3f
type=vpn
permissions=
secondaries=
# ... more connection config blocks...

注意,lists连接配置文件以空格分隔字符串,以分号结尾;

我尝试关闭我的 WiFi 以及重新启动和完全关机,连接按预期恢复!

如果您遇到问题,例如sudo systemctl status NetworkManager记录读取错误或找不到文件,那么您可能需要将 VPN 配置和证书移动到非加密主目录的目录中,或者设置更长的时间vpn.timeout,或更快地登录。


阅读你的评论问题@Per-ÅkeFranklind,听起来像网络形状有点像......

    [Mac_wlan]    # Host hardware
       | ^
       v |
    [VMs_vEth]    # Virtualized interface
       | ^
       v |
    [VPN_tun0]    # Within VM of Ubuntu

名字只是占位符,因为问题没有明确包含它,所以有些翻译将再次被需要。

这里不支持 LaTeX/Mathjax,所以无法实现上述效果更漂亮

... 如果是这样,那么你在主机级别有一个防火墙Mac_wlan需要进行配置以允许流量转发出VMs_vEth,然后在虚拟机实例中VMs_vEth(可以在客户操作系统中重命名)防火墙必须配置为允许流量转发出VPN_tun0接口,并且每一层都应该允许建立另一个方向的(在某些情况下是相关的)连接。

如果您使用更多信息来编辑您的问题,当然要删除任何敏感信息,例如客户操作系统的/etc/NetworkManager/system-connections连接配置文件,以及您的 VPN 配置是什么样子的,这将有助于那些希望为您提供更完整答案的人。

相关内容