V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
feng32
V2EX  ›  程序员

Linux 系统如何在 WiFi 漫游后不清空 ARP 缓存?

  •  
  •   feng32 · 2019-08-16 18:39:31 +08:00 · 1535 次点击
    这是一个创建于 1930 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在最新的 Debian 系统下,当客户端 (运行 dhcpcd / wpa_supplicant) 从一个 AP 漫游到另一个 AP 后,和 wlan0 相关的 ARP 表项会被清空,客户端于是需要重新查询网关的 MAC 地址,这是不必要的

    请问应该如何追踪这个过程,定位到是哪里的逻辑清空了 ARP 缓存呢?
    5 条回复    2019-08-17 18:57:32 +08:00
    omph
        1
    omph  
       2019-08-16 19:32:18 +08:00
    要不写个脚本,检测到漫游后就重新加载原先的 arp 表
    [arpd linux 命令 在线中文手册]( http://linux.51yip.com/search/arpd)
    feng32
        3
    feng32  
    OP
       2019-08-17 11:37:26 +08:00 via Android
    @zbinlin noarp 的作用是不用 arp 去探测 dhcpcd 即将使用的 ip 地址,实测发现启用了静态地址和 noarp 之后,arp 表还是会被清空,但是探测自己地址是否被占用的过程的确是被跳过了
    zbinlin
        4
    zbinlin  
       2019-08-17 12:55:08 +08:00
    漫游过程中,wpa_supplicant 是否重启了?重启是会清空的。
    feng32
        5
    feng32  
    OP
       2019-08-17 18:57:32 +08:00 via Android
    @zbinlin 进程肯定没重启,但是内部代码倒是可以检查一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3443 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:22 · PVG 19:22 · LAX 03:22 · JFK 06:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.