60 detik
Anda dapat memeriksanya dengan:
cat /proc/sys/net/ipv4/neigh/ethX/gc_stale_time
dan ubah dengan
echo timeout > /proc/sys/net/ipv4/neigh/ethX/gc_stale_time
batas waktu adalah nilai baru
Saya mengakui bahwa saat saya menulis ini, ini adalah pertanyaan berusia tiga tahun. Tetapi saya menemukan pertanyaan ini saat meneliti subjek yang sama, dan dalam proses menguatkan jawaban watchmansky (https://serverfault.com/a/684381/188907), saya belajar lebih banyak tentang situasinya, setidaknya seperti yang ada hari ini.
Menurut https://linux.die.net/man/7/arp, pengaturannya
gc_stale_time
mempengaruhi seberapa sering cache ARP diperiksa untuk entri basi. (Atau sampah dikumpulkan , jadi "gc_" di awal nama setelan.)
Sementara itu, nilainya
base_reachable_time_ms
sebenarnya mengontrol berapa lama entri cache ARP valid, dan standarnya adalah 30.000 milidetik. Tetapi setiap entri cache ARP baru sebenarnya akan menerima nilai time to live yang diatur secara acak antara base_reachable_time_ms / 2 and 3*base_reachable_time_ms / 2
*.
Ini berarti setiap entri ARP cache baru akan memiliki batas waktu mulai antara 15 dan 45 detik, kecuali nilai base_reachable_time_ms
diubah.
Ini mengasumsikan bahwa nilai batas waktu saat ini untuk entri cache ARP divalidasi sebelum digunakan, dan tingkat pengumpulan sampah tidak memengaruhi validitas efektif entri cache.
(*Dikonfirmasi dengan membaca kode di https://elixir.bootlin.com/linux/v4.17.11/source/net/core/neighbour.c#L115)