Por que o `route` fica suspenso por um tempo antes de a tabela de rotas ser despejada?

11

Digitando o comando:

% route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     2      0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
(... hang for a while ...)
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0

Aqui, antes que a última defaultregra de linha seja impressa, a rota fica parada por um tempo.

A tabela de rotas não está armazenada em cache em algum lugar?

Eu costumava grep o resultado de routepara obter a defaultregra, para obter o gateway padrão. Agora, routeparece travar por um tempo em algumas máquinas.

Xiè Jìléi
fonte
2
BTW, seria mais eficiente analisar o arquivo / proc / net / route para essas informações.
Keith
Os IPs são codificados em números hexadecimais em /proc/net/route.
Xiè Jìléi
2
Sim. para que você possa convertê-los. Se você não pode, a saída de ip routetambém é mais fácil de analisar.
Keith

Respostas:

23

Ele está tentando fazer uma pesquisa DNS reversa no endereço do gateway e aguardando o tempo limite. Tente executar com a -nopção de suprimir isso.

Keith
fonte
3

Você pode ter alguns problemas relacionados ao DNS. Tente o seguinte para verificar:

$ cat /etc/resolv.conf
nameserver <IP_1>
nameserver <IP_2>
search <DOMAIN>

host www.google.com <IP_1>

host www.google.com <IP_2>

Se tudo estiver funcionando bem, você não deve receber atrasos ao executar o comando 'route'

Saudações

Pablo Florencio
fonte