在/lib/systemd/network/10-eth0.network
我的客户端上,我无法配置任何可以翻译我的手动命令的东西:
sudo ip route add default via 192.168.7.1 dev eth0
192.168.7.1
我的主机的静态 IPv4 地址在哪里。
我最后一次10-eth0.network
配置尝试:
[Match]
Name=eth0
[Link]
RequiredForOnline=no
[Route]
Address=192.168.7.2/24
Destination=192.168.7.1/32
Gateway=192.168.7.1
已刷新sudo systemctl restart systemd-networkd
并验证ip route
(它没有显示)。
参见:
您没有在任何地方指定它应该是默认路由;相反,您指定了
Destination=192.168.7.1/32
- 它与default
路由完全相反...并且是循环(自引用)路由。根据您的配置,它可能192.168.7.1/32 dev eth0
在您的路由输出中显示为(假设内核不拒绝它,这将是有效的解释)。默认路由始终是
0.0.0.0/0
,即最低优先级的捕获所有路由,这就是您需要定义为的Destination=
。(或者,您可以完全省略 Destination=。)只有在同一子网中才能定义路由。为此,请确保参数 位于部分或部分中 - 在 [Route] 部分中没有意义。
Gateway=192.168.7.1
Address=192.168.7.2
[Address]
[Network]