174.60K
Category: internetinternet

Отображение доменных имен на IP-адреса. (Лекция 5-6)

1.

Адресация в IP-сетях. DNS
Лекция № 05.00-06.00
Дисциплина: «Администрирование информационных систем»
Курс 3
Лектор:
Хашковский Валерий Валерьевич,
доц. каф МОП ЭВМ
Контакты:
mailto: [email protected]
skype#: valery.xashkovsky
icq#: 70045892
Таганрог, 2013

2.

ПЛАН
Отображение доменных имен на IPадреса
Организация доменов и доменных имен
Система доменных имен
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

3.

DNS
Первопричины
Для идентификации компьютеров аппаратное и программное
обеспечение в сетях TCP/IP полагается на IP-адреса, поэтому для
доступа к сетевому ресурсу в параметрах программы вполне
достаточно указать IP-адрес, чтобы программа правильно поняла, к
какому хосту ей нужно обратиться.
Например, команда ftp://192.168.180.1 будет устанавливать сеанс связи
с нужным ftp-сервером, а команда http://192.168.180.1 откроет
начальную страницу на Web-сервере ФАВТ.
Однако пользователи обычно предпочитают работать с символьными
именами компьютеров, и операционные системы локальных сетей
приучили их к этому удобному способу. Следовательно, в сетях TCP/IP
должны существовать символьные имена хостов и механизм для
установления соответствия между символьными именами и IPадресами.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

4.

DNS
Первопричины
В операционных системах, которые первоначально разрабатывались
для работы в локальных сетях, таких как Novell NetWare, Microsoft
Windows или IBM OS/2, пользователи всегда работали с символьными
именами компьютеров.
Так как локальные сети состояли из небольшого числа компьютеров, то
использовались так называемые плоские имена, состоящие из
последовательности символов, не разделенных на части. Примерами
таких имен являются: G442-1, MOPEVM, SRV.
Для установления соответствия между символьными именами и MACадресами в этих операционных системах применялся механизм
широковещательных запросов, подобный механизму запросов
протокола ARP.
Так, широковещательный способ разрешения имен реализован в
протоколе NetBIOS, на котором были построены многие локальные ОС.
Несмотря на то что Windows 2003+ пропагандирует и во всю
ивановскую внедряет поддержку DNS, полностью отказаться от
использования NetBIOS пока не удается
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

5.

DNS
Первопричины
Для стека TCP/IP, рассчитанного в общем случае на работу
в больших территориально распределенных сетях,
подобный подход оказывается неэффективным по
нескольким причинам:
1. Уникальность имен в пределах большой сети.
В небольших сетях уникальность имен компьютеров обеспечивает
администратор сети, записывая несколько десятков имен в журнале или
файле.
При росте сети задачу решают уже несколько администраторов,
согласовывая имена между собой неформальным способом.
Однако если сеть расположена в разных городах или странах, то
администраторам каждой части сети нужно придумать способ
именования, который позволил бы им давать имена новым компьютерам
независимо от других администраторов, обеспечивая в то же время
уникальность имен для всей сети.
Самый надежный способ решения этой задачи — отказ от плоских имен
в принципе.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

6.

DNS
Первопричины
2. Широковещательный способ установления
соответствия между символьными именами и
локальными адресами хорошо работает только в
небольшой локальной сети, не разделенной на подсети.
В крупных сетях, где общая широковещательность не
поддерживается,
нуженорганизации
другой способ
разрешения
Для
эффективной
именования
Для имен.
эффективной организации именования
символьных
компьютеров в больших сетях естественным
компьютеров
в больших сетях
естественным
Обычно
хорошей
альтернативой
широковещательности
является
является
применение
иерархических
составных
является
применение
иерархических
составных
применение
централизованной
службы,способа
поддерживающей
имен
(так
же
как
и
иерархического
имен между
(так же как
и иерархического
соответствие
различными
типамиспособа
адресов всех
адресации
между
прочим).
адресации между прочим).
компьютеров сети:
Компания Microsoft для своей корпоративной операционной
системы Windows NT разработала централизованную службу WINS,
которая поддерживает базу данных NetBIOS-имен и
соответствующих им IP-адресов.
Или файлы hosts, причем на каждом компьютере
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

7.

