Я пытаюсь настроить время ожидания ARP-времени. Я думаю, я должен установить /proc/sys/net/ipv4/neigh/default/base_reachable_time_ms
на желаемый тайм-аут. Но хотя я установил это на 30000 мс (30 секунд), он все равно занимает около 10 минут, чтобы запись удалялась из кеша ARP. Прочитав несколько статей, я вижу, что есть несколько дополнительных параметров, влияющих на таймаут:
/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
Я не уверен, что программировать для них. Значение gc_timeout
по умолчанию составляет 5 минут в Linux. Я изменил это на 30 секунд, но все же я не вижу, чтобы запись удалялась внутри base_reachable_time/2
или 3*base_reachable_time/2
.
Как установить время истечения срока для кеша ARP?