Dlaczego `route` zawiesza się na chwilę przed zrzuceniem tabeli tras?

11

Wpisanie polecenia:

% 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

Tutaj, przed defaultwydrukowaniem ostatniej reguły linii , trasa po prostu się zawiesi.

Czy tabela tras nie jest gdzieś buforowana?

Zwykłem grep wynik z, routeaby uzyskać defaultregułę, aby uzyskać domyślną bramę. Teraz routewydaje się zawieszać przez chwilę na niektórych maszynach.

Xiè Jìléi
źródło
2
BTW, bardziej wydajne byłoby parsowanie pliku / proc / net / route dla tych informacji.
Keith
Adresy IP są zakodowane w liczbach szesnastkowych w /proc/net/route.
Xiè Jìléi
2
Tak. więc możesz je przekonwertować. Jeśli nie możesz, wynik ip routejest również łatwiejszy do przeanalizowania.
Keith

Odpowiedzi:

23

Próbuje wykonać odwrotne wyszukiwanie DNS na adresie bramy i czeka na przekroczenie limitu czasu. Spróbuj uruchomić z -nopcją, aby to ukryć.

Keith
źródło
3

Możesz mieć problemy związane z DNS. Wypróbuj następujące rozwiązania:

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

host www.google.com <IP_1>

host www.google.com <IP_2>

Jeśli wszystko działa poprawnie, nie powinieneś otrzymywać żadnych opóźnień podczas wykonywania polecenia „route”

pozdrowienia

Pablo Florencio
źródło