Для лабораторного оборудования я везде использую настройки по умолчанию, а они используют автоматическую настройку IP (я думаю, APIPA или zeroconf); Я положил их на частный выключатель.

Мне всегда удавалось обращаться к ним по имени хоста, я думаю, что это работает через mDNS.

Теперь я заменил одно устройство на идентичное, и вдруг это перестало работать:

C:\>ping FSW26-101414
Ping request could not find host FSW26-101414. Please check the name and try aga
in.

Инструменты, конечно, работают, и имя хоста определенно верно:

C:\>ping 169.254.27.85

Pinging 169.254.27.85 with 32 bytes of data:
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128
Reply from 169.254.27.85: bytes=32 time<1ms TTL=128

Ping statistics for 169.254.27.85:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Что может быть причиной этого? Является ли проблема "хостом" или "клиентом"? Как я могу отладить это?

1 ответ1

0

Локальное разрешение имен может использовать несколько протоколов. Сгруппированы по клиентским ОС:

  • Windows 10 (не знаю, какие выпуски, но приблизительно 10.1803 или более поздние) поддерживают протокол Apple mDNS (многоадресная передача UDP на порт 5353). Запросы имен отправляются группам многоадресной рассылки 224.0.0.251 и FF02::FB. Это не зависит от конфигурации IP (несмотря на то, что является частью пакета Zeroconf, он не использует, не подразумевает APIPA и наоборот). Кажется, он активен всякий раз, когда активен LLMNR.

    (Если у вас установлен iTunes, независимо от версии Windows, он устанавливает свой собственный клиент mDNS - Apple Bonjour - в качестве Winsock LSP. Bonjour разрешает имена только с суффиксом .local , в то время как встроенный клиент принимает одноабонентный без TLD имена тоже.)

  • Windows Vista и Server 2008 и более поздние версии поддерживают протокол LLMNR (многоадресная передача UDP на порт 5355). Запросы имен отправляются групповым группам 224.0.0.252 и FF02::1:3. Это не зависит от конфигурации IP; он активен, пока активно обнаружение сети.

  • Все версии Windows поддерживают протокол службы имен NetBIOS (широковещательная рассылка UDP/IPv4 на порт 137, а также некоторые сложные выборы "главного браузера"). Насколько я понимаю, запросы на имя транслируются. Это не зависит от конфигурации IP, но требует, чтобы SMBv1 был установлен и включен.

Я не знаю, какое "лабораторное оборудование" вы используете, но любой из этих протоколов может поддерживаться не Windows-устройствами. (Например, в Linux mDNS реализован с помощью Avahi или mDNSResponder; LLMNR реализован с помощью systemd-resolved или xllmnrd; NBNS реализован с помощью Samba nmbd.) Многие устройства говорят на mDNS. Печатники, как правило, говорят все три и более.

Как устранить неполадки многоадресных протоколов:

  1. Установите инструмент захвата пакетов.
  2. Направьте его на интерфейс вашей локальной сети.
  3. Попробуйте разрешить имя, посмотрите, генерирует ли ваш компьютер ожидаемые пакеты запросов LLMNR или mDNS и генерирует ли другое устройство какие-либо ответы.
  4. Перезагрузите другое устройство (или просто подключите его к сети) и посмотрите, объявляет ли это устройство свои собственные пакеты регистрации имени.

Обратите внимание, что nslookup не является общим инструментом поиска имен. Это строго одноадресный DNS-клиент, который вообще не помогает с mDNS/LLMNR/NBNS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .