Linux不尊重路由表

卢卡斯·扎内拉(Lucas Zanella)

我创建了一个VPN连接。

连接后,这是我的路由表:

[email protected]:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.255.5   0.0.0.0         UG    50     0        0 tun0
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
191.37.145.144  192.168.0.1     255.255.255.255 UGH   100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.0.1     0.0.0.0         255.255.255.255 UH    100    0        0 eth0
192.168.255.1   192.168.255.5   255.255.255.255 UGH   50     0        0 tun0
192.168.255.5   0.0.0.0         255.255.255.255 UH    50     0        0 tun0

如您所见,192.168.0.x应该经过tun0,但经过eth0,要192.168.0.1在我的路由器中结束。

ip route get 192.168.0.1
192.168.0.1 dev eth0 src 192.168.0.12 uid 1000 
    cache 

我尝试给出指标0tun0但它无济于事

sudo ip route add 192.168.0.0/24 via 192.168.255.5

做到了,但是太多了。为什么linux不尊重路由表?

用户名

您正在忽略以下条目:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.0.1     0.0.0.0         255.255.255.255 UH    100    0        0 eth0

它们都与您的目的地匹配,并且它们的前缀长度都比您的“ tun0”路由长(也就是说,它们在掩码中具有更多的“ 1”位)–第一个是/ 24,因此优先级始终高于0.0 .0.0 / 0“ tun”路由,第二个是/ 32,优先级最高。

通常,通过“最长前缀匹配”选择路由表条目。即,主要优先级值是前缀长度。路由度量仅用作辅助“平局”值,当它们的前缀长度相等时,可以在多个路由之间进行选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章