Как настраивается библиотека разрешения имен клиент dns

Обновлено: 06.07.2024

Инфраструктура DNS требует настроить конфигурацию клиентов и серверов. В типичной сети настройка DNS-клиентов осуществляется через параметры, унаследованные из DHCP или членства в домене Active Directory. Однако для компьютеров со статической конфигурацией IP, а также машин, не входящих в окружение Active Directory, параметры DNS-клиента нужно задавать вручную. На этом занятии мы рассмотрим параметры DNS, которые позволяют компьютеру успешно разрешать имена DNS, а также разрешать имя компьютера другими машинами.

Самым важным параметром конфигурации DNS -клиента является адрес DNS - сервера. Когда клиент выполняет запрос DNS , он вначале пересылает этот запрос по адресу предпочтительного DNS -сервера клиента. Если предпочтительный DNS -сервер недоступен, DNS -клиент обращается к альтернативному DNS -серверу, если таковой указан. Отметим, что клиент не обращается к альтернативному DNS -серверу в случае доступности предпочтительного сервера лишь потому, что последний не может разрешить запрос.

Параметры DNS -сервера можно отконфигурировать с помощью списка, состоящего из множества приоритетных адресов DNS -серверов по своему усмотрению, использовать DHCP для назначения списка либо указать эти адреса вручную. При использовании DHCP клиентов можно отконфигурировать с помощью опции 006 DNS -сервер (006 DNS Server ), а затем настроить автоматическое получение клиентом адреса DNS -сервера в диалоговом окне Свойства: Протокол версии 4 ( TCP / IPv 4) ( Internet Protocol 4 ( TCP / IPv 4) Properties ). Этот параметр назначается по умолчанию .

Чтобы настроить список DNS-серверов вручную, нужно использовать диалоговое окно свойств протокола TCP/IPv4 и назначить в нем один или два DNS-сервера (предпочтительный и альтернативный).

