Разрешение имен доменов с помощью DNS

Разрешение имен доменов с помощью DNS

Майкл Д. Рейли 

Ежедневно миллионы людей используют DNS в операционной системе Windows NT, хотя большинство из них об этом даже не подозревает. Всякий, кто набирает адрес, например, http://www.winntmag.com, применяет DNS для связи с Web-узлом. Если вы хотите связать свою сеть с внешним миром или подготовиться к переходу на Windows 2000 (Win2K), следует хоть немного представлять себе, что такое DNS. 

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

Что такое DNS?

DNS - это часть семейства протоколов и утилит TCP/IP. Microsoft и другие компании предлагают различные версии DNS, работающие на разнообразных операционных системах (в основном на вариантах Unix). Слово domain в названии DNS относится к доменам в Internet, а не к доменной модели NT. 

Internet подразделяется на домены, каждый из которых обслуживает различные группы пользователей. К таковым доменам относятся домены .com, .edu, .gov и .mil. Ими управляет Internet-сервер первого уровня, получивший название корневого сервера имен (это название становится понятным, если представлять себе Internet как древовидную структуру). 

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

Например, если вы хотите обратится на узел http://www.winntmag.com, ваш сервер DNS обращается к серверу домена .com в поисках адреса сервера имен winntmag в домене .com. Локальный сервер DNS использует адрес, полученный по этому запросу, для обращения к серверу winntmag.com в поисках адреса хоста Web-узла. 

Приведенное выше описание применимо к последовательным (итерационным) запросам, которые DNS выполняет от сервера к серверу. DNS также может выполнять рекурсивный запрос, при котором сервер имен доменов передает результаты поиска непосредственно исходному клиенту. 

Чтобы сделать оба этих поиска более эффективными, сервер DNS кэширует ответы в каждой точке поиска. Если после связи с узлом http://www.winntmag.com вы захотите обратится к другому серверу .com, ваш сервер DNS уже будет знать адрес сервера домена .com. Если же вы захотите связаться с другим компьютером в домене winntmag.com, ваш сервер DNS уже содержит в кэш-памяти адрес сервера имен winntmag.com, и нет необходимости запрашивать его еще раз. 

WINS или DNS?

И WINS, и DNS выполняют разрешение имен, которое представляет собой процесс преобразования компьютерного имени в адрес. WINS преобразовывает внутренние имена NetBIOS в IP-адреса, а DNS преобразует в IP-адреса Internet-имена. Если ваша сеть охватывает только вашу компанию и в ней используются только системы компании Microsoft (например, на базе NetBIOS), DNS вам абсолютно ни к чему; все, что необходимо для разрешения имен предлагает WINS. Однако, если вы подключены к Internet, вам следует подумать о том, какой тип связи имеет смысл реализовывать. Если ваши пользователи будут получать доступ к внешним серверам в Internet, необходимо предоставить им возможности, которые выходят за рамки поиска адреса в Internet. Если же, напротив, вы планируете предоставлять ресурсы, к которым будут обращаться пользователи вне вашей сети, следует в своей базе данных DNS сконфигурировать серверы (например, все машины, которые содержат ресурсы для совместного использования) как хосты. 

Даже если же вы решили, что непосредственно в данный момент DNS вам не нужна, я думаю, что вы все же захотите узнать о ней чуть подробнее. В Win2K система WINS будет объединена с DNS для того, чтобы в определенной степени автоматизировать процесс конфигурирования DNS, сейчас выполняемый вручную. DNS станет частью Active Directory (AD) и потребует использования протокола разрешения имен. 

Установка

Как WINS и DHCP, DNS должна работать на системе NT Server. Установите все три сервиса, выбрав ярлык Service в апплете Network из Control Panel. Вы должны установить их на компьютере, имеющем фиксированный IP-адрес. После того, как вы инсталлировали программное обеспечение DNS и перезагрузили систему, вы увидите, что в группу программ Administrative Tools добавлен DNS Manager. 

Конфигурация DNS

Чтобы использовать DNS, все клиенты должны знать, как связаться с сервером DNS. Вам необходимо только сконфигурировать клиент так, чтобы он мог получить адрес от сервера DHCP. Для корректной работы, конечно же, вам необходимо сконфигурировать сервер DHCP с IP-адресом сервера DNS (как показано на Экране 1). Более подробно процесс конфигурации этой и других опций изложен в статье "Конфигурирование DHCP". 

Если конфигурируемый клиент является клиентом DHCP, то больше ничего делать не нужно. Если вы вручную присваиваете IP-адреса, то выберите апплет Network на Control Panel, а затем укажите на ярлык Protocols. Выберите TCP/IP, а затем нажмите на кнопку Properties, после чего появится диалоговое окно TCP/IP Properties. Для установки вручную адреса сервера DNS Server выберите ярлык DNS, как показано на Экране 2. 

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

