Удаление корневого домена DNS
Предположим, в сети необходимо установить сервер DNS на базе Windows 2000. Настройка DNS выполняется следующим образом: в Microsoft Management Console (MMC) открывается оснастка DNS и из контекстного меню сервера выбирается Properties.

После этого происходит нечто странное. Переключиться на вкладку Forwarders не удается — она серого цвета и попросту недоступна, и, значит, сообщить серверу DNS о том, как использовать пересылку, невозможно. Вкладка Root Hints также недосягаема, поэтому изменить список корневых серверов нельзя. Так что же делать?

По ряду причин Windows 2000 настраивает сервер DNS в качестве личного корневого сервера (private root server). Обращение к DNS выполняется в соответствии с иерархией имен — используется полностью определенное имя домена или Fully Qualified Domain Name (FQDN). Например, www.minasi.com. — точка в конце не случайна: имя DNS без этой точки в конце не может считаться завершенным. Данное имя обозначает, что станция с именем www находится в домене minasi, дочернем домене домена com, который находится в домене «.», выше которого нет ничего, — корневом домене. Но ничего не было сказано о том, как же называется корневой домен. Он представляется точкой (.).

Сервер DNS содержит записи о корневом домене. И запросов к этому домену поступает довольно много — как правило, без обращения к корневому домену остальные домены отыскать не удается.

Сервер Windows 2000 DNS «знает» об этом. В первый раз при запуске DNS на Windows 2000 Server делается попытка обращения к корневому домену. Если сервер не находит корневой домен, для него это означает, что он — единственный DNS-сервер во Вселенной, и с этого момента данный сервер рассматривает себя как корневой домен. Фактически это означает отсоединение от общей иерархии DNS. С точки зрения сервера попытки отыскать еще один сервер бессмысленны. И до тех пор, пока подобное заблуждение будет существовать, работа сервера DNS не может считаться нормальной.

Таким образом, на данный момент в нашем распоряжении оказался сервер DNS, отсоединенный от общей иерархии DNS. Исключительно безопасная сеть — полностью отключенная от Internet, и нет нужды искать что-либо в общей иерархии DNS. Но чаще всего это совсем не то, что требуется.

Растолковать серверу DNS, что не он является корневым сервером, несложно, но нужно знать, как это сделать. Существует три способа, и во всех трех необходимо удалить с сервера сведения о корневом домене. При использовании командной строки (первый метод) для этого предназначена команда dnscmd.exe из состава Windows 2000 Server Tools Add-On. Эту команду нужно установить отдельно; находится она в каталоге support ools на компакт-диске Windows 2000 Server. После чего информация о корневом домене устраняется следующим образом:

dnscmd /zonedelete.

Точка в самом конце командной строки — это имя удаляемой зоны. Необходимо использовать параметр /dsdel, если удаляемая зона интегрирована в Active Directory (AD), хотя я не уверен, удастся ли прекратить работу корневого домена, интегрированного в AD. Регистр ввода команды значения не имеет.

После выполнения команды я рекомендую перезапустить службу DNS. Затем следует открыть оснастку DNS — вкладки Forwarders и Root Hints станут доступными в окне Properties.

Убрать корневую информацию с сервера DNS можно непосредственно с помощью оснастки DNS. Откроем каталог Forward Lookup Zones — обратите внимание на каталог с очень простым именем «.». Как теперь, наверное, понятно, это и есть корневой домен. Нужно открыть контекстное меню данного каталога, выбрать Properties и убедиться, что тип зоны Primary, а не AD-integrated. Если зона AD-integrated, следует щелкнуть Change и конвертировать тип зоны в стандартный Primary. Затем в каталоге Forward Lookup Zones нужно открыть контекстное меню корневой зоны и щелкнуть Delete. Закрыв оснастку, необходимо перезапустить DNS Server и снова открыть оснастку DNS. Вкладки Forwarders и Root Hints вновь станут доступными в окне Properties.

Насколько я знаю, третий способ годится только для стандартной зоны. Сначала следует остановить службу DNS Server или с помощью графического интерфейса, или по команде:

net stop «dns server»

Затем нужно открыть реестр и удалить указанный раздел:

HKEY_LOCAL_MACHINESYSTEM 
CurrentControlSetServicesDNSones.

Завершающая точка — составная часть ключа. Необходимо перезапустить службу DNS, после чего произойдет возврат в общую иерархию DNS.

Марк МИНАСИ — редактоp Windows NT Magazine MCSE и автор книги «Mastering Windows NT Server 4.0» (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.