DNS — не роскошь, а необходимость
Протокол, определявший порядок обмена информацией в Интернете, описывал в том числе и систему адресации компьютеров, объединенных в эту Сеть. Согласно этой системе, каждому компьютеру присваивался уникальный четырехбайтовый адрес, который стали называть IP-адрес. Стандарт нового протокола и, соответственно, системы адресования были приняты в 1982 году.
Однако человеку гораздо проще запомнить некоторое слово, чем четыре бессодержательных для него числа. Из-за этого сразу после начала работы новой сети у пользователей стали появляться списки, в которых хранились не только адреса, но и соответствующие им имена узлов.
Эти данные, обычно хранившиеся в файле с именем hosts, позволяли при указании имени узла мгновенно получить его IP-адрес. Позже процесс внесения корректуры в эти файлы был усовершенствован — последнюю версию файла hosts можно было скачать с нескольких серверов с заранее определенными адресами.
С ростом числа компьютеров в сети корректировать эти файлы вручную стало невозможно. Появилась необходимость в глобальной базе имен, позволяющей производить преобразование имен в IP-адреса без хранения списка соответствия на каждом компьютере. Такой базой стала DNS (Domain Name System) — система именования доменов, которая начала работу в 1987 году.
Структура DNS
В Интернете существует множество DNS-серверов, предоставляющих клиентам необходимую информацию об именах узлов сети. Важнейшим качеством DNS является порядок их работы, позволяющий DNS-серверам синхронно обновлять свои базы. Добавление адреса нового сайта в Интернете проходит за считанные часы.
Вторая особенность системы — это организация DNS-серверов в виде иерархической структуры. Например, запрос от клиента об имени ftp.microsoft.com может пройти через несколько DNS-серверов, от глобального, содержащего информацию о доменах верхнего уровня (.com, .org, .net и т. п.), до конкретного сервера компании Microsoft, в чьих списках перечислены поддомены вида *. miсrosoft.com, в числе которых мы и находим нужный нам ftp.microsoft.com. При этом множество DNS-серверов организуется в зоны, имеющие права и разрешения, делегированные вышестоящим сервером. Таким образом, при добавлении нового поддомена на местном сервере уведомления остальных серверов в Глобальной сети не производятся, но информация о новых серверах оказывается доступной по запросу.
Зоны, домены и поддомены
С ростом числа доменных имен работа между серверами была распределена по принципу единоначалия. Идея проста. Если организация владеет собственным доменным именем (например microsoft.com или white-house, gov), то именование внутри своего домена она производит самостоятельно. Единственная сложность при такой работе — предоставление вышестоящими серверами этих прав нижестоящим серверам.
Уточним термины. Домен — это некий контейнер, в котором могут содержаться хосты и другие домены. Имя домена может не совпадать с именем контроллера домена, то есть домен — это виртуальная структура, не привязанная к компьютеру. Хост же, напротив, соответствует физическому компьютеру, подключенному к сети. Имя хоста является именем конкретного компьютера. Имя хоста может совпадать с именем домена. Имя домена может совпадать с именем зоны, к которой он принадлежит, в этом случае домен является корневым в зоне. При этом зона не обязана содержать в себе одноименный (корневой) домен.
Зона — это контейнер, объединяющий несколько доменов в структуру с общими разрешениями на управление, то есть зоны являются контейнерами для доменов и хостов. Зоны могут быть вложены одна в другую. Разница между зонами и доменами в том, что домену может принадлежать несколько зон, содержащих различные его поддомены. Это дает возможность делегировать полномочия для поддоменов и управлять группами поддоменов.
Зоны используются для делегирования полномочий. Каждый домен должен находиться в составе зоны; при создании поддомена последний может быть переведен в новую зону, либо оставлен в зоне стоящего над ним домена. Для каждой зоны разрешения на создание или удаление всех входящих в нее доменов делегируются отдельно. Для нормальной работы корпоративной сети в большинстве случаев хватает единственной зоны, более того, очень часто системные администраторы ограничиваются созданием единственного домена.
Интеграция DNS в Active Directory
Компания Microsoft рекомендует использовать DNS-серверы в корпоративных сетях для организации работы компьютеров в составе домена. Дело в том, что технология DNS более универсальна и эффективна, чем использующиеся на старых системах WINS и NetBIOS. Клиенты только посылают запросы серверу и получают ответы без обращения к каким-либо иным узлам сети.
С точки зрения производительности лучше всего интегрировать DNS в Active Directory, что возможно на серверных ОС компании Microsoft начиная с Windows 2000 Server. Совмещение ролей DNS-сервера и контроллера домена упрощает администрирование сети, особенно если размеры ее достаточно велики.
Что нам стоит DNS построить
DNS реализуются в соответствии с единым стандартом, основы которого изложены в RFC 1011,1034 и 1035. В Windows Server 2003 процесс развертывания и управления DNS сделан проще, чем в предыдущих версиях операционных систем, благодаря мастерам настройки ролей сервера. В Windows Server 2003 добавлены и новые функции управления Active Directory, которая может быть интегрирована с DNS воедино,
При создании контроллера домена, то есть сервера, управляющего работой Active Directory, мастер предлагает создать и настроить DNS-сервер. Для этого достаточно в настройках отметить пункт «Install and configure the DNS server on this computer, and set this computer to use this DNS server as its preferred DNS server». В этом случае запускается DNS-сервер и создается зона, одноименная с вашим доменом.
Для имени домена лучше использовать два слова, разделенных точкой (вида гпу-domen.ru). Технически возможно включить компьютеры вашей сети и в домен верхнего уровня, но Microsoft не рекомендует использовать для домена имя, состоящее из одного слова, так как в этом случае возникают сложности с организацией пересылки запросов (forwarding) и динамических обновлений.
Настройка DNS
После перезапуска системы в окне «Manage Your Server» (управление сервером) и на панели «Администрирование» появятся новые элементы — ссылки на консоли управления Active Directory (три иконки) и DNS (одна иконка). Остановимся подробнее на консоли управления DNS-сервером.
Дерево DNS содержит список ONS-серве-ров, в нашем случае список будет состоять из одного пункта — имени нашего сервера. Раскрыв его, мы увидим три папки — «Forward Lookup Zones» (зоны прямого просмотра), «Reverse Lookup Zones» (зоны обратного просмотра, пустая папка) и «Event Viewer» .
Папка зон прямого просмотра будет содержать две записи. Зона, чье имя начинается с _msdcs, относится к организации работы системы (DC расшифровывается как Domain Controller, контроллер домена), пока что нам ее трогать не нужно, так же как и папку _msdcs во второй зоне. Выбрав вторую зону, в списке справа мы увидим ее содержимое — собственно говоря, все компьютеры, чьи имена хранятся на нашем сервере, будут перечислены именно там.
Добавление новых хостов будет происходить автоматически. Все операционные системы Windows, начиная с Windows 2000 Professional, поддерживают корректное обновление базы DNS-сервера в своей локальной сети. Новые пункты в список имен хостов на DNS-сервере могут добавляться и при помощи службы «Computer Browser». Вручную же добавление новых доменов и хостов, равно как и удаление существующих, происходит из меню консоли «Action» или из контекстного меню правой клавиши мыши.
После запуска контроллера можно приступить к введению в домен клиентских машин. Повторим, что корректная работа в составе домена возможна только для систем ранга Professional, начиная с Windows 2000 Professional, то есть в домене откажутся работать компьютеры под управлением операционных систем Windows 98, Windows Me или Windows XP Home Edition.
Когда же вы добавляете в домен компьютер с установленной ОС Windows 2000 Professional или Windows XP Professional, система автоматически пошлет запрос DNS- серверу, а тот в свою очередь добавит новый IP-адрес в список.
В сети, состоящей из компьютеров с фиксированными IP-адресами, работа DNS предельно проста. Однако как быть, если в вашей сети IP-адреса должны раздаваться динамически? Тут мы сталкиваемся с определенными сложностями, поскольку в этом случае DNS-сервер должен обновлять свою базу постоянно, основываясь на данных, получаемых от DHCP-сервера.
Впрочем, чтобы настроить DNS и DHCP на совместную работу, не требуется особых усилий. Достаточно открыть «Scope Options» в консоли управления DHCP-сервером и указать имя вашего DNS-сервера в параметре «DNS Domain Name».
IP-адрес самого DNS-сервера может быть динамическим. В этом случае для каждого нового компьютера, выполняющего серверные функции, настройка сетевых параметров при его подключении будет происходить благодаря DHCP-серверу. Также не обязательно, чтобы серверы DHCP и DNS физически находились на одном компьютере. Они будут корректно работать, даже если запущены на разных машинах.
DNS-сервер может производить очистку списка, удаляя из него данные о тех хостах, которые удалены из сети. Чтобы настроить очистку списка хостов, нажмите кнопку «Aging» («Очистка») на вкладке «General» в свойствах зоны — по умолчанию удаление «просроченных» имен выключено (нужно поставить соответствующую галочку). Кроме того, там же указывается параметр автоматического обновления («Dynamic Updates») — по умолчанию он переключен в «Secure Only» и разрешает производить обновления базы на основе запросов только от безопасных источников.
Подключаемся к Интернету
У начинающих системных администраторов возникает немало проблем от некорректного обращения с настройками DMS, в том числе с соответствующими настройками на компьютерах пользователей. Во-первых, все зависит оттого, статические или динамические IP-адреса используются в вашей сети. В случае, если используются статические адреса, убедитесь, что на каждой машине корректно прописан ее IP-адрес, маска подсети и выбираемый по умолчанию DNS-сервер. Если же компьютеры получают свои IP-адреса динамически, посредством DHCP-сервера, то этот же сервер должен указывать и адрес DNS-сервера. Учтите, что для корректной работы клиентов DHCP-сервер в подсети должен быть единственным.
Другая задача, возникающая перед администраторами, — это настройка доступа в Интернет через локальную сеть. Доступ может быть организован по-разному, и, если все клиенты подключаются через прокси-сервер, настраивать DNS для работы в Интернете необходимости нет. Другое дело, если вы используете IР-маскарадинг при помощи NAT. В этом случае клиентские компьютеры в вашей сети должны будут иметь возможность получать ответы от DNS-серверов в Интернете, чтобы подключаться к веб-серверам по их IP-адресам.
Реализовать это просто. Вам нужно настроить пересылку запросов с вашего DNS-сервера на сервер интернет-провайдера {так называемый форвардинг). Лучше всего организовать это в два этапа. Сначала ваш DNS-сервер отправляет запрос на маршрутизатор, а тот уже пересылает его провайдеру.
Можно обойтись и одним шагом, ведь если маршрутизатор предоставляет сервис NAT для выхода в Интернет, то сам DNS-сервер может обращаться непосредственно к провайдеру. Однако такой метод менее грамотен. Например, если вы поменяете провайдера, вам придется править настройки уже на нескольких компьютерах. Кроме того, подключение к Интернету через NAT менее безопасно, чем перенаправление запросов посредством прокси-сервера. Также по соображениям безопасности не рекомендуется совмещать роль DNS-сервера и маршрутизатора на одном компьютере, особенно если он же является и контроллером домена в вашей сети.
Настройка форвардинга происходит в свойствах DNS-сервера из консоли управления. Нажимаем правой кнопкой на значке сервера, затем «Properties -> Forwarders», где и указываем имя вышестоящего домена или перечисляем DNS-серверы, к которым будет обращаться наш сервер. На вкладке «Root Hints» перечисляются адреса DNS-серверов сети (не обязательно вышестоящих). Список «Root Hints» может быть заполнен автоматически при помощи мастера Configure DNS Server из меню «Action».
Ошибкой является создание зоны с именем «.». В этом случае наш DNS-сервер начнет считать себя корневым, то есть верхним в глобальном дереве DNS. Разумеется, никакие пересылки вышестоящим серверам работать не будут. При создании зоны, чье имя совпадает с частью имени уже существующих зон после точки (например, у нас есть зона trading.office, а мы создаем зону office), все принадлежащие ей зоны и домены оказываются вложенными в нее.
Если у вашего сервера в свойствах подключения к локальной сети в качестве DNS-сервера указан сам контроллер домена, это тоже не очень хорошо. DNS-запрoсы никогда не должны приходить на сервер с его же адреса — любой подобный случай однозначно свидетельствует о неправильности настроек.
Разобраться в ситуации поможет «Event Viewer». В случае корректной работы DNS-сервера в журнале должна появиться запись о старте сервера. Также новые записи будут появляться по мере добавления новых имен хостов либо при ручном управлении зонами и доменами.
Для того чтобы детектировать неисправности со стороны клиента, проще всего воспользоваться консольной утилитой nsLookup, которая поставляется вместе с операционной системой. После ввода nsLookup в командной строке на экране должно появиться имя и IP-адрес вашего DNS-сервера, а после этого вам будет предоставлена возможность протестировать сервер путем отправления запросов на преобразование имени в IP-адрес. Чтобы увидеть справку по параметрам команды nslookup, введите в командной строке nslookup help.
Автор: Игорь Логинов
Источник: OSzone.net