Если клиент, который вы конфигурируете, должен предоставлять ресурсы внешним пользователям, вам придется также добавить имя домена в диалоговое окно, показанное на Экране 2. Отметим, что эта запись представляет собой имя домена Internet, а не имя домена NT. Обычно, вы можете оставить это диалоговое окно пустым. После того, как вы закончили конфигурацию TCP/IP, перезагрузите свой компьютер. 

Конфигурация сервера DNS

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

Во-первых, запустите DNS Manager из папки Administrative Tools. Когда вы впервые его запускаете, то в нем есть только одна запись - Server List, который, в свою очередь, пуст. Указав на Server List, нажмите правую клавишу мыши, а затем выберите опцию New Server. В появившемся диалоговом окне введите имя или IP-адрес вашего сервера DNS. Это должен быть именно IP-адрес сервера, а не его имя, если вы администрируете сервер DNS с другого компьютера. DNS добавит сервер в список. Ниже списка серверов вы увидите запись, соответствующую кэш DNS. Нажмите два раза на пиктограмму кэш, а затем откройте все записи, располагающиеся под ней, как показано на Экране 3. 

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

До создания зоны для вашего домена стоит подумать об организации нескольких зон обратного поиска (reverse lookup zone). Эти зоны преобразуют IP-адреса в имена. Если вы сначала создадите эти зоны, они будут очень полезны. При добавлении записей в доменную зону, которые связывают имена доменов с IP-адресами, зоны обратного поиска могут автоматически возвращать эту связь, то есть предоставляют имя, ассоциированное с каждым из IP-адресов. 

Чтобы создать зону обратного поиска, два раза щелкните правой клавишей мыши на пиктограмму сервера DNS, затем выберите опцию New Zone. После того, как откроется программа-эксперт, выберите Primary. В появившемся диалоговом окне введите имя зоны. Вы должны использовать соглашение об обратном поиске, которое требует использования только первых трех составляющих адреса TCP/IP. Для такой сети, как 192.168.1.0 в качестве имени зоны используйте 1.168.192.in-addr.arpa (in-addr.arpa - это специальная зона в структуре DNS, используемая для выполнения обратного поиска адресов с помощью протокола разрешения адресов). Нажмите Tab для генерации имени файла для этой зоны и выберите имя по умолчанию. Нажмите кнопку Next, затем, чтобы завершить процесс, кнопку Finish, как показано на экране 4. 

Теперь вы готовы к тому, чтобы добавить первичную зону. Снова выберите опцию New Zone, нажмите на кнопку Primary, а затем на Next. Введите имя зоны и для генерации файла нажмите Tab. После чего, для завершения процесса создания зоны, нажмите на кнопку Finish. 

Экран 5 показывает, что DNS автоматически добавила две записи к базе данных - запись Start of Authority (SOA) и запись Name Server (NS). Запись SOA указывает, какой компьютер является доверенным сервером вашего домена. То есть в случае появления противоречивой информации DNS будет использовать данные, предоставляемые именно этим сервером. Для каждого сервера имен в зоне должна существовать своя запись NS. 

Добавление адресов хостов

Вы должны добавить записи для каждого хостового компьютера, к которому сервер DNS будет обращаться. Щелкните правой клавишей мыши на зоне и выберите опцию New Host. Введите имя и IP-адрес хоста для того, чтобы создать запись Address (A). Поднимите флажок записи Check the Pointer (PTR) для того, чтобы разрешить генерацию записи обратного поиска, а после этого нажмите кнопку Add Host. Вы можете также добавить псевдоним, щелкнув правой клавишей мыши на зоне, выбрав New Resource Record и добавив запись Canonical Name (CNAME). На Экране 6 показан результат таких действий. Вы можете добавить записи других ресурсов, но их описание выходит за рамки данной статьи. 

WINS и DNS

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

Когда вы используете DHCP, вы часто устанавливаете и WINS. На последнем уровне при поиске имени, когда DNS обычно связывает имя хоста с IP-адресом, DNS просто передает свой запрос системе WINS. Поскольку WINS динамическая и компьютеры сами регистрируются в базе данных WINS, то в WINS имеются новые IP-адреса, которые и возвращаются DNS. Затем DNS воспроизводит этот IP-адрес как результат запроса на разрешения имен в DNS. Таким образом WINS позволяет избежать огромной работы по обновлению сервера DNS. Следовательно, WINS станет частью динамической DNS в операционной системе Win2K. 

Для конфигурования DNS так, чтобы она использовала WINS, щелкните правой клавишей мыши по имени зоны, выберите Properties, а затем ярлык WINS Lookup в диалоговом окне. Поднимите флажок Use WINS Resolution и введите IP-адрес сервера WINS. Вам необходимо указать IP-адрес, даже если DHCP, WINS и DNS поддерживает один и тот же сервер. Теперь DNS будет использовать WINS в качестве последнего уровня при поиске имен.