特定节点无法看到 arp 请求

joh*_*han 12 networking linux wifi arp linux-networking

我通过使用创建了一个开放的临时 wlan iwconfig(我也有同样的问题wpa_supplicant)。网络上有 4 个节点,如下图所示。节点运行 ubuntu 12.04 和 debian Squeeze,并具有 3.7.1、3.5 和 3.2 内核。我使用两个不同的 USB 加密狗品牌(TP link 和 ZCN),它们都有 AR9271 芯片组和ath9k_htc驱动程序(这里是lsusb 输出ethtool 输出)。

我遇到的问题是具有 TP 链接 USB wifi 加密狗的两个节点(10.0.0.210.0.0.5)可以 ping 网络上的任何节点,反之亦然。但是,其他具有 ZCN wifi dongle 的节点(10.0.0.610.0.0.7)无法相互 ping,但它们与 TP-link wifi 模块通信没有问题。tcpdump显示10.0.0.6并且10.0.0.7无法看到他们的 arp 请求,例如

20:37:52.470305 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
20:37:53.463713 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
20:37:54.463622 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
20:37:55.472868 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
20:37:56.463439 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
20:37:57.463469 ARP, Request who-has 10.0.0.7 tell 10.0.0.6, length 28
Run Code Online (Sandbox Code Playgroud)

但他们能够看到并得到来自 TP-link 模块的回复。

20:39:23.634459 ARP, Request who-has 10.0.0.2 tell 10.0.0.6, length 28
20:39:23.634551 ARP, Reply 10.0.0.2 is-at 64:70:02:18:d4:6a (oui Unknown), length 28
20:39:23.636687 IP 10.0.0.6 > 10.0.0.2: ICMP echo request, id 572, seq 1, length 64
20:39:23.636809 IP 10.0.0.2 > 10.0.0.6: ICMP echo reply, id 572, seq 1, length 64
20:39:24.635497 IP 10.0.0.6 > 10.0.0.2: ICMP echo request, id 572, seq 2, length 64
20:39:24.635558 IP 10.0.0.2 > 10.0.0.6: ICMP echo reply, id 572, seq 2, length 64
20:39:28.651946 ARP, Request who-has 10.0.0.6 tell 10.0.0.2, length 28
20:39:28.654021 ARP, Reply 10.0.0.6 is-at 00:19:70:94:7c:8b (oui Unknown), length 28
Run Code Online (Sandbox Code Playgroud)

我的问题是,可能是什么原因,10.0.0.610.0.0.7不能看到arp-request他们互相发送?我怎样才能找出问题所在?

如果我在网络上添加更多带有 ZCN wifi 加密狗的节点,这些节点也无法相互通信,但它们可以使用 TP-link。或者如果我交换wifi模块,带有ZCN的节点总是有问题,但TP-link模块很好。 在此处输入图片说明

这里/etc/network/interfaces, ifconfig, iwconfig, ip a, ip r,route输出

编辑:我怀疑,如果问题是arp_filter相关的,但是/proc/sys/net/ipv4/conf/*/arp_filter0在所有子域(*)。如果我添加的ARP信息10.0.0.6,并10.0.0.7手动将这些节点上,tcpdumpwireshark并不表明他们发送ping给对方。如果我ping是广播地址(在我的情况下是10.0.0.255),10.0.0.6并且10.0.0.7能够听到它。

EDIT2:这是来自(ZCN 模块)、(ZCN 模块)和(没有问题的 TP-link 模块)的pcap 文件http://filebin.net/6cle9a5iae。这是来自http://pastebin.com/swFP2CJ9的 ping 输出我同时捕获了这些包。该链接还包括;; 和每个节点的输出。10.0.0.610.0.0.710.0.0.510.0.0.6 ifconfigiwconfiguname- a

小智 1

我最近也遇到了同样的问题。我发现 AR9271 芯片组的板载发射器天线有问题。如果您使用外部天线,那么就不会有问题。而且这个问题只发生在ad-hoc模式下。

TP-link 没有遇到问题的原因应该是这些模块使用外部天线,克服了芯片组的问题,而 ZCN 模块不应该有外部天线。