DNS
ИСТОРИЯ
В добрые старые времена таблицы соответствия имен и адресов хранились в одном текстовом
файле, который велся централизованно и рассылался на все машины сети ARPANET. Никакой
иерархии в именах машин не было, и процедура присваивания имени компьютеру предполагала
проверку уникальности желательного имени в масштабах страны. Объем изменений был огромен и
поглощал большую часть пропускной способности ARPANET. Поэтому в содержимом этого файла
часто не отображалось реальное состояние сети.
Вскоре стало ясно, что статическая таблица машин, которой хватало для небольшой сети, явно
неадекватна потребностям большой и растущей сети ARPANET. Система доменных имен решает
проблемы, с которыми не справилась такая таблица, используя две концепции: иерархию имен машин
и распределение ответственности.
Систему доменных имен формально описал Пол Мокапетрис (Paul Mocka petris) в RFC882 и 883
(1983 г. ) В 1987 г. ее откорректировали (RFC1034 и 1035) а в 1990 г. расширили (RFC 1101 и 1183).
Пол кроме того написал первую не UNIX версию.
Работа по переносу DNS в UNIX была начата в 1984 г. четырьмя старшекурсниками университета в
Беркли Дугласом Терри (Douglas Terry), Марком Пеинтером (Mark Painter), Дэвидом Ригглом (David
Riggle) и Сонг Ньян Чжоу (Songman Zhou). Эстафету подхватил Ральф Кэмпбелл (Ralph Campbell) из
Computer Systems Research Group, который начал "склеивать" доменную систему имен в BSD UNIX. В
1985 г. Кевин Данлэп (Kevin Dunlap), инженер DEC временно работавший в Беркли, принял этот проект
в свои руки и создал систему BIND (Berkeley Internet Name Domain — систему доменных Internet-имен
реализации Беркли). Майк Кареле (Mike Karels) и Пот Викси (Paul Vixie) сопровождали эту систему в
течение ряда лет. Пол продолжает вести ее и сейчас, пользуясь помощью участников
телеконференции isc.org и членов списка рассылки bind-workers.
Система BIND входит в состав большинства поставляемых UNIX систем. Кроме того, ее можно
получить с машины ftp.uu.net. Доменная система имен реализована и для других, не UNIX-овских
операционных систем, но здесь будет рассмотрена только BIND, т.к. на ее примере функционирование
DNS можно описать углубившись во многие тонкости, в других реализациях просто скрытые.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

8.

DNS
Цели и задачи
Доменная система имен определяет
иерархически организованное пространство
имен машин;
таблицу машин, реализованную в виде
распределенной базы данных;
библиотечные подпрограммы запросов этой
базы данных (это тоже часть BIND!)
усовершенствованные средства маршрутизации
электронной почты;
протокол обмена информацией об именах.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

9.

DNS
Пространство имен
Пространство имен DNS имеет вид дерева
доменов с полномочиями, возрастающими
по мере приближения к корню дерева.
Каждый домен — это отдельный ломоть
пространства имен, которым управляет один
административный объект. Корень дерева
имеет имя, под ним находятся домены
верхнего (или корневого) уровня. Домены
верхнего уровня относительно постоянны.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

10.

DNS
Пространство имен
По историческим причинам существует два
вида имен доменов верхнего уровня. В США
домены верхнего уровня отражают
организационно-политическую структуру и,
как правило, имеют трехбуквенные имена
Для доменов вне США используются
двухбуквенные коды стран ISO.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

11.

DNS
Пространство имен
Дерево имен начинается
с корня, обозначаемого
точкой (.)
Затем следует старшая
символьная
часть имени,
В
отличие
от
имен
файлов,
при
записи
которых
сначала
вторая поВстаршинству
отличие
от
имен
файлов,
при
записи
которых
сначала
указывается
самая
старшая
составляющая,
затем
составляющая
символьная
часть имени
указывается
самая
старшая
составляющая,
затем
составляющая
более
низкого
уровня
и
т.
д.,
запись
доменного
имени
и т. д.
более низкого уровня и т. д., запись доменного имениначинается
начинаетсясс
самой
младшей
составляющей,
аазаканчивается
самой
старшей.
самой
младшей
составляющей,
заканчивается
самой
старшей.
Составные
части
доменного
имени
отделяется
друг
от
друга
точкой.
Составные
части
доменного
имени
отделяется
друг
от
друга
точкой.
Например,
в
имени
pop3.favt.tsure.ru
составляющая
pop3
является
Например,
в имени
pop3.favt.tsure.ru
составляющая
pop3 является
именем
одного
из
компьютеров
в
домене
favt.tsure.ru.
именем одного из компьютеров в домене favt.tsure.ru.
Младшая часть имени
соответствует конечному узлу
сети.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

