linux 网络设置 收发包使用同一网卡,一个关于多张网卡机器收发包接口的问题...

想起了前几天碰到的一个问题。当时想等把拓扑图整理好了再发文。。还是先写文章吧。

环境:是在ipv6环境中。某台Linux机器(server)有三张网卡,假设分别为A,B,C,三张网卡上的地址分别在不同的网段,假A上的地址为1111::01/64,B上的地址为2222::01/64,C上的地址为3333::01/64。打开ipv6 forwarding。

client与server间有一台路由器。

client的ip为2011::01/64,上面有到2222::01/64的路由。在server上到client的路由的下一跳指定为1111::02/64,这是与网卡A相连的路由器接口上的地址。

现象:(1)在client端ping6 2222::01/64,能够ping通。包的流向为:client->router->网卡A->协议栈->网卡A->router->client;

(2)还是相同的环境,在client上ping相同的地址,不过在路由器上把流量牵引到另一台设备,再把该流量从网卡C回注到server,此时发现ping不能,ping包确实到了网卡C,能在上面抓到到达的包,但不论是网卡A还是网卡C上都没有出去的包。此时包的流向为:client->router->其它设备->网卡C->协议栈->??

没研究过内核,不知道这种情况协议栈是怎么处理的。

这两种情况的区别是:前一种情况包的到达接口和出接口相同,虽然ping包的目的ip是另一张网卡的ip,此时能ping通;而后一种情况则涉及到了三张网卡,包的到达接口和出接口不同,而ping包的目的ip又是另外的第三张网卡。

还有另一种情况:包的目标IP是网卡C的地址,也是从C到达的机器,但是该机器上到达client(ping的源端)的路由却是从网卡A出去,那么ping的回应包应该也是从A出去的。

阅读(2920) | 评论(6) | 转发(0) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值