Найти тему
Андрей Ага

Не обновляется обратная зона в DNS

Итак, связка Active Directory+DNS+DHCP, все это хозяйство работает под управлением Windows Server 2019(или более ранних версий).

Когда DHCP выдает компьютеру IP-адрес, этот компьютер регистрируется в DNS. После этого, если мы дадим команду nslookup имя_компа - то увидим его IP-адрес, а если команду nslookup ip_адрес- то увидим его имя. Соответствие имени комп-а и его IP-адреса, которые хранятся в прямой зоне DNS- очень удобная штука, которая позволяет нам не задумываться- какие у кого IP, а оперировать только названиями комп-ов. Их и запомнить проще, тем более, если есть какая-то логика в том, как вы в своей сети их называете, и в случае, если пришлось перейти на другие IP-адреса, или заменить сервер, не нужно менять, например, подключение сетевого диска. Подключение как было \\server\share так и осталось.

И, наоборот- соответствие IP-адреса и имени комп-а, которые хранятся в обратной зоне DNS- тоже удобно. Допустим, какая-то программа(netstat, например)- выдала вам информацию о соединении, при этом выдает она вам имена комп-ов. Но на самом деле она сначала определяет ip-адрес, а уж потом "спрашивает" у DNS-а: а имя у этой штуковины есть? какое? Так что если у вас это соответствие нарушается- вы будете думать, что в соединении участвует комп с именем comp1, тогда как на самом деле это был комп comp2.

Ладно, воды налил- теперь к делу. Давно заметил, что комп-ы под windows, а особенно, всякие железки НЕ под windows не всегда регистрировались в прямой, а особенно- в обратной зоне. В этом смысле мне нравится связка Bind+isc-dhcp, которая работает под линуксами и фрями(FreeBSD, в смысле). Там все работает как часы: железка получается IP от isc-dhcp, тот тут же , "не отходя от кассы" отправляет эту информацию Bind-у, чтобы тот ее у себя прописал.

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

Вначале в DHCP- сервере встаем на IPv4- правой мышкой- Свойства, на вкладке "Служба DNS" ставим вот так галки/точки

Вот тут..
Вот тут..

1 способ: в GPO идем по пути: Конфигурация компьютера -> Политики -> Административные шаблоны -> Сеть -> DNS-клиент. Параметры "Регистрировать DNS-записи с DNS-суффиксом..", "Регистрировать PTR-записи", "Динамическое обновление" - ставим во Включена. Можно еще включить параметры "Заменять адреса при конфликтах", "DNS-суффикс подключения"(в нем прописать xz.local, где xz.local - имя вашего домена). После чего делаем на комп-ах gpupdate /force. Для проверки удаляем из DHCP присвоенный комп-у адрес, на самом комп-е делаем ipconfig /renew - и видим, как комп появляется в прямой и обратной зонах DNS. Одно но: если комп у вас не в домене, или это вообще не комп(МФУ, например), то это не до конца решит проблему, т.к. они обновлять записи в обратной зоне по-прежнему не будут(или будут, но не сразу и не всегда). Так что- лучше-

2 способ: в DHCP- сервере встаем на IPv4- правой мышкой- свойства, вкладка Дополнительно, внизу находим "Учетные данные для регистрации динамических обновлений DNS", жмем кнопку Изменить и там прописываем пользователя, его пароль и домен. Пользователь подойдет любой, но лучше специально создать его для этого и назвать его так, чтобы впоследствии случайно не удалить. После этого так же для проверки удаляем из DHCP адрес какой-нибудь железки, железку эту перезагружаем- и так же видим, что в DNS-е в течение нескольких секунд появляются записи в прямой и обратной зонах.

Кстати, после настройки 1 способа можно зайти на сервере DNS в Просмотр событий -> Журнал приложений и служб -> Microsoft -> Windows-> DNS-сервер -> Audit и увидеть такие сообщения:

Запись ресурса с типом 12, именем 211, TTL 1200 и RDATA 0x15030A362D6D656368616E6963026E76056C6F63616C00 создана в области Default зоны 168.192.in-addr.arpa при динамическом обновлении с IP-адреса 192.168.0.211., где 192.168.0.211 - IP-адрес комп-а. Это означает, что сам комп отправляет запросы DNS-у на обновление зон. А когда вы настроите по 2 способу- там будут такие же сообщения, но будет уже не адрес компьютера, а адрес DHCP-сервера, т.е. уже сам DHCP-сервер будет "заботиться" об обновлении зон. При этом до настройки были только запросы от DHCP-сервера на обновление прямой зоны(и то не всегда).

Ну и можно не выбирать- по какому способу делать, а сделать сразу оба- хуже не будет.