User Tools

Site Tools


linux:network_arp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linux:network_arp [2024/08/19 10:34]
manu created
linux:network_arp [2024/08/20 00:22] (current)
manu
Line 1: Line 1:
 ====== Linux ARP table ====== ====== Linux ARP table ======
 +
 +https://​stackoverflow.com/​questions/​15372011/​configuring-arp-age-timeout
 +
 +Files related to ARP cache 
 +<cli prompt='​$'>​
 +/​proc/​sys/​net/​ipv4/​neigh/​default/​gc_interval
 +/​proc/​sys/​net/​ipv4/​neigh/​default/​gc_stale_time
 +/​proc/​sys/​net/​ipv4/​route/​gc_interval
 +/​proc/​sys/​net/​ipv4/​route/​gc_timeout
 +</​cli>​
 +
 +  gc_timeout seconds
 +  gc_stale_time seconds
 +  ​
 +There are subtle differences between an neighbor cache entry actually falling out of the cache entirely or just being marked as stale/​invalid. At some point between base_reachable_time/​2 and 3*base_reachable_time/​2,​ the entry will still be in the cache, but it will be marked with a state of STALE. You should be able to view the state with "ip -s neighbor show",
 +<cli prompt='​$'>​
 +pherricoxide@midigaurd:​~$ ip -s neighbor list
 +192.168.42.1 dev eth0 lladdr 00:​25:​90:​7d:​7e:​cd ref 2 used 184/184/139 probes 4 STALE
 +192.168.10.2 dev eth0 lladdr 00:​1c:​23:​cf:​0b:​6a ref 3 used 33/28/0 probes 1 REACHABLE
 +192.168.10.1 dev eth0 lladdr 00:​17:​c5:​d8:​90:​a4 ref 219 used 275/4/121 probes 1 REACHABLE
 +</​cli>​
 +
 +To mark entries as invalid, but not remove them from the cache
 +<cli prompt='​$'>​
 +$ ip -s -s neigh flush all
 +</​cli>​
 +
 +To delete a particular entry 
 +<cli prompt='​$'>​
 +$ arp -d <​ip_address>​
 +</​cli>​
 +
 +
 +<cli prompt='​$'>​
 +$ ip link set arp off dev eth0; ip link set arp on dev eth0
 +</​cli>​
 +
 +The simplest way to completely clean the arp cache is to bring the interface down and then up again.
 +
 +Else you can also change the cache timeout
 +<cli prompt='​$'>​
 +$ echo 30 > /​proc/​sys/​net/​ipv4/​neigh/​default/​gc_stale_time
 +$ echo 175 > /​proc/​sys/​net/​ipv4/​route/​gc_timeout
 +$ echo 20000 > /​proc/​sys/​net/​ipv4/​neigh/​default/​base_reachable_time_ms
 +$ echo 30 > /​proc/​sys/​net/​ipv4/​route/​gc_interval
 +</​cli>​
  
  
linux/network_arp.1724056494.txt.gz ยท Last modified: 2024/08/19 10:34 by manu