arp 不回复

349 天前
 shum02

在公司开发一个小产品,用的嵌入式的 linux ,然后用无线模块连 Wifi ,最近更新了一个版本,禁用了 Systemd-networkd 和 Systemd-resolvd ,然后出现了一个奇怪的 bug ,为什么禁用这两个呢,前者是无线管理用 NetworkManager 了,有线之前是 networkd 的,想统一到 Nm 上,后者是因为 Systemd-resolvd 之前使用的时候,遇到偶发性的 Dns 无法解析的问题,于是就关了这玩意,直接让 NetworkManager 管理 dns ,底层用 resolvconf 管理。

然后现在的 Bug 是大概连上 Wifi 或 dhcp 续约十分钟之后,路由器发到板子上的 arp 包就不回复了,但是呢奇怪的点是板子上跑的 Frp 服务可以正常通信,抓包这个 frp 的 tcp 包也正常,路由器上抓包的话就是显示 arp 发包不回复。Wifi 用的是 2.4g 的 wifi 模块 rtl 的。然后比较显著的现象就是本来 linux 打 arp 会秒回,如果 arp 不回复即断网之后,arp 命令需要很长一会时间才有打印,然后目前尝试到的解决方案就是在 linux 中清空 arp 缓存就好了,之前还没有出现过这个 bug 。

尝试过的解决方案:关闭路由器双频合一,关闭 Wifi6 ,wifi 频段从 40mhz 调到 20mhz ,关闭 NetworkManager 配置中的省电模式。

2379 次点击
所在节点    Linux
24 条回复
tubowen
349 天前
linux arp -n 看的结果是啥,学到路由器的 mac 地址没有
shum02
348 天前
@tubowen 学到了 这样的 arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.110.1 ether 70:42:d3:c8:66:7c C wlan0
datocp
348 天前
以前一些无线网卡有问题
最终系统里静态写入两电脑的 mac ip 对应表,保证 2 电脑打印机能互访就算解决
shum02
348 天前
@datocp 驱动已经更到 2019 年的了 感觉不应该这么基础的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1008661

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX