Ubuntu优先选择RA路由而非直连接口路由的原因排查求助
Ubuntu优先选择RA路由而非直连接口路由的原因排查求助
各位好,我遇到了一个非常棘手的路由问题,先跟大家说明下我的网络拓扑情况:
我有两台路由器OTBR1和OTBR2,它们各自的wpan0接口都连接在同一个fd71:f19:d5f5:1::/64网络段上。同时,这两台路由器都会在fd04:2240::/48网段上通过RA(路由通告)来宣告fd71:f19:d5f5:1::/64这条路由。
现在出现的问题是:两台路由器都会接收到对方发送的RA,并且各自添加了对应的路由条目。查看它们的路由表时,内核确实按照预期生成了直连接口的路由:
fd71:f19:d5f5:1::/64 dev wpan0 proto kernel metric 256 pref medium
但实际转发数据包时,系统却优先选择了通过RA学习到的路由——这条路由的metric值是100:
fd71:f19:d5f5:1::/64 via fe80::dea6:32ff:fe52:6bbc dev eno1 proto ra metric 100 expires 1522sec pref medium
这直接导致了恶性循环:两台路由器都优先把目标为fd71:f19:d5f5:1::/64的数据包转发给对方,结果数据包根本无法进入目标网段,完全陷入了死循环。
有没有大佬能帮忙分析下,为什么Ubuntu会优先选择RA学习到的路由,而不是直连接口的路由呢?
备注:内容来源于stack exchange,提问作者Francois
相关产品推荐
相关产品推荐

