Linux – Why does arp -a only show some machines on the network

arplinux

I ran arp -a on a Linux server, and this is the output:

[root@trnsrv1 ~]# arp -a
? (10.223.8.82) at 00:50:56:B5:75:08 [ether] on bond0
? (10.223.11.254) at E0:5F:B9:66:A6:00 [ether] on bond0

10.223.11.254 – this is the gateway

10.223.8.82 – this is another server, and it is not the only one on the LAN.

Why did it appear and others did not?

Best Answer

Why did it appear and others did not?

Because those were the only two machines which had exchanged network traffic with your server within the last 60 seconds, or whatever arp cache value is specified on your system in /proc/sys/net/ipv4/neigh/default/gc_stale_time, if different from the default of 60.

arp -a reports what is in the arp cache; it does not make any attempt to populate the cache with as many entries as possible.

Related Question