arp缓存刷新问题

arp缓存刷新问题

  • 在Linux上如果你想设置你的ARP缓存老化时间,那么执行sysctl -w net.ipv4.neigh.ethX.base_reachable_time=Y即可,如果设置别的,只是影响了性能,在Linux中,ARP缓存老化以其变为stale状态为准,而不是以其表项被删除为准,stale状态只是对缓存又进行了缓存;
  • 永远记住,在将一个IP地址更换到另一台本网段设备时,尽可能快地广播免费ARP,在Linux上可以使用arping来玩小技巧。

修改单个参数(直接 sysctl -w 修改即可)(永久生效

[root@ufo130 eth0]# sysctl -w net.ipv4.neigh.eth0.base_reachable_time=5
net.ipv4.neigh.eth0.base_reachable_time = 5
[root@ufo130 eth0]# 
[root@ufo130 eth0]# cat base_reachable_time
5
[root@ufo130 eth0]# cat base_reachable_time_ms 
5000

批量修改参数(修改/etc/sysctl.conf,加载即可)(永久生效

[root@ufo130 eth0]# cat /etc/sysctl.conf | grep net.ipv4.neigh.eth0.base_reachable_time
net.ipv4.neigh.eth0.base_reachable_time = 10
[root@ufo130 eth0]# /sbin/sysctl -p /etc/sysctl.conf
[root@ufo130 eth0]# cat base_reachable_time
10
[root@ufo130 eth0]# cat base_reachable_time_ms 
10000

arping 局域网刷新(浮动ip飘到本网段的其他节点IP上)

# 添加浮动ip
[root@ufo130 eth0]# ip a add 192.168.71.160/24 dev eth0
# 删除浮动ip
[root@ufo130 eth0]# ip a del 192.168.71.160/24 dev eth0
# ip a 查看

# arping -I 网卡地址 -c 3 -s VIP地址 网关地址
[root@ufo130 eth0]# arping -I eth0 -c 3 -s 192.168.71.160 192.168.71.2
ARPING 192.168.71.2 from 192.168.71.160 eth0
Unicast reply from 192.168.71.2 [00:50:56:EA:BD:C4]  3.136ms
Unicast reply from 192.168.71.2 [00:50:56:EA:BD:C4]  0.879ms
Unicast reply from 192.168.71.2 [00:50:56:EA:BD:C4]  0.994ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)

查看Linux ARP缓存老化时间

cat /proc/sys/net/ipv4/neigh/eth0/base_reachable_time

查看Linux ARP缓存状态

[root@ufo130 eth0]# ip neigh
192.168.71.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
192.168.71.2 dev eth0 lladdr 00:50:56:ea:bd:c4 STALE
  • 执行arping命令,无法添加新的arp缓存。但是可以把STALE的缓存刷新为REACHABLE状态
  • ping竟然只能添加arp缓存,但是并不能把STALE的缓存刷新为REACHABLE状态。而且ping是通的,这也说明了STALE还在被引用
  • ARP缓存老化以其变为stale状态为准,而不是以其表项被删除为准,stale状态只是对缓存又进行了缓存
[root@ufo130 eth0]# ip neigh
192.168.71.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
192.168.71.2 dev eth0 lladdr 00:50:56:ea:bd:c4 STALE
[root@ufo130 eth0]# arping -I eth0 -c 3 -s 192.168.71.130 192.168.71.2
ARPING 192.168.71.2 from 192.168.71.130 eth0
Unicast reply from 192.168.71.2 [00:50:56:EA:BD:C4]  1.592ms
Unicast reply from 192.168.71.2 [00:50:56:EA:BD:C4]  0.973ms
Unicast reply from 192.168.71.2 [00:50:56:EA:BD:C4]  0.865ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)
[root@ufo130 eth0]# ip neigh
192.168.71.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
192.168.71.2 dev eth0 lladdr 00:50:56:ea:bd:c4 REACHABLE

相关参考资料:
【Linux实现的ARP缓存老化时间原理解析】
https://younger.blog.csdn.net/article/details/79216211

【虚拟ip理解】
https://www.cnblogs.com/crazylqy/p/7741958.html

猜你喜欢

转载自blog.csdn.net/qq_42226855/article/details/111403311
今日推荐