重启后网络管理器设置不保留

重启后网络管理器设置不保留

我正在尝试在重启后自动建立 VPN 连接。我通过网络管理器 GUI 创建了配置文件,一切运行正常。我可以使用 nm-connection-editor 编辑以太网(和 wifi)配置以选中“自动连接到 VPN”。如果我重新启动任一接口(wlan0 或 eth0),VPN 连接就会建立。

但是,当我重新启动时,VPN 连接未通过 eth0 建立。当我重新运行 nm-connection-editor 时,自动连接到 VPN 框现在未选中。如果我重新选中它并重新启动界面,VPN 将再次自动建立。再次重新启动将恢复该设置。每次我在重新启动后选中该框时,都会在 /etc/NetworkManager/system-connections 中生成一个新的配置文件。它以 netplan-eth0 开头,然后是 netplan-,每次保存时都会获得一个 1 以上的数字。

netplan-eth0-626dd384-8b3d-3690-9511-192b2c79b3fd-1.nmconnection
netplan-eth0-626dd384-8b3d-3690-9511-192b2c79b3fd.nmconnection
netplan-eth0.nmconnection

无线连接实际上运行正常。如果我禁用有线连接并仅使用 wifi,则重新启动后会立即建立 VPN。

我对 netplan 和 NetworkManager 中的所有选项进行的所有故障排除都无济于事。我正在尝试设置一个 raspi 发送给亲戚,并希望它只需将其插入以太网即可建立 vpn 连接,因此我需要它与有线连接配合使用。任何帮助都值得感激。

下面是 netplan-eth0.nmconnection 的粘贴。请注意,“secondaries”选项将 VPN 与此接口绑定在一起。如果我不得不猜测,NetworkManager 在重新启动后会忽略 eth0 的此配置。

[connection]
id=netplan-eth0
uuid=626dd384-8b3d-3690-9511-192b2c79b3fd
type=ethernet
interface-name=eth0
metered=2
permissions=
secondaries=f3f0c99a-c2c5-47fd-9bce-9104f3665dfc;
timestamp=1638470039

[ethernet]
mac-address-blacklist=
wake-on-lan=0

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=eui64
dns-search=
method=ignore

答案1

经过大量故障排除和阅读有关 netplan 的信息后,我解决了这个问题。Ubuntu 的 Raspberry Pi 发行版包含文件 /etc/netplan/10-rpi-ethernet-eth0.yaml。该文件的代码如下:

network:
  ethernets:
    eth0:
      # Rename the built-in ethernet device to "eth0"
      set-name: eth0
      dhcp4: true
      optional: true

我假设每次重启时 NetworkManager 都会重新生成一个新的 eth0 配置,因为内部配置正在重命名。当我更改 eth0 连接的默认名称时,这一点就变得很清楚了,默认名称是“nmcli connection show”列表中的“netplan-eth0”。我将其重命名为“eth0”,并带有我想要的所有属性(包括 VPN 连接的“辅助”),但当我重启时,它又恢复为通用名称:“netplan-eth0”,带有所有默认选项。

只需删除“10-rpi-ethernet-eth0.yaml”文件即可解决问题。我还没有遇到任何副作用。也许这个文件只在你第一次启动时才重要,那时 NetworkManager 还不知道有关该设备的任何信息。

现在,当我启动时,如果 eth0 实现连接,VPN 连接就会自动建立。

相关内容