Netplan 静态地址加上同一接口上的 dhcp 地址,且静态地址优先

Netplan 静态地址加上同一接口上的 dhcp 地址,且静态地址优先

我有一台小型家用服务器,偶尔会在网络之间移动。我希望它有一个静态 IP 来访问其上运行的服务,同时也有一个 DHCP IP,这样当我移动网络时,它总是会选择一个可路由的地址。

到目前为止我的配置如下:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eno1:
      dhcp4: yes
      dhcp6: no
      addresses:
        - 192.168.188.2/24
      gateway4: 192.168.188.1
      nameservers:
        addresses: [127.0.0.1, 1.1.1.1]

这似乎确实有效,我最终在同一个子网中的同一个接口上获得了两个 IP 地址。

我知道可以使用metric属性设置优先级。使用这种设置可以实现吗?我希望静态 IP 具有优先级。这有意义吗?如果它们都具有相同的接口和网关,我不确定“优先级”是否会产生任何影响。

我尝试使用以下方法降低 dchp 优先级:

...
      dhcp4-overrides:
        route-metric: 200

但这似乎为两个地址设定了指标:

❯ ip route
...
192.168.188.0/24 dev eno1 proto kernel scope link src 192.168.188.2 metric 200
192.168.188.0/24 dev eno1 proto kernel scope link src 192.168.188.228 metric 200

我想要做的事有可能实现吗?这有意义吗?

谢谢!

答案1

听起来您描述的情况是您想为家庭网络上的机器拥有一个静态地址,但您还希望机器在不在您的家庭网络上时能够联网。

处理此问题的传统方法是配置家庭 DHCP 服务器以向机器分配静态地址,而不是同时使用动态 DHCP 分配的地址和静态配置的地址。这将大大简化您的客户端配置。

另一种选择是使用 mdns(本地名称解析;又名 RendezVous)而不是静态 IP 地址来解析此机器上的服务。但是,这通常要求希望连接到您的服务的所有机器都位于同一个广播域(又名本地网段)中,而这里可能并非如此。

相关内容