Bonjour, кажется, заставляет имя хоста преобразовываться в старый IP

561
hg lim

У меня есть несколько устройств в сети и инструмент администрирования, который использует Bonjour для обнаружения устройств. Устройства настроены на использование DHCP. Пример сценария выглядит следующим образом (давайте предположим, что аренда DHCP действительно короткая, а эхо-ответ ICMP доступен)

Первоначально одно устройство (DeviceA.local) получает 192.168.1.1, а другое (DeviceB.local) получает 192.168.1.2.

Я тогда пингую оба устройства по имени, и это решает правильно.

Затем я отключаю DeviceA.local от сети и снова подключаю его. DeviceA.local теперь получает 192.168.1.3. Я совершенно уверен, что DeviceA.local получает этот IP, проверяя arp cache ( arp -a) и сравнивая MAC-адрес.

Однако, когда я ping DeviceA.local, это разрешает 192.168.1.1 вместо 192.168.1.3.

Это служба Bonjour, работающая в Windows 7. Я пытался остановить и затем запустить службу Bonjour, но это не проясняет ситуацию. Итак, мои вопросы:

  • Кэш Bonjour разрешил сопоставление имени хоста и IP где-нибудь? Если так, то где?
  • Как очистить кэш и принудительно открыть заново?
1
Обычно «повторное обнаружение» вызывается повторным объявлением устройства. Можете ли вы уточнить в Wireshark, отправляет ли Bonjour (mDNSResponder) хотя бы запросы? Можете ли вы попробовать низкоуровневый инструмент `dns-sd`? (Он общается с Bonjour напрямую, а ping проходит через Winsock.) grawity 8 лет назад 0
@ grawity Спасибо за предложение, как же упс ... получается, что одно из устройств не смогло переключиться обратно на DHCP и все еще зависло со статическим IP (что конфликтует в целях тестирования). =) Хотелось бы еще узнать ответы на два моих вопроса, спасибо. hg lim 8 лет назад 0

0 ответов на вопрос

Похожие вопросы