bash-3.00# /usr/sbin/ip -6 route show
default via fdc6:3001:8e20:9ce9::1 dev int0 metric 1024 expires 2133437sec mtu 1500 advmss 1440 metric10 4294967295
unreachable default dev lo proto none metric -1 error -101 metric10 255
unreachable default dev lo proto none metric -1 error -101 metric10 255
unreachable default dev lo proto none metric -1 error -101 metric10 255
fdc6:3001:8e20:b06::/64 dev ext0 metric 256 expires 2132985sec mtu 1500 advmss 1440 metric10 4294967295
fdc6:3001:8e20:9ce9::/64 dev int0 metric 256 expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
fe80::/64 dev int0 metric 256 expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
fe80::/64 dev ext0 metric 256 expires 2132985sec mtu 1500 advmss 1440 metric10 4294967295
default via fe80::226:88ff:fee2:5d01 dev int0 proto kernel metric 1024 expires 154sec mtu 1500 advmss 1440 metric10 64
default via fe80::226:88ff:fee2:5d02 dev ext0 proto kernel metric 1024 expires 175sec mtu 1500 advmss 1440 metric10 64
default via fdc6:3001:8e20:b06::1 dev ext0 metric 1024 expires 2133059sec mtu 1500 advmss 1440 metric10 4294967295
unreachable default dev lo proto none metric -1 error -101 metric10 255
ff00::/8 dev int0 metric 256 expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
ff00::/8 dev ext0 metric 256 expires 2132985sec mtu 1500 advmss 1440 metric10 4294967295
unreachable default dev lo proto none metric -1 error -101 metric10 255
在上面的输出中,路线的顺序是否表示查找路线的顺序?或者'hoplimit'(最后一列)是否会影响查找的顺序? 'hoplimit'和'metric'之间有什么区别,哪两个影响查找顺序?
谢谢!
答案 0 :(得分:3)
首先通过最长匹配查找路线。因此,如果存在/ 64路由,/ 48路由和所有与数据包目的地匹配的默认路由(/ 0),将使用/ 64路由,其他路由将被忽略。
示例:给出目的地 fdc6:3001:8e20:9ce9:1:2:3:4 以及以下路线:
default via fdc6:3001:8e20:9ce9::1 dev int0 metric 1024 expires 2133437sec mtu 1500 advmss 1440 metric10 4294967295
fdc6:3001:8e20:9ce9::/64 dev int0 metric 256 expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
将始终选择/ 64路线。
尽管您的评论意味着其他原因,但仍然如此。您在评论中描述的内容不应该发生。请提供有问题的数据包的确切源和目标IP地址以及源和目标MAC地址,以便进一步诊断。
如果有多条到目的地的路由具有相同的前缀长度,则首选具有最佳度量的路由。
您的路由表中没有任何以度量标准打破关系的示例。您需要具有相同目的地和前缀长度但指标不同的路线。
如果仍有多条路线,则会对每条可用路径进行负载均衡。
路径查找过程中根本不使用hoplimit。它用于在选择路由后设置本地发起的输出数据包的跳数限制。
答案 1 :(得分:0)
IPv6的路由查找与传统IPv4没有根本区别。
IP堆栈将找到与目标IP最匹配(即最长前缀)且具有最低度量标准的路由。
跳跃限制不会影响路由决策。 该指标表示费用'的路线。它应该根据到达目的地的跳数和路线的带宽,延迟,价格等来设置。 跳跃限制仅用于预先设置IPv6报头中的跳跃限制字段。
答案 2 :(得分:0)
您正在查看重定向ICMP消息的效果。
说ip -6 route flush cache
让你的路由再次工作。
说sysctl -w net.ipv6.conf.all.accept_redirects=0
忽略将来的重定向。
最可能的原因是启动/重启时路由不完整的网关。您可能想告诉该系统不要发送重定向数据包。