在/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
(它没有显示)。
参见:
- 无效的答案:
3
最佳答案
1
您没有在任何地方指定它应该是默认路由;相反,您指定了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]
|
–
192.168.7.1
是任意主机以太网端口到客户端192.168.7.2
以太网端口。192.168.7.1
本身不是路由器。路由器位于另一个子网块中,例如10.0.0.1
。–
–
|