12.

Отображение имен на IP-адреса
Организация доменов и имен
Разделение имени на части позволяет разделить административную ответственность за
назначение уникальных имен между различными людьми или организациями в пределах
своего уровня иерархии. Так, для примера, приведенного выше, один человек может нести
ответственность за то, чтобы все имена, которые имеют окончание «ru», имели
Термин
"домен"
многозначен,
уникальную
следующую
внизочень
по иерархии
часть. поэтому его нужно
Кроме доменов имен стека TCP/IP в компьютерной
Разделение административной ответственности позволяет решить проблему образования
литературе
также часто
упоминаются
Windows
уникальных
имен без взаимных
консультаций
между домены
организациями,
отвечающими за
имена одного уровня
иерархии.коллизий
Очевидно,ичто
должна существовать
одна организация,
NT, домены
некоторые
другие.
отвечающая
за назначение
уровня
иерархии.
Общим
у всех имен
этих верхнего
терминов
является
то, что они
Совокупность имен, у которых несколько старших составных частей совпадают, образуют
некоторое множество компьютеров,
домен именописывают
(domain).
обладающее
каким-либо определенным свойством.
Например,
имена
трактовать
в рамках
определенного
Если этот человек
справляется
со своими
обязанностями, контекста.
то все имена типа www.ru, tsure.ru или
yandex.ru будут отличаться второй по старшинству частью.
favt.tsure.ru
smtp.favt.tsure.ru
pop3.favt.tsure.ru
ftp.favt.tsure.ru
входят в домен favt.tsure.ru, так как все эти имена имеют одну общую старшую часть —
имя favt.tsure.ru.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

13.

Отображение имен на IP-адреса
Организация доменов и имен
Если один домен входит в другой домен как его составная часть, то такой
домен могут называть поддоменом (subdomain), хотя название домен за ним
также остается. Обычно поддомен называют по имени той его старшей
составляющей, которая отличает его от других поддоменов. Например,
поддомен favt.tsure.ru обычно называют поддоменом (или доменом) favt. Имя
поддомену назначает администратор вышестоящего домена. Хорошей
аналогией домена является каталог файловой системы.
Если в каждом домене и поддомене обеспечивается уникальность имен
следующего уровня иерархии, то и вся система имен будет состоять из
уникальных имен.
По аналогии с файловой системой, в доменной системе имен различают
краткие имена, относительные имена и полные доменные имена.
Краткое имя — это имя конечного узла сети: хоста или порта маршрутизатора.
Краткое имя — это лист дерева имен.
Относительное имя — это составное имя, начинающееся с некоторого уровня
иерархии, но не самого верхнего. Например, www.favt — это относительное имя.
Полное доменное имя (fully qualified domain name, FQDN) включает составляющие
всех уровней иерархии, начиная от краткого имени и кончая корневой точкой:
www.favt.tsure.ru.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

14.

Отображение имен на IP-адреса
Организация доменов и имен
Компьютеры входят в домен в соответствии со своими составными именами, при этом они могут иметь
совершенно различные IP-адреса, принадлежащие к различным сетям и подсетям. Например, в домен
favt.tsure.ru могут входить хосты с адресами 80.250.181.67 и 192.168.180.1
Доменная система имен реализована в сети Internet, но она может работать и как автономная система
имен в крупной корпоративной сети, использующей стек TCP/IP, но не связанной с Internet.
В Internet корневой домен управляется центром InterNIC. Домены верхнего уровня назначаются для
каждой страны, а также на организационной основе. Имена этих доменов должны следовать
международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и
двухбуквенные аббревиатуры, а для различных типов организаций — следующие обозначения:
com — коммерческие организации (например, microsoft. com);
edu — образовательные (например, mit.edu);
gov — правительственные организации (например, nsf.gov);
org — некоммерческие организации (например, fidonet.org);
net — организации, поддерживающие сети (например, nsf.net).
Каждый домен администрируется отдельной организацией, которая обычно разбивает свой домен на
поддомены и передает функции администрирования этих поддоменов другим организациям. Чтобы
получить доменное имя, необходимо зарегистрироваться в какой-либо организации, которой InterNIC
делегировал свои полномочия по распределению имен доменов. В России такой организацией
является РосНИИРОС, которая отвечает за делегирование имен поддоменов в домене ru.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

