Как я могу разрешить .local адреса в Windows?

13

У меня есть несколько серверов Linux в моей домашней сети, к которым я получаю доступ через "hostname.local", однако при использовании компьютера с Windows они не могут решить эту проблему, если я не иду по IP-адресу.

Как мне сделать так, чтобы мой компьютер с Windows мог разрешать адреса hostname.local? Я знаю, как редактировать, C:\Windows\System32\drivers\etc\hostsно наверняка должен быть какой-то автоматический способ заставить Windows просто найти эти машины?

Хорхе Кастро
источник
Как вы делаете это на машинах Linux? (Поскольку вы хотите использовать один и тот же метод на машинах Windows.) Настраиваете ли вы его на каждой машине? Или у вас есть локальный DNS-сервер, который разрешает их для вас?
Дэвид Шварц
@DavidSchwartz Ubuntu поставляется с avahi из коробки, так что они могут разрешать друг друга очень хорошо без какой-либо конфигурации от меня.
Хорхе Кастро

Ответы:

24

Обычно .localимена разрешаются с использованием mDNS - серверы Linux, вероятно, работают под управлением Avahi, а для Windows есть собственный Bonjour от Apple.

Старая версия Bonjour (v2.0) включена в Bonjour Print Services . Он также доступен в виде шоколадной упаковки .

Последняя версия (v3.x) недоступна для самостоятельной загрузки, но устанавливается как часть iTunes (и нескольких других приложений ). Для извлечения Bonjour64.msiиз программы установки iTunes можно использовать менеджер архивов (например, 7-Zip или WinRAR) .

user1686
источник
Даже не нужно перезагружаться после установки msi!
Гак
последняя версия сейчас
3.0.10
3
Я не собираюсь обновлять ответ для незначительных выпусков. Вы можете извлечь последнюю версию из iTunes.msi с помощью msiexec /a iTunes.msi TARGETPATH=iTunes.out.
user1686
5
Установщик сейчас исполняемый файл, но вы можете извлечь его с WinRAR.
Снег слепой
2
Вы также можете извлечь его из установщика exe, используя 7zip и т. Д.
Kevin Horn
5

Как отмечает @Kevin Keane здесь (и в разделе комментариев выше), Windows 10 теперь забивает mDNS-порт 5353 сервисом, который работает только для современных приложений Windows. Таким образом, чтобы позволить Bonjour вернуться на порт, служба windows mDNS должна быть отменена путем редактирования реестра, описанного в приведенной выше ссылке.

В версиях Windows 10, отличных от Home, вместо редактирования реестра можно использовать редактор групповой политики:

  • запустите gpedit.msc
  • Перейдите к Конфигурации компьютера > Административные шаблоны > Сеть > DNS-клиент
  • Включите политику «Отключить разрешение имен многоадресной рассылки».

Мне не пришлось перезагружаться.

Предостережение, у меня уже были установлены как iTunes, так и Bonjour Print Services. Простое удаление Bonjour Print Services и переустановка не работали - мне пришлось зайти в программы удаления и удаления, удалить Bonjour и Bonjour Print Services, а затем переустановить Bonjour Print Services, прежде чем пинговать .local адреса снова начали работать (только для хоста virtualbox гость linux с работающим avahi-демоном). Я думаю, это потому, что моя служба «Bonjour Service» была привязана к Bonjour, а не к Bonjour Print Services, и сама не проходила перерегистрацию.

deargle
источник
Это работало для меня на моем Windows 10. Я удалил Bonjour и обновил свой iTunes (пришло время регулярного обновления), и домены .local начали работать. Мне не пришлось перезагружаться.
Michaelkay
Отключать это больше не нужно; в текущих версиях Windows 10 эта функция отключена по умолчанию, но если вы ее действительно включите , они будут предлагать разрешение имен .local на основе mDNS через стандартные системные функции без какого-либо стороннего программного обеспечения.
user1686
@grawity В последней версии Window Pro для рабочих станций без распознавателя Apple mDNS я не вижу, чтобы он работал с включенным или отключенным для этого параметра. Поиск с таким же .localименем прекрасно работает в Linux.
Брайан Гордон