我有一台小型家用服务器,偶尔会在网络之间移动。我希望它有一个静态 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 地址来解析此机器上的服务。但是,这通常要求希望连接到您的服务的所有机器都位于同一个广播域(又名本地网段)中,而这里可能并非如此。