Лабораторная работа №11 Служба доменных имен (DNS).
Установка и настройка DNS–сервера на базе Windows 2003 Server -
Разобраться с понятием доменных имен.
-
Разобраться c назначением и принципом функционирования службы доменных имен (DNS).
-
Изучить базовые понятия протокола DNS.
-
Научиться устанавливать и настраивать простейший вариант DNS сервера.
Доменные имена
Домен – область (ветвь) иерархического пространства доменных имён сети Интернет, которая обозначается уникальным доменным именем.
Доменное имя – символьное имя домена. Должно быть уникальным в рамках одного домена. Полное имя домена состоит из имён всех доменов, в которые он входит, разделённых точками. Например, полное имя www.tu-bryansk.ru. (с точкой в конце) обозначает домен третьего уровня www, который входит в домен второго уровня tu-bryansk, который входит в домен .ru, который входит в корневой домен. Доменное имя служит для адресации узлов сети Интернет и расположенных на них сетевых ресурсов (веб-сайтов, серверов электронной почты, сетевых сервисов) в удобной для человека форме.
Доменная зона – совокупность доменных имён определённого уровня, входящих в конкретный домен. Например, зона
ctam.tu-bryansk.ru. означает все доменные имена третьего уровня в этом домене. Термин «доменная зона» в основном применяется в технической сфере, при настройке DNS-серверов (поддержание зоны, делегирование зоны, трансфер зоны).
Для обеспечения уникальности и защиты прав владельцев доменные имена 1-го и 2-го (в отдельных случаях и 3-го) уровней можно использовать только после их регистрации, которая производится уполномоченными на то регистраторами. Сведения о владельце (администраторе) того или иного регистрируемого домена общедоступны. Их можно узнать, воспользовавшись службой «whois» – например, http://www.ripn.net:8080/nic/whois
Домены верхнего уровня общего назначения
.aero – для субъектов авиатранспортной индустрии
.biz – только коммерческие организации
.cat – для использования каталанским языковым и культурным сообществом
.com – коммерческие организации (без ограничений)
.coop – кооперативы
.edu – высшие учебные заведения, признаваемые в качестве таковых Департаментом образования США
.info – информационные ресурсы (без ограничений)
.jobs – кадровые агентства
.mobi – для продавцов и поставщиков мобильного контента и услуг, связанных с мобильной связью
.museum – музеи
.name – физические лица
.net – организации имеющие отношение к функционированию Интернета (без ограничений)
.org – некоммерческие организации (без ограничений)
.pro – сертифицированные профессионалы и смежные темы
.travel – для субъектов туристического бизнеса
Домены верхнего уровня, назначаемые странам
Для удобство распределения и назначения доменных имен для каждой из стран были выделены собственные (в основном двух символьные) домены верхнего уровня. Правда, это вовсе не означает обязательную привязку серверов в данных доменных к их географическому расположению. Примеры доменов первого уровня для стран:
.au – Australia (Австралия)
.be – Belgium (Бельгия)
.ru – Russia (Россия)
.ua – Ukraine (Украина)
.uk – United Kingdom (Англия)
Служба трансляции имен в Internet
Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла DHOSTS.TXT, который составлялся централизованно и обновлялся на каждой из машин сети вручную. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS (Domain Name System) – система доменных имен.
Примечание. На самом деле на каждой сетевой машине имеется текстовый файл hosts (Windows – %windir%\system32\drivers\etc\hosts; *nix – /etc/hosts), в котором можно самостоятельно сопоставлять с некоторым IP-адресом доменные имена. Правда, эти действия валидны только для текущей машины.
Функции DNS
Существуют два принципиально разных способа идентификации хостов: с помощью имен и с помощью IP-адресов. Имя хоста удобно для людей в силу своей мнемоничности, а IP-адрес, являющийся компактной числовой величиной фиксированного размера, проще обрабатывать прикладным программами и маршрутизаторами. Для того чтобы установить связь между этими двумя идентификаторами, используется система доменных имен. DNS представляет собой, с одной стороны, базу данных, распределенную между иерархически структурированными серверами имен, и, с другой стороны, протокол прикладного уровня, организующий взаимодействие между хостами и серверами имен для выполнения операций преобразования.
DNS функционирует на принципе делегирования полномочий. Каждая машина либо знает ответ на вопрос, либо знает кого спросить. При правильном функционировании система замкнута, т.е. если запрошенная информация имеется у кого-либо, то она будет найдена и сообщена клиенту, либо, если вопрос не имеет ответа, клиент получит сообщение о невозможности получения ответа на вопрос.
В основе работы DNS лежит соответствующий сетевой протокол также с названием DNS. DNS-протокол использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP датаграммы. TCP используется в случае, если ответ больше 512 байт, или в случае AXFR-запроса.
Прикладные сетевые программы и протоколы чаще всего манипулируют IP адресами. Для возможности обработки символьных имен, необходимо предварительно получить IP-адрес удаленного узла. А для этого необходимо сформировать и послать запрос к DNS серверу.
Например, браузер перед запросом некоторого ресурса выделяет из URL имя хоста (все, что идет до первого одинарного символа «/»), посылает запрос на преобразование DNS серверу, который в свою очередь в случае успешного преобразования, возвращает пакет с запрошенной клиентом информацией. После чего браузер может выполнять необходимые операции по запросу ресурсов с сервера с заданным IP–адресом.
Очевидно, что процесс получения IP-адреса не является мгновенным и вносит дополнительную задержку в суммарное время установления соединения (кстати говоря, также происходит некоторый расход сетевого трафика). Как мы посмотрим с вами далее, оптимизация по уменьшению времени запроса (и трафика) к DNS-серверу решается введением т.н. кэширующих DNS-серверов.
Помимо преобразования имени хостов в IP-адреса, DNS выполняет еще несколько важных функций:
-
Поддержка псевдонимов серверов.
-
Поддержка псевдонимом почтовых серверов.
-
Распределение загрузки.
Основные спецификации DNS содержатся в документах RFC 1034 и RFC 1035. Кроме того, некоторые дополнения можно найти и в других RFC. В виду достаточно высокой сложности DNS, мы с вами коснемся только базовых ее понятий.
Общие принципы функционирования DNS
Сервис DNS можно было бы представить в виде специального выделенного сервера, содержащего информацию обо всех существующих доменах. Но, если вдуматься, то на практике такое реализовать не то что не возможно, а даже просто не целесообразно и не выгодно. Централизованной системе присущи некоторые «врожденные» недостатки:
-
Единственная точка возможного отказа. Выход из строя DNS сервера парализует работу всего Internet.
-
Объем трафика. Сервер имен является «узким местом» с точки зрения загрузки, поскольку вынужден обрабатывать все запросы со всех хостов в сети Internet.
-
Удаленность централизованной базы. Единственный сервер невозможно расположить на приемлемом расстоянии от всех клиентов.
-
Обслуживание. База данных должна не только хранить адреса всех существующих хостов, но постоянно обновляться с появлением новых хостов.
Для того чтобы решить проблему хранения больших объемов информации, система DNS была спроектирована в виде совокупности многочисленных серверов имен, рассредоточенных по всему миру и организованных в виде иерархической структуры. Ни один сервер не содержит информацию обо всех IP-адресах хостов – эта информация распределена между множеством хостов. DNS – это яркий пример построения на практике распределенной базы данных!
По функциональности и назначению можно выделить следующие DNS сервера: локальные, корневые и полномочные.
-
Локальные серверы имен имеются у каждого Internet-провайдера (еще их называют серверами имен по умолчанию). Когда пользовательский хост посылает DNS- запрос, этот запрос сначала попадает на локальный сервер имен. Обычно локальные сервера имен располагаются достаточно близко к пользователю а также при запросе «популярных» ресурсов берут информацию из своего кеша, что для пользователя значительно сокращает отклик. DNS-сервера по умолчанию обычно задаются в настройках сетевого подключения. Они прописываются в виде IP-адреса.
-
Корневые серверы имен являются следующей ступенью в иерархии серверов DNS. Существует 13 корневых серверов (обозначаются латинскими буквами от A до М), расположенных по всему миру и привязанных к своему региону, они управляются различными организациями, действующими по согласованию с ICANN (Internet Corporation for Assigned Names and Numbers). Их адреса никогда не меняются, а информация о них есть в любой операционной системе. Вот список (можно посмотреть, например, в %windir%\system32\dns\cache.dns) этих серверов на данный момент:
A.ROOT-SERVERS.NET. 198.41.0.4
B.ROOT-SERVERS.NET. 192.228.79.201
C.ROOT-SERVERS.NET. 192.33.4.12
D.ROOT-SERVERS.NET. 128.8.10.90
E.ROOT-SERVERS.NET. 192.203.230.10
F.ROOT-SERVERS.NET. 192.5.5.241
G.ROOT-SERVERS.NET. 192.112.36.4
H.ROOT-SERVERS.NET. 128.63.2.53
I.ROOT-SERVERS.NET. 192.36.148.17
J.ROOT-SERVERS.NET. 192.58.128.30
K.ROOT-SERVERS.NET. 193.0.14.129
L.ROOT-SERVERS.NET. 199.7.83.42
M.ROOT-SERVERS.NET. 202.12.27.33
-
Полномочный сервер – это сервер, на котором зарегистрирован данный хост. Обычно хосты регистрируются на локальных серверах имен Internet-провайдеров (на практике для обеспечения надежности регистрация производится не менее чем на двух серверах)
Как работает преобразование имен
Запросы, генерируемые хостом, являются рекурсивными, то есть в качестве ответа на такой запрос возвращается либо искомая информация, либо сообщение о ее отсутствии. Запросы, генерируемые DNS-cepвером чаще являются итеративными (нерекурсивными) и, в отличие от рекурсивных, допускают ответ в виде ссылки на другой сервер, который лучше осведомлен о месте расположения искомой информации. Стоит отметить, что на практике ближайшие к пользователю доменные сервера должны быть настроены как рекурсивные.
Рассмотрим DNS-алгоритм удаленного поиска IP-адреса по имени. Хост посылает на IP-адрес ближайшего (по умолчанию) DNS-сервера DNS-запрос, в котором указывает имя сервера, IP-адрес которого необходимо найти.
DNS-сервер, получив такое сообщение, ищет в своей базе имен указанное имя. Если указанное в запросе имя найдено, а следовательно, найден и соответствующий ему IP-адрес, то DNS-сервер отправляет на хост DNS-ответ, в котором указывает искомый IP-адрес. Если же DNS-сервер не обнаружил такого имени в своей базе имен, то он пересылает DNS-запрос на один из ответственных за домены верхнего уровня DNS-серверов, адреса которых содержатся в файле настроек DNS-сервера (cache.dns, о котором выше уже было упоминание), и описанная в этом пункте процедура повторяется, пока имя не будет найдено (или будет не найдено).
Обратный DNS-запрос (Reverce DNS)
DNS используется в первую очередь для преобразования символьных имён в IP-адреса, но он также может выполнять обратный процесс. Для этого используются уже имеющиеся средства DNS. Дело в том, что с записью DNS могут быть сопоставлены различные данные, в том числе и какое-либо символьное имя. Существует специальный домен in-addr.arpa., записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 192.168.128.5 можно запросить у DNS-сервера запись 5.128.168.192.in-addr.arpa, и тот вернёт соответствующее символьное имя. Обратный порядок записи частей IP-адреса объясняется тем, что в IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.
Одна из проблем состоит в том, что обратную зону можно выделить только на сеть класса A, B или C (на 16777216, 65536 или 256 адресов соответственно) и никак иначе (маски здесь не работают).
DNS-записи
Наиболее важные категории DNS записей:
-
Запись A (address record) или запись адреса связывает хост с адресом IP.
-
Запись CNAME (canonical name record) или каноническая запись имени используется для перенаправления на другое имя
-
Запись MX (mail exchange) или почтовый обменник указывает сервер обмена почтой для данного домена.
-
Запись PTR (pointer) или запись указателя связывает имя хоста с его каноническим именем. Создание записи в домен in-addr.arpa вернёт IP адрес данного хоста (см. Обратный DNS-запрос). Например, (на момент написания), www.icann.net имеет адрес 192.0.34.164, но запись PTR 164.34.0.192.in-addr.arpa к его каноническому имени referrals.icann.org.
-
Запись NS (name server) указывает на DNS-сервер для данного домена.
-
Запись SOA (start of authority record) указывает, на каком сервере хранится эталонная информация о данном домене.
Формат DNS-сообщения
Дополнение
В последнее время развивается технология DDNS динамического обновления ресурсных записей зоны DNS внешними узлами (Dynamic DNS; RFC-2136). Клиенты с возможностями DDNS могут сами обновлять записи локальных серверов имен. Еще более интересное решение базируется на интеграции служб DHCP и DNS. В этом варианте серверы DHCP, поддерживающие DDNS, посылают соответствующему серверу DNS данные для обновления записей, включая имена NetBIOS клиентов DHCP. Запись обновляется после выделения IP-адреса. При реализации DDNS возникают проблемы безопасности. Часть этих проблем может быть решено путем использования цифровых подписей (RFC-2137).
Еще одной проблемой, связанной со службой имен, являются атаки, которые сопряжены с имитацией DNS. Для преодоления таких атак разработан метод транзакционных подписей TSIG (Transaction SIGnarure).
В системах Windows часто используется дополнительная служба имен WINS (Windows Internet Naming Service, см. RFC-2136 и RFC-2137). Эта служба совместима с системой динамического конфигурирования сети DHCP. В WINS, также как и в DHCP, имеются части, работающие у клиента и на сервере. WINS автоматически устанавливается и конфигурируется при установке системы DHCP. Эта система имеет удобную встроенную диагностику, позволяющую контролировать процесс обработки запросов к службе имен. WINS осуществляет преобразование NETBIOS-имен в IP-адреса. Эта техника предполагает использование протокола NetBIOS поверх TCP/IP (NetBT).
Установка и настройка DNS сервера на базе
ОС Windows 2003 Server
Настройка и управление DNS-сервером осуществляется через консоль управления dnsmgmt (см. рис. 2). (Администрирование → DNS).
Далее на примере рассмотрим настройку простого варианты DNS-сервера, который будет обслуживать наш локальный домен «localdomain.» в сети 192.168.1.0/24 и выполнять кэширование DNS запросов с DNS-сервера 10.0.0.10.
Необходимо предварительно настроить адресацию!!!
На рис. 3-18 представлены основные этапы настройки сервера. На рис. 19-22 показан процесс тестирования работоспособности настроенного DNS-сервера.
Контрольные вопросы -
Что такое доменные имена? Каково их назначение?
-
Что такое система доменных имен?
-
Почему данная система должна быть распределенной?
-
Что такое DNS-сервер? Каковы его функции?
-
Что такое прямой и обратный DNS-запросы?
-
В чем отличие рекурсивных DNS-запросов от итеративных?
В каких случаях они применимы?
-
Может ли с одним IP-адресом быть ассоциировано несколько доменных имен? Ответ объяснить.
-
Может ли быть с одним доменным именем ассоциировано несколько IP-адресов? Ответ объяснить.
-
Каким образом DNS помогает распределять нагрузку на сервера?
-
Перечислите основные типы DNS-записей. Поясните их назначение.
Задания на лабораторную работу -
Выяснить примерное географическое месторасположение корневых серверов имен (можно воспользоваться воспользуйтесь одним из сервисов whois).
-
Настроить DNS сервер на базе Windows 2003 Server (в качестве forward сервера рекомендуется использовать DNS-сервера 192.168.128.1 или 192.168.128.5).
-
Проверить работоспособность настроенного сервиса.
-
При помощи сниффера wireshark исследовать механизм работы утилиты nslookup.
-
Сделать выводы. Подготовить отчет с результатами проделанной работы.
Достарыңызбен бөлісу: |