Почему `route` на некоторое время зависает перед сбросом таблицы маршрутов?

11

Введите команду:

% 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

Здесь, до того, как defaultбудет напечатано правило последней строки , маршрут просто висит на некоторое время.

Таблица маршрутов не кэшируется где-нибудь?

Я использовал grep для получения результата, routeчтобы получить defaultправило, чтобы получить шлюз по умолчанию. Теперь, routeкажется, зависают на некоторых машинах.

Xiè Jìléi
источник
2
Кстати, было бы более эффективно проанализировать файл / proc / net / route для этой информации.
Кит
IP-адреса кодируются шестнадцатеричными числами в /proc/net/route.
Xiè Jìléi
2
Да. так что вы можете конвертировать их. Если вы не можете, вывод ip routeтакже легче проанализировать.
Кит

Ответы:

23

Он пытается выполнить обратный поиск DNS по адресу шлюза и ожидает тайм-аута. Попробуйте запустить с -nопцией, чтобы подавить это.

Кит
источник
3

У вас могут быть проблемы с DNS. Попробуйте следующее, чтобы проверить это:

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

host www.google.com <IP_1>

host www.google.com <IP_2>

Если все работает нормально, вы не должны задерживаться при выполнении команды route

С уважением

Пабло Флоренсио
источник