基本上我想要做的是:
~$ ip addr add 51.255.174.122/32 dev eth0
~$ ip route add 51.255.68.1 dev eth0
~$ ip route add default via 51.255.68.1
我尝试的是:/etc/systemd/network/wired.network
[Match]
Name=eth0
[Network]
Address=51.255.174.122/32
Gateway=51.255.68.1
当我尝试时,ip route
没有输出。我做错了什么?正确的方法是什么?
答案1
Gateway=51.255.68.1 在路线部分尝试使用 GatewayOnLink= 它应该可以工作。 https://www.freedesktop.org/software/systemd/man/systemd.network.html#GatewayOnlink=
答案2
我遇到了类似的问题,我需要systemd-networkd
在完全不同的子网上设置网关(因为 ISP 给了我地址)。
user29005 的回答为我指明了解决方案。下面是我在 Arch Linux 中让它运行的方法。
/etc/systemd/network/20-wired.network:
[Match]
Name=ens18
[Network]
Address=51.0.0.1
DNS=XX.XX.XX.XX
[Route]
Gateway=37.0.0.254
GatewayOnLink=true
该GatewayOnLink=true
线路解决了‘不可达下一跳’错误。
希望有帮助,
德