60 segundos
você pode verificar com:
cat /proc/sys/net/ipv4/neigh/ethX/gc_stale_time
e altere-o com
echo timeout > /proc/sys/net/ipv4/neigh/ethX/gc_stale_time
o tempo limite é novo valor
Não encontrei como verificar e alterar o tempo limite do cache do arp padrão no Linux. Eu usando o Debian com kernel 3.x (mas eu supus o mesmo com os kernels mais antigos)
Eu reconheço que, enquanto escrevo isso, esta é uma pergunta de três anos. Mas eu me deparei com essa questão enquanto pesquisava o mesmo assunto, e no processo de corroborar a resposta do watchmansky ( link ), eu aprendi um pouco mais sobre a situação, pelo menos como existe hoje.
De acordo com o link , a configuração
gc_stale_time
efetua com que frequência o cache do ARP é verificado para entradas obsoletas. (Ou lixo coletado , daí o "gc_" no início do nome da configuração.)
Enquanto isso, o valor
base_reachable_time_ms
na verdade controla por quanto tempo uma entrada de cache do ARP é válida e o padrão é 30000 milissegundos. Mas cada nova entrada de cache ARP receberá realmente um valor de tempo de vida aleatoriamente definido em algum lugar entre base_reachable_time_ms / 2 and 3*base_reachable_time_ms / 2
*.
Isso significa que cada nova entrada ARP armazenada em cache terá um tempo limite inicial entre 15 e 45 segundos, a menos que o valor de base_reachable_time_ms
seja alterado.
Isso pressupõe que o valor de tempo limite atual para uma entrada ARP em cache é validado antes do uso e que a taxa de coleta de lixo não influencia a validade efetiva das entradas de cache.
(* Confirmado pela leitura do código em link )