60 sekund
můžete to zkontrolovat pomocí:
cat /proc/sys/net/ipv4/neigh/ethX/gc_stale_time
a změňte jej pomocí
echo timeout > /proc/sys/net/ipv4/neigh/ethX/gc_stale_time
timeout je nová hodnota
Uznávám, že když to píšu, je to tři roky stará otázka. Na tuto otázku jsem ale narazil při zkoumání stejného tématu a v procesu potvrzování watchmanského odpovědi (https://serverfault.com/a/684381/188907) jsem se o situaci dozvěděl trochu více, alespoň tak, jak existuje dnes.
Podle https://linux.die.net/man/7/arp, nastavení
gc_stale_time
ovlivňuje, jak často je mezipaměť ARP kontrolována na zastaralé položky. (Nebo shromážděný odpad , tedy „gc_“ na začátku názvu nastavení.)
Mezitím hodnota
base_reachable_time_ms
ve skutečnosti řídí, jak dlouho je záznam v mezipaměti ARP platný, a výchozí hodnota je 30 000 milisekund. Ale každý nový záznam mezipaměti ARP ve skutečnosti obdrží hodnotu času do živého náhodně nastavenou někde mezi base_reachable_time_ms / 2 and 3*base_reachable_time_ms / 2
*.
To znamená, že každý nový záznam ARP v mezipaměti bude mít počáteční časový limit mezi 15 a 45 sekundami, pokud není hodnota base_reachable_time_ms
je změněno.
To předpokládá, že aktuální hodnota časového limitu pro položku ARP uložená v mezipaměti je před použitím ověřena a že míra shromažďování odpadu neovlivňuje efektivní platnost položek mezipaměti.
(*Potvrzeno přečtením kódu na https://elixir.bootlin.com/linux/v4.17.11/source/net/core/neighbour.c#L115)