在Linux下 路由表项中有两条到相同目的IP的路由,如何控制IP包走那一条路由,即可否控制IP包下一跳地址。

2024-12-18 13:50:18
推荐回答(3个)
回答1:

很遗憾,不可以这样均衡分配的,linux下包发送原理是先找路由规则,没有配置高级路由的就是main这个规则,
也就是route -n或ip route show看到的结果都是main规则下的。
然后找路由,路由是有优先级的,同等优先级下,按ip route show显示顺序匹配发送,一旦匹配,后面的就不会
再去看了。
所以根据路由不可以这样均衡分配的,永远都办不到。
但是其它一些情况,比如你这台linux是服务器,你只是希望上面的网站流量分布在不同网卡,那很容易办到,为什么上
面那情况不可以,而现在又可以了呢,因为网站访问对这台linux来讲是被动发送数据的,从哪儿进来就会从哪儿回复出去。
通过DNS或负载均衡器很容易实现。
但你linux做为客户端仅仅是去上别的网络,是主动发包的,会去找你本机的路由,况且你目的IP相同,那连分类走路由的机会都没有了。
除非从时间上错开,定期自动换网关。哈哈

回答2:

路由表里面的路由之所以有下一跳地址
是为了用这个下一跳IP地址去查询ARP映射表
为什么要查ARP表?
是为了寻求下一跳路由器的MAC

回答3:

真心不知道,如果问题关闭了,分也回不去你那里了,没人答就给我吧