如何向启用 DHCP 的接口添加默认路由?

如何向启用 DHCP 的接口添加默认路由?

我所有服务器的网络都是通过 DHCP 配置的,DHCP 发送静态路由(VPN 所需)和网关等。这很好用。

我有一个例外:一台不应获取静态路由的服务器(但获得其他一切,最好还有网关)。

为了拒绝提供的路由,我添加到其网络配置中

[DHCP]
UseRoutes=false

这摆脱了静态路由(好)和默认网关(不好)。

理想情况下,我希望从 DHCP 服务器接收网关,但我可以在配置中对其进行硬编码。

对此我尝试了几种解决方案,他们都失败了(=未添加默认路由)

  1. 在该部分中添加一个Gateway=条目[Network]

[Match]
Name=br0

[Network]
DHCP=yes
Gateway=192.168.10.1

[DHCP]
UseRoutes=false
  1. 添加一条额外的路线,其中的内容看起来像“默认”:

[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-networkdrun 相当于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!

相关内容