Pourquoi «route» se bloque-t-il pendant un certain temps avant le vidage de la table de routage?

11

Taper la commande:

% 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

Ici, avant que la dernière defaultrègle de ligne ne soit imprimée, route se bloque pendant un certain temps.

La table de routage n'est-elle pas mise en cache quelque part?

J'ai utilisé pour récupérer le résultat de routepour obtenir la defaultrègle, pour obtenir la passerelle par défaut. Maintenant, routesemble se bloquer pendant un certain temps dans certaines machines.

Xiè Jìléi
la source
2
BTW, il serait plus efficace d'analyser le fichier / proc / net / route pour ces informations.
Keith
Les adresses IP sont codées en nombres hexadécimaux en /proc/net/route.
Xiè Jìléi
2
Oui. afin que vous puissiez les convertir. Si vous ne le pouvez pas, la sortie de ip routeest également plus facile à analyser.
Keith

Réponses:

23

Il essaie de faire une recherche DNS inversée sur l'adresse de la passerelle et attend le délai d'expiration. Essayez de courir avec l' -noption pour supprimer cela.

Keith
la source
3

Vous pouvez avoir des problèmes liés au DNS. Essayez ce qui suit pour le vérifier:

$ 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 tout fonctionne bien, vous ne devriez pas avoir de retard lors de l'exécution de la commande «route»

Cordialement

Pablo Florencio
la source