我所有服务器的网络都是通过 DHCP 配置的,DHCP 发送静态路由(VPN 所需)和网关等。这很好用。
我有一个例外:一台不应获取静态路由的服务器(但获得其他一切,最好还有网关)。
为了拒绝提供的路由,我添加到其网络配置中
[DHCP]
UseRoutes=false
这摆脱了静态路由(好)和默认网关(不好)。
理想情况下,我希望从 DHCP 服务器接收网关,但我可以在配置中对其进行硬编码。
对此我尝试了几种解决方案,他们都失败了(=未添加默认路由)
- 在该部分中添加一个
Gateway=
条目[Network]
:
[Match]
Name=br0
[Network]
DHCP=yes
Gateway=192.168.10.1
[DHCP]
UseRoutes=false
- 添加一条额外的路线,其中的内容看起来像“默认”:
[Match]
Name=br0
[Network]
DHCP=yes
[DHCP]
UseRoutes=false
[Route]
Gateway=192.168.10.1
Destination=default
# or, alternatively
# Destination=0.0.0.0/0
如何将默认路由添加到拒绝提供的路由的 DHCP 配置中?
换句话说,如何使systemd-networkd
run 相当于ip r add default via 192.168.10.1
?
答案1
省略该Destination=
指令,它将被视为默认路由。
来自官方文档:https://www.freedesktop.org/software/systemd/man/systemd.network.html#Destination=
如果省略,则假定为全长主机路由。
这应该适合你:
[Route]
Gateway=192.168.10.1
# Nothing else!