Chinaunix

标题: 网桥模式下回包不查arp表? [打印本页]

作者: ogmw    时间: 2009-06-10 11:04
标题: 网桥模式下回包不查arp表?
网桥br0对应eth0和eth1
桥上配了一个IP, 192.168.99.2/24

现在发现一个问题,对于外面主动发起到本机的连接,回包时,目的mac并不使用arp表对应项

举例: 现在外面有个pc,ip是192.168.99.5,mac地址是05-06-07-08-09-10
先在网桥上给这个ip静态绑定一个错误的mac: arp -s  192.168.99.5  05-06-07-08-09-AA
然后在pc上ping网桥, ping 192.168.99.2
结果发现,仍然可以ping通。
抓包发现,网桥回包的时候,目的mac并没错,仍然使用正确的mac: 05-06-07-08-09-10
然后又试了一下telnet 192.168.99.2, 也可以通
接着再反ping试一下,结果这次不行了,使用了错误的mac: 05-06-07-08-09-AA

路由模式下则不会出现这样的现象。
似乎linux网桥下,对外面发起到本机的连接,回包时直接把进来的包的源mac填到目的mac中就发出去了
想问下,有没人碰到过这个现象,或知道原因的?
作者: emmoblin    时间: 2009-06-11 00:25
回报的时候session已经建立起来了,就不需要再查mac表了,直接冲session表中去目的mac就可以了。
从内网向外网ping,这时还没session所以需要查表,这是就用了错误的mac
作者: ogmw    时间: 2009-06-11 08:58
但路由模式下,为何不会这样呢?外面进来的连接,回包也是会查arp表的。
另外,普通的windows电脑也一样,你可以试一下,用a电脑ping一下b电脑,
假如开始能ping通的,你在b电脑上将a电脑的ip绑定到一个错误的mac,回包就会使用这个错误的mac了
a电脑就ping不通b了
作者: 2009fun    时间: 2009-06-11 11:40
支持~~~~~~~~~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2