15.

Компоненты BIND
демон named, который отвечает на запросы;
библиотечные
подпрограммы,
которыевв
Согласно
принятой
Согласнотерминологии,
терминологии,
принятой
DNS,
named
(или
отвечают
на демон
запросы
машин,
используя
DNS,
демонтипа
типа
named
(или
машина,на
накоторой
которойон
онработает)
работает)
DNS;машина,
называется
называетсясервером
серверомимен,
имен,аа
командные
интерфейсы которая
программа-клиент,
программа-клиент,
которая
обращается
кк
пользователь<->DNS:
nslookup,
dig, host.
обращается
нему
нему—
—определителем.
определителем.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

16.

Компоненты BIND
named
Демон named отвечает на запросы об
именах машин и их IP-адресах.
Если named не знает ответа на какой-либо
запрос, он опрашивает другие серверы и
помещает их ответы в кэш. Этот демон,
кроме того, отвечает за выполнение зонных
пересылок, обеспечивающих копирование
данных между серверами одного домена.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

17.

Компоненты BIND
named
Серверы имен работают по каждому домену
в одном из трех режимов:
Зона — это домен за вычетом
Основном
своих поддоменов.
Вспомогательном
Серверы имен работают именно с
Кэширующем
зонами, но часто говорится "домен",
Режимы хотя
отличаются
друг от друга
двумя
подразумевается
"зона"
характеристиками:
откуда поступают данные
авторитетен ли сервер для данного домена
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

18.

Компоненты BIND
named
В каждом домене и поддомене есть один основной сервер
имен. Основной сервер имен хранит на диске оригинал
данных домена.
Вспомогательный сервер копирует данные своего домена
с основного сервера посредством операции зонной
пересылки. В домене может быть несколько
вспомогательных серверов имен; обязательный
минимум — один.
Кэширующий сервер имен загружает адреса нескольких
важных машин (серверов корневого домена) из файла
запуска и получает все остальные данные, кэшируя ответы
на разрешаемые им запросы.
Большинство основных и вспомогательных серверов также имеют
свои собственные кэши.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

19.