Чтобы (сконфигурировать более длинный список, щелкните кнопку Дополнительно (Advancved) и перейдите па вкладку DNS. С помощью кнопки Добавить (Add) добавьте серверы в список приоритетных DNS-серверов.

Основной DNS-суффикс выполняет две функции. Он позволяет клиенту автоматически регистрировать собственные записи узла в зоне DNS, имена которой соответствуют имени основного DNS-суффикса. Эта запись узла позволяет другим компьютерам разрешать имя локального DNS-клиента. Кроме того, DNS-клиент автоматически добавляет основной DNS-суффикс в запросы DNS, которые имеют суффиксы.

В процессе присоединения компьютера к домену Active Directory имя домена автоматически конфигурируется с основным DNS-суффиксом компьютера. Чтобы настроить основной DNS-суффикс вне домена Active Directory, на вкладке Имя компьютера (Computer Name) диалогового окна Свойства системы (System Properties) щелкните кнопку Изменить (Change) и в открывшемся диалоговом окис Изменение имени компьютера или домена (Computer Name / Domain Changes) щелкните кнопку Дополнительно (More). Откроется диалоговое окно DNS-суффикс и NetBIOS-имя компьютера (DNS Suffix And NetBIOS Computer Name).

Помимо основного DNS-суффикса компьютеру можно назначить суффикс подключения; делается это с DHCP-сервера или вручную. Этот тип суффикса связан лишь с отдельным сетевым подключением. С DHCP-сервера суффикс подключения назначается с помощью опции 015 Доменное имя (015 DNS Domain Name). Суффикс подключения можно назначить вручную для любого сетевого подключения па вкладке DNS диалогового окна Дополнительные параметры TCP / IP ( Advanced TCP / IP Settings ).


Для DNS-клиентов можно отконфигурировать поисковый список доменных DNS-суффиксов, чтобы расширить или изменить их поисковые способности DNS. Добавив суффиксы в список, можно выполнить поиск коротких неквалифицированных имен в нескольких указанных DNS-доменах. В случае ошибки запроса DNS служба DNS-клиент (DNS Client) может использовать этот список для прикрепления других суффиксов к исходному имени и многократной отправки запросов на DNS-сервер с целью поиска альтернативных имен F QDN.

По умолчанию служба DNS -клиент сначала прикрепляет к неквалифицированному имени локального компьютера основной DNS -суффикс. Если этот запрос не разрешает имя, служба DNS -клиент добавляет все суффиксы подключения, назначенные этому сетевому адаптеру. Если эти запросы также не разрешают имя, служба DNS -клиент добавляет родительский суффикс основного DNS -суффикса.

Настраиваемые поисковые списки DNS -суффиксов

Поиск суффиксов можно настроить, создав список DNS -суффиксов в окне Дополнительные параметры TCP / IP ( Advanced TCP / IP Settings ).

Опция Дописывать следующие DNS-суффиксы (Append These DNS Suffixes) позволяет указать список DNS-суффиксов, которые будут добавляться к неквалифицированным именам. DNS-суффиксы поискового списка служба DNS- клиент добавляет в указанном порядке, не пытаясь использовать другие доменные имена. Например, если отконфигурировать суффиксы в соответствии с поисковым списком и подтвердить запрос неквалифицированного имени из одной метки coffee, служба DNS-клиент вначале запросит имя coffee. wikipedia . org , а затем имя coffee.eu. wikipedia . org .

Поисковый список DNS -суффиксов также можно отконфигурировать в групповой политике. Соответствующий параметр объекта групповой политики Порядок просмотра DNS -суффиксов ( DNS Suffix Search List ) находится в папке Конфигурация компьютера\Административные шаблоны\Сеть\ DNS -клиент ( Computer Configuration \ Administrative Tools \ Network \ DNS Client ).

С настроенным динамическим обновлением DNS-серверы Windows Server 2008 могут принимать динамическую регистрацию и обновления записей А (узел), АААА ( IPv 6-узел) и PTR (указатель). Саму регистрацию и обновления нужно выполнять с помощью DNS-клиента или DHCP-сервера (от лица DNS-клиеита).

Запись узла в зоне прямого поиска возвращает адрес компьютера при запрашивании его по имени. Это самая важная запись ресурса. Запись указателя выполняет противоположное: она есть только в зонах обратного поиска, и возвращает имя компьютера при запрашивании его IP -адреса. Более подробные сведения о типах зон и записях ресурсов можно найти в главе 3.

Динамическое обновление отдельных клиентов выполняется только в том случае, если они отконфигурированы с помощью основного DNS -суффикса или суффикса подключения, соответствующего имени зоны, управляемой предпочтительным DNS -сервером. Например, для динамического обновления компьютера Client 1 в зоне google . ru именем FQDN этого компьютера должно быть client 1. google . ru , и клиент должен указать в качестве предпочтительного DNS -сервера IP -адрес DNS -сервера, управляющего основной зоной google . ru .

ПРИМЕЧАНИЕ: Автоматическая адресация и автоматическое обновление DNS

DNS -клиенты никогда не пытаются регистрировать IPv 4-адреса APIPA или локальные APv 6-адреса каналов с помощью DNS-сервера.

Компьютер с включенным параметром Использовать DNS-суффикс подключения при регистрации в DNS ( Use This Connection ' s DNS Suffix In DNS Registration) пытается регистрировать записи А и АААА для всех DNS-суффиксов, назначенных сетевому подключению. Отметим, что DNS-суффикс подключения не требуется вводить в текстовое поле DNS-суффикс подключения (DNS Suffix For This Connection). Этот суффикс может наследоваться от DHCP-сервера (в частности, с помощью опции 015 Доменное имя (015 Domain Name)). Поэтому если включить этот параметр, DHCP-клиент, назначающий доменное имя DNS с DHCP-сервера, регистрирует записи А и АААА с помощью предпочтительного DNS-сервера. Для успешного выполнения регистрации доменное имя DNS, унаследованное от DHCP-сервера, должно соответствовать имени основной зоны, управляемой предпочтительным DNS-сервером, а основная зона, управляемая предпочтительным DNS-сервером, должна разрешать тип динамических обновлений, которые может выполнять клиент. Кроме того, если клиенту уже назначен основной DNS-суффикс, соответствующий DNS-суффиксу подключения, то при включении этого параметра дополнительные записи узлов не будут регистрироваться.

Чтобы выполнять регистрацию всех записей узлов в DNS , в командную строку введите с привилегиями администратора команду:

Для клиентов со статическими адресами обновление записей PTR выполняется так же, как и обновление записей узлов (А и АААА). Если включить параметр Зарегистрировать адреса этого подключения в DNS ( Register This Connection ' s Addresses In DNS ), DNS -клиенты со статическими адресами всегда будут регистрировать и обновлять свои записи указателей на DNS -сервере. Можно зарегистрировать на DNS -сервера PTR - записи клиента со статическим адресом, запустив в командной строке с административными привилегиями на компьютере клиента команду:

Для успешной регистрации требуется выполнение определенных условий. Во-первых, DNS -клиенту нужно назначить соответствующий основной DNS -суффикс. Во-вторых, предпочтительный DNS -сервер клиента должен управлять соответственно настроенными зонами прямого и обратного поиска.

Обновление PTR -записей DHCP -клиентов отличается от обновления записей клиентов со статическими адресами, а обновление PTR -записей DHCP - клиентов в рабочей группе отличается от обновления в среде Active Directory . Далее описано обновление PTR -записей DHCP -клиентов в этих двух средах.

В среде рабочей группы DHCP -клиенты имеют собственные PTR -записи, обновляемые DHCP -сервером. Обновление можно выполнять с помощью команды Ipconfig / renew . Для успешной регистрации требуется соблюдение определенных условий. Во-первых, DNS -клиенту и DNS -серверу нужно назначить этот DNS -сервер как предпочтительный. Во-вторых, на компьютере DNS -клиента нужно включить параметр Зарегистрировать адреса этого подключения в DNS ( Register This Connection ' s Addresses In DNS ). В-третьих, DNS -клиенту должен быть назначен соответствующий DNS -суффикс (вручную в качестве основного DNS -суффикса или автоматически с DHCP -сервера). Наконец, на DNS -сервере нужно соответствующим образом отконфигурировать зоны прямого и обратного поиска.

В среде Active Directory клиенты DHCP обновляют свои PTR-записи. Для запуска обновления можно использовать команды I pconfig/registerdns или I pconfig/renew. Для успешного обновления нужно включить параметр Использовать DNS-суффикс подключения при регистрации в DNS (Use This Connection's DNS Suffix In DNS Registration ). Чтобы включить этот параметр, нужно вначале включить параметр Зарегистрировать адреса этого подключения в DNS ( Register This Connection ' s Addresses In DNS ). Наконец, для успешного обновления PTR-записи в среде доменных служб Active Directory предпочтительный DNS-сервер клиента должен управлять соответственно отконфигурированными зонами прямого и обратного поиска.

Чтобы компьютеры в сети регистрировали имена DNS подключений, можно использовать групповую политику. В объекте групповой политики откройте папку Конфигурация компьютера\Административные шаблоны\Сеть\ DNS -клиент ( Computer Configuration \ Administrative Tools \ Network \ DNS Client ) и включите параметр политики Регистрировать DNS -записи с DNS -суффиксом подключения ( Register DNS Records With Connection - specific DNS Suffix ).

Кэш DNS -клиента (или кэш распознавателя DNS ) поддерживается всеми DNS -клиентами. DNS -клиенты проверяют свой кэш распознавателя перед запросом DNS -сервера. При получении DNS -клиентом ответа на запрос от DNS -сервера в кэш распознавателя добавляются новые записи.

Для просмотра кэша DNS -клиента в командную строку введите команду ipconfig / displaydns . Будут показаны все записи, загруженные из локального файла Hosts , а также все недавно полученные записи запросов имен, выполненных системой.

Для очистки кэша DNS -клиента в командную строку можно ввести команду ipconfig flushdns . В качестве альтернативы можно перезагрузить службу DNS -клиент ( DNS Client ), используя консоль Службы ( Services ) в опциях Администрирование ( Administrative Tools ) меню Пуск (Start).

date

08.02.2021

directory

Windows Server 2016, Windows Server 2019

comments

комментария 4

В этой статье мы рассмотрим два способа организации условного разрешения имен в DNS сервере на Windows Server 2016: DNS conditional forwarding и DNS policy. Эти технологии позволяют настроить условное разрешение DNS имен в зависимости от запрошенного имени, IP адреса и местоположения клиента, времени суток и т.д.

Настройка DNS Conditional Forwarder в Windows Server

  1. Запустите консоль управления DNS ( dnsmgmt.msc );
  2. Разверните ваш DNS сервер, щелкните правой кнопкой по разделу Conditional Forwarders и выберите New Conditional Forwarder;
  3. В поле DNS domain укажите FQDN имя домена, для которого нужно включить условную пересылку;
  4. В поле IP addresses of the master servers укажите IP адрес DNS сервера, на который нужно пересылать все запросы для указанного пространства имен;
  5. Если вы хотите хранить правило условной переадресации не только на этом DNS сервере, вы можете интегрировать его в AD. Выберите опцию “Store this conditional forwarder in Active Directory”;
  6. Выберите правило репликации записи conditional forwarding (All DNS servers in this forest, All DNS servers in this domain или All domain controllers in this domain).

Настройка DNS Conditional Forwarding с помощью PowerShell

Вы можете создать правило Conditional Forward для определенной DNS зоны с помощью PowerShell. Воспользуйтесь командлетом Add-DnsServerConditionalForwarderZone:

Чтобы вывести список DNS Conditional Forwarders на определенном сервере, выполните следующий PowerShell скрипт:

$DNSServer = "DC01"
$Zones = Get-WMIObject -Computer $DNSServer -Namespace "root\MicrosoftDNS" -Class "MicrosoftDNS_Zone"
$Zones | Select-Object Name,MasterServers,DsIntegrated,ZoneType | where | ft -AutoSize

powershell вывести список правил Conditional Forwarders на DNS сервере с windows server

Фильтрация запросов DNS, политики разрешения имен в Windows Server 2016

В Windows Server 2016 появилась новая фича в службе DNS сервера – DNS политики. DNS политики позволяют настроить DNS сервер так, чтобы он возвращал различные ответы на DNS запросы в зависимости от местоположения клиента (с какого IP адреса или подсети пришел запрос), интерфейса DNS сервера, времени суток, типа запрошенной записи (A, CNAME, PTR, MX) и т.д. DNS политики в Windows Server 2016 позволяют реализовать сценарии балансировки нагрузки, фильтрации DNS трафика, возврата DNS записей в зависимости от геолокации (IP адреса клиента) и многие другие сложные сценарии.

Вы можете создать политику как на уровне DNS сервера, так и на уровне всей зоны. Настройка DNS политик в Windows Server 2016 возможна только из командной строки PowerShell.

Я создал 3 подсети для разных офисов компании:

Add-DnsServerClientSubnet -Name "MSK_DNS_Subnet" -IPv4Subnet "192.168.1.0/24"
Add-DnsServerClientSubnet -Name "EKB_DNS_Subnet" -IPv4Subnet "192.168.11.0/24"
Add-DnsServerClientSubnet -Name "SPB_DNS_Subnet" -IPv4Subnet "192.168.21.0/24"

Эти команды придется выполнить на всех DNS серверах, на которых должна работать условная политика DNS. Эти записи не реплицируются в DNS и хранятся локально в реестре DNS сервера. Вы можете указать имя сервера с помощью параметра -ComputerName dc01 .

Чтобы вывести список всех IP подсетей клиентов, выполните:

создать отдельные DNS подсети для различных IP подсетей (офисов(

Теперь нужно для каждого офиса создать отдельную DNS область:

Следующие команды добавят 3 DNS записи с одним именем, но указывающие на разные IP адреса в разных областях DNS:

Вы можете вывести все ресурсные DNS записи для области с помощью команды:

вывести список записей в dns области Get-DnsServerResourceRecord

Теперь нужно создать DNS политики, которые свяжут IP подсети, DNS области и A записи.

  • -Action ALLOW
  • -Action DENY
  • -Action IGNORE

Можно использовать следующие параметры в фильтре DNS:

-InternetProtocol "EQ,IPv4,NE,IPv6"
-TransportProtocol "EQ,UDP,TCP"
-ServerInterfaceIP "EQ,192.168.1.21"
-QType "EQ,A,AAAA,NE,PTR"
-TimeOfDay "EQ,9:00-18:00"

Вывести список всех DNS политик для DNS зоны на сервере можно так:

политики DNS в windows server Get-DnsServerQueryResolutionPolicy

Теперь с устройств из различных офисов проверьте, что DNS сервер на один и тот же запрос возвращает различные IP адреса прокси:

Можно запретить DNS серверу возвращать DNS адреса для определенного пространства имен (домена):

Способ настройки разрешения имен на DNS-клиентов зависит от конфигурации сети. Если в ней применяется DHCP, настройка DNS осуществляется при помощи параметров DHCP-сервера. Если на компьютерах используются статические ІР-адреса или вы хотите особо настроить DNS для отдельного пользователя или системы, придется настроить DNS вручную.

Параметры DNS задаются на вкладке DNS диалогового окна Дополнительные параметры TCP/IP (Advanced TCP/IP Settings). Чтобы открыть это окно, выполните следующие действия:

1. В окне Центр управления сетями и общим доступом (Network And Sharing Center) щелкните ссылку Управление сетевыми подключениями (Manage Network Connections). В окне Сетевые подключения (Network Connections) щелкните правой кнопкой нужное подключение и выберите команду Свойства (Properties).

3. Если вы используете DHCP и хотите, чтобы адрес DNS-сервера был задан посредством DHCP, установите переключатель Получить адрес DNS-сервера автоматически (Obtain DNS Server Address Automatically). В противном случае установите переключатель Использовать следующие адреса DNS-серверов (Use The Following DNS Server Addresses), а затем введите адреса основного и дополнительного DNS-серверов в соответствующих полях.

4. Щелкните кнопку Дополнительно (Advanced), чтобы открыть диалоговое окно Дополнительные параметры TCP/IP (Advanced TCP/IP Settings). Перейдите на вкладку DNS. Далее описаны параметры вкладки DNS:

• Адреса DNS-серверов, в порядке использования Укажите ІР-адрес каждого DNS-сервера, используемого для разрешения доменных имен. Чтобы добавить ІР-адрес сервера в список, щелкните Добавить (Add). Щелкните Удалить (Remove), чтобы удалить адрес выделенного сервера из списка. Для редактирования выделенной записи щелкните Изменить (Edit). Если вы указываете несколько серверов DNS, их приоритет определяется очередностью в списке. Если первый сервер не может ответить на запрос о разрешении имени хоста, запрос посылается на следующий DNS-сервер и т. д. Чтобы изменить положение сервера в списке, выделите его и воспользуйтесь кнопками со стрелками вверх и вниз.

• Дописывать родительские суффиксы основного DNS-суффикса (Append Parent Suffixes Of The Primary DNS Suffix) По умолчанию Этот флажок установлен. Он используется для разрешения неполных имен компьютеров в иерархии родительских и дочерних доменов. В случае неудачного запроса в ближайшем родительском домене, для попытки разрешения запроса используется суффикс родительского домена более высокого уровня. Этот процесс продолжается, пока не будет достигнута вершима иерархии доменов DNS. Допустим, в запросе указано имя компьютера Pavel в родительском домене dev.logi.cc. Сначала DNS пытается разрешить имя компьютера pavel.dev.logi.cc, а потом, в случае неудачи, пытается разрешить имя pavel.logi.cc

• Дописывать следующие DNS-суффиксы (по порядку) (Append These DNS Suffixes (In Order)) Установите этот переключатель, чтобы задать использование особых DNS-суффиксов вместо имени родительского домена. Щелкните Добавить (Add), чтобы добавить суффикс домена в список. Щелкните Удалить (Remove), чтобы удалить выделенный суффикс домена из списка. Для редактирования выделенной записи щелкните Изменить (Edit). Вы можете указать несколько суффиксов домена. Если первый суффикс не позволяет разрешить имя, DNS применяет следующий суффикс из списка. В случае неудачи берется следующий суффикс и так далее. Чтобы изменить очередность суффиксов домена, выберите нужный суффикс и измените его положение кнопками со стрелками вверх и вниз.

• DNS-суффикс подключения (DNS Suffix For This Connection) В этом поле задастся DNS-суффикс подключения, перекрывающий DNS-имена, уже настроенные на использование с данным подключением.


В очередном «конспекте админа» остановимся на еще одной фундаментальной вещи – механизме разрешения имен в IP-сетях. Кстати, знаете почему в доменной сети nslookup на все запросы может отвечать одним адресом? И это при том, что сайты исправно открываются. Если задумались – добро пожаловать под кат. .

Для преобразования имени в IP-адрес в операционных системах Windows традиционно используются две технологии – NetBIOS и более известная DNS.

NetBIOS (Network Basic Input/Output System) – технология, пришедшая к нам в 1983 году. Она обеспечивает такие возможности как:

регистрация и проверка сетевых имен;

установление и разрыв соединений;

связь с гарантированной доставкой информации;

связь с негарантированной доставкой информации;

В рамках этого материала нас интересует только первый пункт. При использовании NetBIOS имя ограниченно 16 байтами – 15 символов и спец-символ, обозначающий тип узла. Процедура преобразования имени в адрес реализована широковещательными запросами.

Небольшая памятка о сути широковещательных запросов.

Широковещательным называют такой запрос, который предназначен для получения всеми компьютерами сети. Для этого запрос посылается на специальный IP или MAC-адрес для работы на третьем или втором уровне модели OSI.

Для работы на втором уровне используется MAC-адрес FF:FF:FF:FF:FF:FF, для третьего уровня в IP-сетях адрес, являющимся последним адресом в подсети. Например, в подсети 192.168.0.0/24 этим адресом будет 192.168.0.255

Естественно, постоянно рассылать широковещательные запросы не эффективно, поэтому существует кэш NetBIOS – временная таблица соответствий имен и IP-адреса. Таблица находится в оперативной памяти, по умолчанию количество записей ограничено шестнадцатью, а срок жизни каждой – десять минут. Посмотреть его содержимое можно с помощью команды nbtstat -c, а очистить – nbtstat -R.


Пример работы кэша для разрешения имени узла «хр».


Что происходило при этом с точки зрения сниффера.

В крупных сетях из-за ограничения на количество записей и срока их жизни кэш уже не спасает. Да и большое количество широковещательных запросов запросто может замедлить быстродействие сети. Для того чтобы этого избежать, используется сервер WINS (Windows Internet Name Service). Адрес сервера администратор может прописать сам либо его назначит DHCP сервер. Компьютеры при включении регистрируют NetBIOS имена на сервере, к нему же обращаются и для разрешения имен.

В сетях с *nix серверами можно использовать пакет программ Samba в качестве замены WINS. Для этого достаточно добавить в конфигурационный файл строку «wins support = yes». Подробнее – в документации.

В отсутствие службы WINS можно использовать файл lmhosts, в который система будет «заглядывать» при невозможности разрешить имя другими способами. В современных системах по умолчанию он отсутствует. Есть только файл-пример-документация по адресу %systemroot%\System32\drivers\etc\lmhost.sam. Если lmhosts понадобится, его можно создать рядом с lmhosts.sam.

Сейчас технология NetBIOS не на слуху, но по умолчанию она включена. Стоит иметь это ввиду при диагностике проблем.

если в кэше резолвера адреса нет, система запрашивает указанный в сетевых настройках интерфейса сервер DNS;


Наглядная схема прохождения запроса DNS.

Разумеется, DNS не ограничивается просто соответствием «имя – адрес»: здесь поддерживаются разные виды записей, описанные стандартами RFC. Оставлю их список соответствующим статьям.

Сам сервис DNS работает на UDP порту 53, в редких случаях используя TCP.

DNS переключается на TCP с тем же 53 портом для переноса DNS-зоны и для запросов размером более 512 байт. Последнее встречается довольно редко, но на собеседованиях потенциальные работодатели любят задавать вопрос про порт DNS с хитрым прищуром.

Также как и у NetBIOS, у DNS существует кэш, чтобы не обращаться к серверу при каждом запросе, и файл, где можно вручную сопоставить адрес и имя – известный многим %Systemroot%\System32\drivers\etc\hosts.

В отличие от кэша NetBIOS в кэш DNS сразу считывается содержимое файла hosts. Помимо этого, интересное отличие заключается в том, что в кэше DNS хранятся не только соответствия доменов и адресов, но и неудачные попытки разрешения имен. Посмотреть содержимое кэша можно в командной строке с помощью команды ipconfig /displaydns, а очистить – ipconfig /flushdns. За работу кэша отвечает служба dnscache.


На скриншоте видно, что сразу после чистки кэша в него добавляется содержимое файла hosts, и иллюстрировано наличие в кэше неудачных попыток распознавания имени.

При попытке разрешения имени обычно используются сервера DNS, настроенные на сетевом адаптере. Но в ряде случаев, например, при подключении к корпоративному VPN, нужно отправлять запросы разрешения определенных имен на другие DNS. Для этого в системах Windows, начиная с 7\2008 R2, появилась таблица политик разрешения имен (Name Resolution Policy Table, NRPT). Настраивается она через реестр, в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DnsClient\DnsPolicyConfig или групповыми политиками.


Настройка политики разрешения имен через GPO.

При наличии в одной сети нескольких технологий, где еще и каждая – со своим кэшем, важен порядок их использования.

Операционная система Windows пытается разрешить имена в следующем порядке:

проверяет, не совпадает ли имя с локальным именем хоста;

смотрит в кэш DNS распознавателя;

если в кэше соответствие не найдено, идет запрос к серверу DNS;

если не получилось разрешить имя на этом этапе – происходит запрос на сервер WINS;

если постигла неудача, то система пытается получить имя широковещательным запросом, но не более трех попыток;

Для удобства проиллюстрирую алгоритм блок-схемой:


Алгоритм разрешения имен в Windows.

Выполнение второго пинга происходит на несколько секунд дольше, а сниффер покажет широковещательные запросы.


Сниффер показывает запросы DNS для длинного имени и широковещательные запросы NetBIOS для короткого.

Отдельного упоминания заслуживают доменные сети – в них запрос с коротким именем отработает чуть по-другому.

Для того чтоб при работе не нужно было вводить FQDN, система автоматически добавляет часть имени домена к хосту при различных операциях – будь то регистрация в DNS или получение IP адреса по имени. Сначала добавляется имя домена целиком, потом следующая часть до точки.

При попытке запуска команды ping servername система проделает следующее:


Настройка добавления суффиксов DNS через групповые политики.

Настраивать DNS суффиксы можно также групповыми политиками или на вкладке DNS дополнительных свойств TCP\IP сетевого адаптера. Просмотреть текущие настройки удобно командой ipconfig /all.


Суффиксы DNS и их порядок в выводе ipconfig /all.

Из-за суффиксов утилита nslookup выдала совсем не тот результат, который выдаст например пинг:

Это поведение иногда приводит в замешательство начинающих системных администраторов.

При диагностике стоит помнить, что утилита nslookup работает напрямую с сервером DNS, в отличие от обычного распознавателя имен. Если вывести компьютер из домена и расположить его в другой подсети, nslookup будет показывать, что всё в порядке, но без настройки суффиксов DNS система не сможет обращаться к серверам по коротким именам.

Отсюда частые вопросы – почему ping не работает, а nslookup работает.

В плане поиска и устранения ошибок разрешения имен могу порекомендовать не бояться использовать инструмент для анализа трафика – сниффер. С ним весь трафик как на ладони, и если добавляются лишние суффиксы, то это отразится в запросах DNS. Если запросов DNS и NetBIOS нет, некорректный ответ берется из кэша.

Если же нет возможности запустить сниффер, рекомендую сравнить вывод ping и nslookup, очистить кэши, проверить работу с другим сервером DNS.

Кстати, если вспомните любопытные DNS-курьезы из собственной практики – поделитесь в комментариях.

Читайте также: