¿Por qué cuelga `route` por un tiempo antes de que se descarte la tabla de rutas?

11

Escribiendo el 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

Aquí, antes de que defaultse imprima la última regla de línea , la ruta simplemente cuelga por un tiempo.

¿No está la tabla de rutas almacenada en caché en alguna parte?

Solía ​​obtener el resultado routepara obtener la defaultregla, para obtener la puerta de enlace predeterminada. Ahora, routeparece colgarse por un tiempo en algunas máquinas.

Xiè Jìléi
fuente
2
Por cierto, sería más eficiente analizar el archivo / proc / net / route para esa información.
Keith
Las IP están codificadas en números hexadecimales en /proc/net/route.
Xiè Jìléi
2
Si. para que puedas convertirlos. Si no puede, la salida de ip routetambién es más fácil de analizar.
Keith

Respuestas:

23

Está tratando de hacer una búsqueda inversa de DNS en la dirección de la puerta de enlace y está esperando el tiempo de espera. Intente ejecutar con la -nopción de suprimir eso.

Keith
fuente
3

Es posible que tenga algunos problemas relacionados con DNS. Pruebe lo siguiente para verificarlo:

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

host www.google.com <IP_1>

host www.google.com <IP_2>

Si todo funciona bien, no debería tener demoras al ejecutar el comando 'ruta'

Saludos

Pablo Florencio
fuente