问题
对于基于Linux的系统,当连接到两个路由器(一个用于本地流量,一个用于互联网流量)时,启用微分段不会为默认网关创建路由条目。
故障排除
检查路由表
通过运行命令route -n检查路由表
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.40.0.254 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.2.1 0.0.0.0 UG 1024 0 0 eth1
10.10.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
10.30.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
10.40.0.0 0.0.0.0 255.255.0.0 U 202 0 0 eth0
10.52.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
10.53.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
52.214.167.240 10.40.0.254 255.255.255.255 UGH 0 0 0 eth0
172.17.10.41 10.40.0.254 255.255.255.255 UGH 0 0 0 eth0
192.168.2.1 0.0.0.0 255.255.255.255 UH 1024 0 0 eth1
在上面的示例中,我们可以看到192.168.2.1的网关是0.0.0.0,这表明有一个通过eth1的默认路由专门针对该IP。 但是,由于网关不在同一子网中,第一条默认路由将被选中而不是正确的路由,导致流量因较低的度量而经由eth0发送。
解决方案
通过运行以下命令手动添加缺失子网的路由
ip route add <IP/CIDR> dev <interface>
例如:ip route add 192.168.2.0/24 dev eth1
完成后,检查路由表以确认已添加路由。
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.40.0.254 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.2.1 0.0.0.0 UG 1024 0 0 eth1
10.10.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
10.30.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
10.40.0.0 0.0.0.0 255.255.0.0 U 202 0 0 eth0
10.52.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
10.53.0.0 10.40.0.254 255.255.0.0 UG 0 0 0 eth0
52.214.167.240 10.40.0.254 255.255.255.255 UGH 0 0 0 eth0
172.17.10.41 10.40.0.254 255.255.255.255 UGH 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.1 0.0.0.0 255.255.255.255 UH 1024 0 0 eth1
0 条评论
请登录写评论。