Компоненты BIND
named
"Гарантируется", что авторитетный ответ сервера
имен точен;
Неавторитетный
ответ может
быть
Авторитетные
ответы
могутустаревшим.
быть
Тем не менее,
очень высокая
доля
неавторитетных
противоречивыми,
если
системный
ответов администратор
совершенно оправданна.
изменил данные основного
сервера
имен и забыл сообщить
об этом
Основные
и вспомогательные
серверы
вспомогательным серверам (или если на
авторитетны
для
своих
доменов,
но
не
для
вспомогательные серверы изменения еще не
кэшированной информации
о других доменах.
распространены
Кэширующие серверы имен никогда не бывают
авторитетными.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

20.

Компоненты BIND
named
Основной сервер имен должен быть размещен на
машине, которая стабильна, имеет небольшое
количество пользователей, относительно
безопасна и включена через источник
бесперебойного питания.
Вспомогательных серверов имен должно быть
минимум два, причем один из них — вне узла.
Вспомогательные серверы имен на местах должны
быть включены в разные сети и в разные цепи
питания.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

21.

Компоненты BIND
named
Кэширующие серверы не авторитетны, но они, тем
не менее, могут сократить объем DNS-трафика в
сети.
Хорошо, если одна машина одновременно
является и основным сервером для своих доменов,
и вспомогательным сервером для других доменов.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

22.

Компоненты BIND
Библиотека определителей
До появления доменной системы имен поиск соответствия между
именами машин и их адресами в файле /etc/hosts выполняли
библиотечные подпрограммы gethostbyname и gethostbyaddr
Для того чтобы такую информацию выдавала DNS, эти подпрограммы
необходимо изменить. Новые версии, как правило, интегрируются в Сбиблиотеку системы (libc.а) или же помещаются в свою собственную
библиотеку, libresolv.a.
Если операционная система не поддерживает разделяемые
библиотеки, то, при изменении библиотечной подпрограммы,
прикладные программы необходимо перекомпоновать.
Если это gethostbyname и ее производные, то страдают только те
программы, которые относятся к сетевому программному обеспечению.
Если система BIND инсталлируется с нуля, то в указаниях по инсталляции
должен быть список программ, которые необходимо перестроить
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

23.

Компоненты BIND
Командный интерфейс пользователя
nslookup
dig
dig @localhost www.ru
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

24.

Как работает DNS
Каждая машина, пользующаяся услугами DNS,
является либо клиентом этой системы, либо
одновременно и клиентом, и сервером.
Для преобразования имен машин в IP–адреса
программы вызывают подпрограмму
gethostbyname.
Если конфигурация машины предполагает
использование DNS, gethostbyname с помощью
определителя DNS запрашивает адрес у сервера имен.
Серверы имен бывают рекурсивными и
нерекурсивными.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

25.

Как работает DNS
Рекурс-ые и нерекурс-ые серверы
Нерекурсивный сервер — это ленивый, безразличный сервер. Если у
него есть адрес, кэшированный из предыдущего запроса или если он
авторитетен для домена, к которому относится имя, то он даст
соответствующий ответ. В противном случае вместо правильного ответа
он выдает отсылку к авторитетным серверам другого домена, которые
должны знать ответ.
Клиент нерекурсивного сервера должен быть готов принимать отсылки и
обрабатывать их.
Рекурсивный сервер возвращает только реальные ответы и
сообщения об ошибках Он сам отслеживает отсылки, освобождая от
этой обязанности клиента. Базовая процедура разрешения запроса, по
сути дела та же, единственное отличие состоит в том, что этот сервер
имен заботится об обработке отсылок, не передавая их обратно
клиенту.
Есть один побочный эффект принуждения сервера имен к отслеживанию
отсылок: в его кэш поступает информация о промежуточных доменах.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

26.

Как работает DNS
Рекурс-ые и нерекурс-ые серверы
При работе в локальной сети часто бывает так, что это как раз то, что
По этим причинам
серверы операции
имен нижних
уровней
обычно
нужно, поскольку
последующие
поиска,
инициируемые
любой
машинойявляются
этой сети,
пользуются результатами
предыдущих
рекурсивными,
а серверы высших
уровней усилий
сервера. (верхнего и частично второго) — нерекурсивными.
С другойБиблиотеки
стороны, серверу
доменапоставляемые
высокого уровня
(такого, как com
определителей,
с большинством
или ru) не
рекомендуется
хранитьотсылок;
информацию,
запрашиваемую
версии
UNIX, не понимают
они рассчитывают,
что
машиной, которая
находится
на несколько
ниже. Его кэш
локальный
сервер
имен будет уровней
рекурсивным.
быстро распухнет и, из–за дополнительных затрат времени на
обработку рекурсивных запросов, пропускная способность упадет.
Рекурсия может привести к заполнению кэша второстепенной
информацией. Корневые серверы и безопасные основные
серверы не должны этого делать
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

27.

Как работает DNS
Рекурс-ые и нерекурс-ые серверы
Отсылки генерируются на иерархической основе.
Если сервер, например, не сможет дать адрес машины
www.favt.tsure.ru, он последовательно обратится к серверам домена
favt.tsure.ru, tsure.ru, ru и корневого домена.
Отсылка должна включать адреса серверов домена, на который она
указывает, поэтому выбор — не произвольный, сервер должен
ссылаться на тот домен, серверы которого ему уже известны. Как
правило, выдается наиболее полный из известных доменов. В нашем
примере был бы выдан домен favt.tsure.ru (если это возможно).
Кэши серверов имен обычно предварительно загружаются серверами
корневого домена ("."), поэтому всегда можно сделать некую ссыпку,
даже если это будут просто слова "спроси у корневого сервера"
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

28.

Рекурс-ые и нерекурс-ые серверы
Пример
Предположим мы хотим найти адрес машины cis-01.narod.yandex.ru с
машины vvxnb.favt.tsure.ru. Предполагается, что перед запросом
никакие из требуемых данных не кэшировались, за исключением
серверов домена edu
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

29.

Рекурс-ые и нерекурс-ые серверы
Пример
Машина vvxnb просит выяснить ответ
на этот вопрос свои локальный сервер
имен ‑ ns.favt.tsure.ru.
Локальный сервер имен ответа на запрос не знает. Более
того, он не знает ничего ни о narod.yandex.ru, ни о yandex.ru.
Он знает некоторые серверы домена ru и, будучи
рекурсивным, спрашивает ru о машине cis-01.narod.yandex.ru
Сервер yandex.ru не знает ответа, но,
будучи рекурсивным, направляет этот
запрос серверу домена narod.yandex.ru
Доменом ru управляют нерекурсивные
серверы имен, поэтому вместо сообщения
запрошенного адреса локальному серверу
говорят: “Пойди-ка спроси у домена
yandex.ru; вот адреса серверов”
Локальный сервер посылает запрос о
машине cis-01 серверу домена
yandex.ru.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

30.

Рекурс-ые и нерекурс-ые серверы
Пример
Когда все устаканится:
ns.favt.tsure.ru кэшировал адрес машины cis-01
ns.favt.tsure.ru кэшировал данные о серверах домена yandex.ru
сервер
домена yandex.ru
машины cis-01
Запросы
демонакэшировал
named адрес
используют
протокол
UDP и порт 53. Если объем ответов превышает
512 байтов, то для их доставки используется
протокол TCP.
В зонных пересылках между серверами также
применяется протокол TCP
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

31.

Конфигурирование определителя
Если машина сама является сервером
имен, она должна быть указана первой.
На каждой из указанных машин должен
работать рекурсивный сервер имен,
На каждой машине-клиенте BIND должен
быть файл /etc/resolv.conf,
содержащий
рассматриваемый
определитель
отслеживает
отсылки.
список серверов имен,не
которым
нужно
посылать запрос.
Первый контакт устанавливается с
сервером имен, который указан в
файле /etc/resolv.conf первым. Если
В небольшой
организации
файл
этот сервер
на запрос
не отвечает,
search favt.tsure.ru tsure.ru
необходимо
выделенное
для ответа время (таим
nameserver 80.250.181.67 /etc/resolv.conf
конфигурировать
так, ичтобы
он
аут) истекает
запрашивается
nameserver 213.24.19.1
указывал
на
следующий
сервер имен, указанный в
nameserver 80.68.0.9
1.основной
сервер
организации
списке.
Всеимен
серверы
запрашиваются по
или, если
такого до
сервера
нетраз каждый. С
очереди
четырех
2. на сервер
Internet-провайдера.
каждой
неудачей интервал тайм-аута
увеличивается.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

32.

Настройка сервера имен
Полная конфигурация демона named
состоит из
файла начальной загрузки
кэш-файла
файла (или файлов) данных, содержащего
адресные соответствия для каждой зоны (для
основных серверов)
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

33.

Настройка сервера имен
Демон named запускается во время
начальной загрузки и работает непрерывно.
Например:
[root@studlin]# /etc/init.d/named start
Возможны варианты [start|restart|stop|reload|…]
Запускаясь, named записывает свой PID в
файл /etc/named.pid
Можно послать демону named сигнал, для
чего используется такая команда:
kill -СИГНАЛ `cat /var/run/named/named.pid`
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

34.

Настройка сервера имен
Файл /etc/named.conf задает роль данной
машины (основная, вспомогательная или
кэширующая) относительно каждой зоны и
способ, которым она должна получать свой
экземпляр записей о ресурсах,
составляющих локальную часть базы
данных.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

35.

Настройка сервера имен
/etc/named.conf
options {
directory
"/etc/namedb";
pid-file
"/var/run/named/pid";
dump-file
"/var/dump/named_dump.db";
statistics-file
"/var/stats/named.stats";
listen-on
{ 127.0.0.1; };
// forward only;
forwarders {
127.0.0.1;
};
// query-source address * port 53;
};
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
zone "example.net" {
type master;
file "master/example.net";
};
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

36.

Настройка сервера имен
База данных DNS
База данных доменной системы имен DNS для
каждого домена представляет собой набор
текстовых файлов, которые системный
администратор ведет на основном сервере имен
этого домена.
Элементы базы данных называются записями о
ресурсах; иногда их сокращенно обозначают RR.
Типы и форматы записей о ресурсах регламентируются
документами RFC882, 1035 и 1183.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

37.

Настройка сервера имен
База данных DNS
Вот базовый формат записи о ресурсах:
[имя] [время] [класс] тип данные
Поля разделяются знаками табуляции или
пробелами и могут содержать специальные
символы:
;
@
Вводит комментарии
Имя текущего домена
()
Позволяют данным занимать несколько строк
*
Метасимвол (только в поле имя)
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

38.

Настройка сервера имен
База данных DNS - ИМЯ
Имя может быть задано либо как
относительное, либо как полностью
определенное. На внутреннем уровне
программное обеспечение работает с
полностью определенными именами и
добавляет имя текущего домена ко всем
именам, которые не заканчиваются точкой.
Это позволяет укорачивать имена, но часто
сопряжено с ошибками
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

39.

Настройка сервера имен
База данных DNS - ВРЕМЯ
В поле время задается время (в секундах),
в течение которого элемент данных может
оставаться в кэше и считаться при этом
достоверным. Это поле часто опускают, но
оно обязательно присутствует в файле
запуска кэша, который содержит имена и
адреса корневых серверов.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

40.

Настройка сервера имен
База данных DNS - КЛАСС
В поле класс задается тип сети.
Распознаются три значения:
IN (Internet)
СН (ChaosNet) ChaosNet — устаревшая сеть, в которой
раньше работали Lisp-машины фирмы Symbolics
HS (Hesiod) Hesiod — это служба базы данных, являющаяся
надстройкой системы BIND
Значением класса по умолчанию является
IN.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

41.

Настройка сервера имен
База данных DNS – Типы записей
Зонные записи: определяют домены и их серверы
имен;
Базовые записи: преобразовывают имена в
адреса и наоборот, обеспечивают маршрутизацию
почты;
Факультативные записи: содержат
дополнительную информацию о машинах.
Содержимое поля данные зависит от типа записи.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

42.

Настройка сервера имен
База данных DNS – Типы записей
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

43.

Настройка сервера имен
Запись SOA
Запись SOA отмечает начало зоны ‑ группы
записей о ресурсах, расположенных в одной
области пространства имен DNS.
Домен DNS обычно соответствует минимум двум зонам;
одна служит для преобразования имен машин в IPадреса, а остальные — для обратного преобразования.
Для каждой зоны делается всего одна запись SOA;
зона продолжается до тех пор, пока не появляется
следующая запись SOA.
Запись SOA содержит имя зоны, адреса, необходимые
для установления технических контактов, различные
значения тайм-аутов.
Эта запись должна быть первой записью зоны.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

44.

Настройка сервера имен
Запись SOA - Пример
; Start of authority record for favt.tsure.ru
@ IN SOA ns.favt.tsure.ru. admin.favt.tsure.ru. (
1001
; Serial
21600 ; Refresh, 6 hours
1800
; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum, 5 days
Поле имя содержит символ @, обозначающий имя текущей зоны. В
этом примере можно было вместо него использовать favt.tsure.ru.
Поле время отсутствует. Класс - in (Internet), тип — SOA, а остальные
элементы составляют поле данные.
Сервер ns.favt.tsure.ru — основной сервер имен этой зоны.
Запись admin.favt.tsure.ru. указывает адрес электронной почты для
технических контактов в формате пользователь.машина, (а не
пользователь@машина). Если необходимо отправить почту
администратору домена, просто заменяется первая точка знаком @ и
убирается последняя точка. Вместо реального регистрационного имени
часто используется псевдоним, например, admin или hostmaster.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

45.

Настройка сервера имен
Запись SOA - Пример
; Start of authority record for favt.tsure.ru
@ IN SOA ns.favt.tsure.ru. admin.favt.tsure.ru. (
1001
; Serial
21600 ; Refresh, 6 hours
1800
; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum, 5 days
Первый числовой параметр — порядковый номер блока информации о
конфигурации зоны. Это может быть любое целое число, которое
должно увеличиваться при каждом изменении файла данных зоны.
Последовательные номера не обязательно должны быть
непрерывными, но должны монотонно возрастать.
Следующие четыре элемента — значения тайм-аутов (в секундах),
которые управляют временем, в течение которого данные можно будет
кэшировать в различных точках всемирной базы данных DNS
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

46.

Настройка сервера имен
Запись SOA - Пример
; Start of authority record for favt.tsure.ru
@ IN SOA ns.favt.tsure.ru. admin.favt.tsure.ru. (
1001
; Serial
21600 ; Refresh, 6 hours
1800
; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum, 5 days
Первый элемент — тайм-аут регенерации, refresh. Он
показывает, как часто вспомогательные серверы должны
сверяться с основным сервером и смотреть, не изменился
ли порядковый номер конфигурации зоны. Если зона
изменилась, вспомогательные серверы должны создать
новый экземпляр данных зоны. Общепринятые значения
для данного тайм-аута — от одного до шести часов
(3600 — 21600 секунд)
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

47.

Настройка сервера имен
Запись SOA - Пример
; Start of authority record for favt.tsure.ru
@ IN SOA ns.favt.tsure.ru. admin.favt.tsure.ru. (
1001
; Serial
21600 ; Refresh, 6 hours
1800
; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum, 5 days
Если вспомогательный сервер пытается проверить
порядковый номер основного, а тот не отвечает,
вспомогательный сервер сделает повторную попытку по
истечении периода времени, заданного тайм-аутом retry.
Нормальное значение для данного параметра — от 20 до
60 минут (1200 ‑ 3600 секунд)
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

48.

Настройка сервера имен
Запись SOA - Пример
; Start of authority record for favt.tsure.ru
@ IN SOA ns.favt.tsure.ru. admin.favt.tsure.ru. (
1001
; Serial
21600 ; Refresh, 6 hours
1800
; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum, 5 days
Если основной сервер длительное время отключен, то
вспомогательные серверы будут многократно пытаться регенерировать
свои данные, однако эти попытки всегда будут кончаться неудачей. В
конце концов все вспомогательные серверы решат, что основной
сервер не включится никогда и что его данные, наверняка, устарели.
Параметр expire определяет, как долго вспомогательные серверы будут
продолжать обслуживать данные этого домена в отсутствие основного
сервера. Система должна выжить, даже если основной сервер не
работает неделю, поэтому параметру expire следует присваивать
большое значение. Обычно от недели до месяца
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

49.

Настройка сервера имен
Запись SOA - Пример
; Start of authority record for favt.tsure.ru
@ IN SOA ns.favt.tsure.ru. admin.favt.tsure.ru. (
1001
; Serial
21600 ; Refresh, 6 hours
1800
; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum, 5 days
Параметр minimum задает время жизни записей о ресурсах,
которое будет приниматься по умолчанию. Он кэшируется
вместе с записями и используется для отмены их действия
на неавторитетных серверах. Каждая запись может в поле
время содержать явно заданное значение; если такое
значение не установлено, то используется значение из
записи SOA
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

50.

Настройка сервера имен
Запись NS
Записи NS описывают серверы, которые авторитетны для
данной зоны. Обычно эти записи следуют за записью SOA.
Запись NS имеет следующий формат:
зона [время] [класс] NS имя_машины
Например:
favt.tsure.ru. IN NS ns.favt.tsure.ru.
favt.tsure.ru. IN NS ns.tsure.ru.
favt.tsure.ru. IN NS 80.68.0.9.
Поскольку имя зоны здесь совпадает с указанным в поле
имя записи SOA, которая идет перед записями NS, поле
зона можно оставить пустым. Поэтому строки:
IN NS ns.favt.tsure.ru.
IN NS ns.tsure.ru.
IN NS 80.68.0.9.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

51.

Настройка сервера имен
Запись A
Записи А — сердце базы данных DNS. Они
обеспечивают перевод имен машин в IP–
адреса, ранее заданные в файле /etc/hosts.
Для каждого из сетевых интерфейсов
машины должна быть сделана одна запись
А. Эта запись имеет следующий формат:
имя_машины [время] [класс} А ip-адрес
Например:
vvxnb IN A 192.168.180.12
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

52.

Настройка сервера имен
Запись PTR
Записи PTR выполняют обратное
преобразование IP–адресов в имена машин.
Как и в случае с записями А, для каждого
сетевого интерфейса машины должна
быть сделана одна запись PTR.
Администрирование информационных систем, I (Системы на платформе Unix/Linux)
© 2006-2013 В.В.Хашковский, [email protected]

53.

Настройка сервера имен
Запись PTR, домен INADDR.ARPA
Специальный домен верхнего уровня, который называется INADDR.ARPA.
Полностью определенные имена машин можно рассматривать как
структуру, в которой "старший бит" стоит справа. Например, в
имени
vvxnb.favt.tsure.ru
vvxnb находится в favt, favt находится в tsure, a tsure — в ru.
С другой стороны, в IP-адресах "старший бит" стоит слева:
192.168.180.12
English     Русский Rules