首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端不能在WLAN上相互连接。对ARP请求没有答复

客户端不能在WLAN上相互连接。对ARP请求没有答复
EN

Unix & Linux用户
提问于 2021-04-17 02:17:13
回答 1查看 322关注 0票数 0

我已经安装了一个无线局域网与接入点,连接客户端到互联网。起初,一切似乎都是正确的,直到我注意到客户之间无法沟通。

以下是详细信息:一台机器通过eth0连接到互联网,并通过wlan1充当接入点。它正在运行hostapddnsmasq,并使用NAT将其他客户端连接到互联网上。

代码语言:javascript
复制
Client A             Client B
192.168.1.143        192.168.1.235
      \                /
       \              /
        \            /
         Access Point, AP
         wlan1: 192.168.1.1
         eth0:  192.168.0.xxx

到目前为止,客户端可以成功地连接到互联网。他们可以连接起来。通过ssh)到达接入点。接入点可以直接发送到客户端。

现在的问题是客户端A不能连接到客户端B,反之亦然。通过在接入点上使用tcpdump,我看到客户机A正在为客户端B发送ARP请求,但是客户机B从未接收到这些请求,因此无法回复。因此,客户机B的arp表条目是不完整的(反之亦然)。

为了测试目的,我用arp -s <ip> <hw_addr>手动为两个客户端设置arp表条目。现在一切都很成功。客户端可以相互连接,也可以连接到意愿。但实际上,我不想手动为所有客户端计算机设置arp表条目。

现在,我的问题是:问题在哪里?如何自动更新arp表?我该去哪里查?在接入点(路由表、hostapd、dnsmasq、.)上有问题吗?或者是客户端机器上的问题?

ps:在任何机器上都没有安装arptable规则:

代码语言:javascript
复制
$ arptables -L
Chain INPUT (policy ACCEPT)

Chain OUTPUT (policy ACCEPT)

编辑:最后我发现了这个问题:

在重新检查配置之后,我最终用另一个USB适配器对其进行了测试。我很惊讶地发现当时一切都很正常。客户正在接收和答复ARP请求。武断客户之间的Ping和ssh也在起作用。

为了确定,我换回了第一个USB适配器。同样,客户端也没有接收到(并答复) ARP请求。因此,我可以确认,这不是主机配置或内核arp表的问题。问题是Wifi适配器的驱动程序。

以下是详细信息:

  1. ID 0bda:8812 Realtek半导体公司RTL8812AU 802.11a/b/g/n/ac 2T2R DB无线局域网适配器
    • 工作不正常。
    • ARP请求由接入点接收,但客户端不接收。

  2. ID 0bda:b 812 Realtek半导体公司
    • 工作令人满意。
    • 任意客户端之间的ARP请求和ARP应答正常工作。
EN

回答 1

Unix & Linux用户

发布于 2021-04-17 05:00:54

您可以将配置设置为ap_isolate = 0

或者设置ap_isolate = 1,然后设置hair_mode (它要求网桥通过相同的接口将帧发回):

代码语言:javascript
复制
echo 1 > /sys/devices/virtual/net/br-lan/lower_wlan.name/brport/hairpin_mode
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/645513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档