Chinaunix首页 | 论坛 | 博客
  • 博客访问: 438671
  • 博文数量: 132
  • 博客积分: 2511
  • 博客等级: 大尉
  • 技术积分: 1385
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-11 15:10
文章分类

全部博文(132)

文章存档

2012年(18)

2011年(35)

2010年(60)

2009年(19)

分类: LINUX

2011-03-31 23:23:19

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

环境:是在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出去的。

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

上一篇:codeblocks很好用

下一篇:cisco的cli真好用

给主人留下些什么吧!~~

GFree_Wind2011-04-04 21:36:26

bedreaming: 这个ping包应该不会到达网卡A吧,它的目的ip是网卡B。事实也是在网卡A看不到有包到达和出去。.....
我看错了。想问的就是目的网卡,是否收到包了。也就是你说的B网卡。

bedreaming2011-04-03 21:59:07

GFree_Wind: ping包确实到了网卡C,能在上面抓到到达的包,但不论是网卡A还是网卡C上都没有出去的包。----------ping包是否到了网卡A呢,在A上能抓到包吗?.....
这个ping包应该不会到达网卡A吧,它的目的ip是网卡B。事实也是在网卡A看不到有包到达和出去。

bedreaming2011-04-03 21:57:37

owinux: 对与IPV4来说的话,我感觉和这两个值有关系。
cat /proc/sys/net/ipv4/conf/eth0/arp_ignore
cat /proc/sys/net/ipv4/conf/eth0/arp_announce
对于IPV6的话,/p.....
我记得/proc/sys/net/ipv6/conf下所有的网卡forwarding应该都是打开了的。
ipv4的环境没试过这种情况,环境已经拆了,要验证的话,只有等有机会再搭一个看看了。

owinux2011-04-02 12:56:37

对与IPV4来说的话,我感觉和这两个值有关系。
cat /proc/sys/net/ipv4/conf/eth0/arp_ignore
cat /proc/sys/net/ipv4/conf/eth0/arp_announce
对于IPV6的话,/proc/sys/net/ipv6/conf/ 这个目录的内容是不是相关联。

GFree_Wind2011-04-01 00:08:11

包的目标IP是网卡C的地址,也是从C到达的机器,但是该机器上到达client(ping的源端)的路由却是从网卡A出去,那么ping的回应包应该也是从A出去的。--------这个是比较明确的。client ping网卡C的地址时,到达了server。server回包肯定是从网卡A出去的——如果这是唯一的路由。