使用 networkd 添加静态路由

使用 networkd 添加静态路由

我正在尝试使用 systemd-networkd 配置静态路由。实际 IP 有所不同,但以下是我想做的事情的要点:

ip route add 10.17.12.0/23 dev eth0

如果我运行此命令,我的网络设置将完全按预期工作。我只需要在此主机和 10.17.12.0 子网之间建立连接。我的主机位于不同的子网上,由于某种原因,它无法自行路由到那里。现在我想采用相同的静态路由并通过 systemd-networkd 文件对其进行配置。

这是我尝试使用的配置

[Match]
Name=eth0

[Route]
Gateway=10.2.100.5 # IP address of eth0 interface
Destination=10.17.12.0/23

我也尝试将网关设置为 eth0 接口的默认网关,但每次都会出现相同的错误:

eth0: Could not set route: Invalid argument

有什么想法我可以在这里做什么吗?

答案1

如果你运行ip route add 10.17.12.0/23 dev eth0,你将会得到以下信息ip route show

10.17.12.0/23 dev eth0 scope link

请留意该scope link部分。

networkd因此,请在您的配置中尝试这个:

[Route]
Destination=10.17.12.0/23
Scope=link

那么就不需要指定虚拟网关地址了。

相关内容