linux设置默认网关,网关ip不在同一子网

发布时间: 2023-08-14

还是那台机器又碰到个网络问题,机器默认的网关ip不在同一个网段,

以往添加默认网关使用下面这个命令即可:

ip route add default via 148.251.xxx.xxx dev eth0

但是对于这种网关不在同一网段的情况会报错,解决办法是使用onlink:

ip route add default via 148.251.xxx.xxx dev eth0 onlink

机器用的systemd-networkd,编辑对应的网卡配置文件:

nano /etc/systemd/network/20-wired.network

增加一个[Route]然后在里面配置网关地址并使用GatewayOnLink=yes:

[Match]
Name=eth0

[Network]
Address=5.9.xxx.xxx/24
Address=xxx:xxx:xxx:xxx:x::x/80
IPv6AcceptRA=no

[Route]
Gateway=148.251.xxx.xxx
GatewayOnLink=yes

[Route]
Gateway=xxx:xxx:xxx:xxx:x::x
GatewayOnLink=yes

重启networkd:

systemctl restart systemd-networkd

请在下方留下您的评论.加入TG吹水群