При написании сценария я хотел ссылаться на компьютер по имени компьютера, которое я ему дал (например, «selenium-rc»). Я не мог пропинговать его, используя «selenium-rc», поэтому я попробовал следующие команды, чтобы увидеть, было ли имя распознано.
> traceroute 192.168.235.41
traceroute to 192.168.235.41 (192.168.235.41), 64 hops max, 52 byte packets
1 selenium-rc (192.168.235.41) 0.545 ms 0.241 ms 0.124 ms
Хорошо, traceroute "нашел" имя. Как? Следующий ...
> traceroute selenium-rc
traceroute: unknown host selenium-rc
Хм ... механизм поиска здесь должен быть другим, потому что хост неизвестен. Я предполагаю, что это использует процесс разрешения имен системы, тогда как первый пример использовал процесс, специфичный для traceroute. Верный?
Потом, когда я вернулся чуть позже ...
> traceroute 192.168.235.41
traceroute to 192.168.235.41 (192.168.235.41), 64 hops max, 52 byte packets
1 minint-q4e8i52.mycorp.net (192.168.235.41) 0.509 ms 0.206 ms 0.136 ms
ОК, другой результат. Имя «selenium-rc» не изменилось на самой машине, но процесс разрешения имен traceroute должен включать в себя какой-то приоритет и теперь дает предположительно более авторитетный результат, назначенный другой системой / службой в сети. (К сожалению, я предполагаю, что это динамическое имя, которое я не контролирую, и поэтому оно не будет полезным в сценарии.)
Может кто-нибудь объяснить результаты?
источник
Похоже, вы правильно настроили обратный поиск, но не вперед.
Ваша система может найти IP-адрес 192.168.235.41 и распознать, что это так
selenium-rc
, но когда она пытается найти,selenium-rc
она не работает.Я рекомендую вам проверить
/etc/hosts
и/etc/resolv.conf
; Поведениеgetaddrinfo
системного вызова определяется последним и ссылается на первое.источник
Мое предположение: вызов
traceroute 192.168.235.41
вызвал запрос DNS, чтобы найти имя, которое соответствует IP-адресу 192.168.235.41.traceroute -n 192.168.235.41
способ запустить traceroute без поиска DNS по каждому найденному IP-адресу. DNS-серверу потребовалось больше времени для ответа, чем система DNS хотела ждать, поэтому сначала traceroute не дал имя хоста для 192.168.235.41. К тому времени, когда traceroute отправляет и получает пакеты от 192.168.235.41, ваш DNS-сервер уже ответил, поэтому traceroute может дать ему имя хоста.Итак, я бы сказал, «проблемы с DNS-сервером», с очень удобным временем, которое вызывало у вас подозрения в отношении других вещей. Подумайте «Закон Мерфи» здесь. Когда вы вернулись чуть позже, вы получили другое имя для того же IP-адреса, что также заставляет меня думать, что, возможно, кто-то связывался с настройкой DNS-сервера во время выполнения ваших трассировок.
источник