我最近设置了一个服务器,其网络直接由systemd-networkd
(nukednetplan.io
和网络管理器)管理,并为其提供了如下静态 IP:
/etc/systemd/network/10-ethernet.network
[Match]
Name=eno1
[Network]
Address=192.168.1.2/24
Gateway=192.168.1.1
DNS=192.168.1.1
重启后systemd-networkd.service
,默认路由如下:
default via 192.168.1.1 dev eno1 proto static
default via 172.16.0.1 dev eno2 proto static
default via 172.31.255.1 dev eno3 proto static
^^^
因为有多个 NIC,我想eno1
选择一个,所以我希望路由布局如下:
default via 192.168.1.1 dev eno1 proto static metric 100
default via 172.16.0.1 dev eno2 proto static metric 300
default via 172.31.255.1 dev eno3 proto static metric 500
^^^^^^^^^^
如果没有该metric
值,则默认为 0,这意味着所有路由都具有相同的优先级(最高),这是我想避免的。
我试过这个设置:
[Route]
Gateway=192.168.1.1
Metric=100
但它只会生成具有所需度量的额外metric
路由,而原始路由(缺失)仍然存在。
我在 Systemd 240 上运行。我应该如何实现这一点?
在这个线程中,您可以看到开发人员谈论事情如何工作与事情应该如何工作:https ://github.com/systemd/systemd/issues/928
他们举了几个例子:
在 Route 标签下
在 DHCP 标签下
说明:
此外还有一个警告:
您想要的确切功能可能还不存在,因为我引用的票目前是开放的。如果您认为自己知道这应该如何工作,请随时直接向开发人员提供反馈并加入讨论。