Я использую сервер Windows 2008r2 в роли, не связанной с доменом (рабочая группа). Это DNS-сервер и DHCP-сервер для локальной сети.

Службы DNS работают нормально для внешних интернет-адресов, но локальные имена хостов не разрешаются (в основном - подробности см. Ниже).

Сервер DHCP перечисляет правильное имя хоста для всех устройств в локальной сети в своем списке аренды, но сервер DNS, кажется, не знает.

Я настроил параметры области DHCP, чтобы клиенты могли зарегистрировать свой DNS. На вкладке DNS в свойствах области DHCP установлены флажки для

  • "Включить динамическое обновление DNS"
  • Msgstr "Всегда обновлять записи DNS и PTR DNS".
  • "Отменить записи A и PTR при удалении аренды",
  • «Динамически обновлять записи DNS A и PTR для клиентов, которые не запрашивают обновления ...»

В качестве примера я покажу результаты разрешения имен для 4 хостов

  1. sun - сервер Windows 2008r2 (DNS, DHCP)
  2. Марс - клиент Windows 10
  3. Уран - Linux Ubuntu 16.04 клиент
  4. PiZeroW - Raspberry Pi Zero, Raspbian

Я пытаюсь использовать имена хостов с суффиксом .local и без него.

От солнца:

Ping mars           works (mars.local also works)
Ping Uranus         works
Ping Uranus.local   host not found      
Ping PiZeroW        host not found (same result for .local)

С Марса:

ping sun             works     (sun.local also works)
ping uranus          works     (uranus.local also works)
Ping PiZeroW         host not found (same result for .local)

С Урана:

ping sun          unknown host (same result for .local)
ping mars         unknown host (same result for .local)
Ping PiZeroW      unknown host
Ping PiZeroW.local  works

От PiZeroW:

ping sun             unknown host   (same result for .local)
ping mars            unknown host   (same result for .local)
ping uranus          unknown host   
ping uranus.local    works 

Может кто-нибудь пролить свет на то, почему я получаю противоречивые результаты? Есть ли здесь образец, который дает подсказку? Есть хороший учебник по настройке DNS локальной сети?

1 ответ1

0

Ваши компьютеры в разной степени реализуют разрешение имен многоадресной передачи (LLMNR). Этот механизм работает в одноранговой сети без центрального сервера, поэтому хосты сообщают свои имена в ответ на запросы, которые отправляются в виде многоадресных дейтаграмм в локальной сети. Хост с соответствующим именем отправляет ответ запрашивающему хосту. Имена являются именами с одной меткой, такими как "mars" без суффикса. Для удобства клиенты Windows принимают суффикс .local, который удаляется перед выполнением запроса.

Чтобы этот механизм работал, и запрашивающие хосты, и отвечающие хосты должны включать LLMNR. Если на запрашивающем компьютере не реализована LLMNR, он будет полагаться только на другие механизмы, такие как DNS или записи статического хоста в /etc /hosts. На запрашиваемом хосте должен быть включен ответчик.

Многоадресный DNS (mDNS) - аналогичный механизм, но он реже используется на компьютерах с Windows.

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