刷新 FreeBSD 中的 arp 条目

刷新 FreeBSD 中的 arp 条目

在 Linux 中,如果有数据包到来,ARP 条目的年龄就会重置/刷新。然而,FreeBSD 似乎只是设置了一个计时器,并且无条件地逐出 ARP 条目,即使带有该 MAC 地址/IP 的数据包经过也是如此。有没有办法让Linux在看到流量时更新年龄的行为?

因此,我的 LAN 上每 20 分钟就会遇到大量 ARP 广播流量。我知道可以更改 FreeBSD 缓存的寿命,但这只会更改突发之间的间隔。我想首先阻止爆发。

答案1

FreeBSD 的伟大之处在于它有文档记录:ARP(4)

我们有:

这些路由会定期超时(通常在验证后 20 分钟;条目在不使用时不会验证)

...和...

max_age ARP 条目在需要刷新之前在缓存中保留的时间。默认值为 1200 秒。

我读到它就好像我们看到了其中的条目,maxage然后它就被验证了。也就是说:在使用时它被验证。

因此,如果您执行以下操作:

arp -i ixl0 -a
? (192.168.1.2) at 00:00:00:00:00:00 on ixl0 expires in 237 seconds [ethernet]
? (192.168.1.1) at 00:00:00:00:00:01 on ixl0 permanent [ethernet]

您将看到 arp 条目及其年龄。如果您想延长缓存持续时间,只需更改即可max_age

相关内容