- •История доменной системы имен
- •Кому нужна доменная система имен?
- •Пространство имен dns
- •Выбор нмени домена
- •Конфигурирование определителя
- •База Данных dns
- •Заппсь soa
- •Записи mx
- •Записи снаме
- •Записи hinfo
- •Имя [время] [класс] wks [адрес] протокол программы
- •Новые записи о ресурсах
- •Isdn Поле isdn содержит isdn-адрес, который, по сути дела, является замаскированным номером телефона.
- •О чем мы еше не говорили
- •16.12. Корректировка Фанпов зон
- •Зонные пересылки
- •Вопросы зашиты
- •Тестирование и отладка
- •Напрасное делегирование
- •Рекомендуемая дополнительная литература
Заппсь soa
Запись SOA отмечает начало зоны - группы записей о ресурсах, расположенных в одной области пространства имен DNS. Как мы увидим ниже, домен DNS обычно соответствует минимум двум зонам; одна служит для преобразования имен машин в IP-адреса, а остальные — для обратного преобразования.
Для каждой зоны делается всего одна запись SOA; зона продолжается до тех пор, пока не появляется следующая запись SOA. Запись SOA содержит имя зоны, адреса, необходимые для установления технических контактов, различные значения тайм-аутов. Эта запись должна быть первой записью зоны. Например:
; Start of authority record for cs.colorado.edu
@ IN SOA ns.cs.colorado, edu. admin. cs.colorado.edu. (
1001 ; Serial
21600 ; Refresh, 6 Hours
1800 ; Retry, 30 minutes
1209600 ; Expire, 2 weeks
432000 ) ; Minimum 5 days
Поле имя содержит символ @, обозначающий имя текущей зоны. В этом примере можно было вместо него использовать cs.colorado.edu. Не думайте о том, как был определен символ @; мы объясним это позже, когда будем говорить о файлах конфигурации демона named.
Поле время отсутствует. Класс - IN (Internet), тип — soa, а остальные элементы составляют поле данные.
Сервер ns.cs. Colorado. edu — основной сервер имен этой зоны.
Запись admin. cs. Colorado. edu. указывает адрес электронной почты для технических контактов в формате пользователь, машина, (а не пользователь@машина). Если Вам необходимо отправить почту администратору домена, просто замените первую точку знаком @ и уберите последнюю точку. Вместо реального регистрационного имени часто используется псевдоним, например, admin или hostmaster.
Круглые скобки позволяют продолжить запись SOA на несколько строк.
Первый числовой параметр — порядковый номер блока информации о конфигурации зоны. Это может быть любое целое число, которое должно увеличиваться при каждом изменении файла данных зоны. Некоторые зашифровывают в этот порядковый номер дату последней модификации файла. Например, 1998040101 означает, что первое изменение в файле данных зоны было сделано 1 апреля 1998 г. Вспомогательные серверы используют порядковый номер для того, чтобы определить, когда следует получать свежие данные.
Последовательные номера не обязательно должны быть непрерывными, но должны монотонно возрастать. Если Вы случайно задали на основном сервере очень большое число и оно передается вспомогательным серверам, то исправить порядковый номер на основном сервере не удастся. Вспомогательные серверы будут запрашивать новые данные только в том случае, если порядковый номер записи SOA основного сервера больше порядковых номеров записей, хранимых вспомогательными серверами.
Наиболее распространенная ошибка состоит в том, что пользователь изменяет файлы данных, забывая при этом исправить порядковый номер. Демон named накажет Вас, проигнорировав внесенные изменения.
Следующие четыре элемента — значения тайм-аутов (в секундах), которые управляют временем, в течение которого данные можно будет кэшировать в различных точках всемирной базы данных DNS. Эти значения представляют собой компромисс между эффективностью (использование старого значения дешевле выборки нового) и точностью (новые значения более точны).
Первый элемент — тайм-аут регенерации, refresh. Он показывает, как часто вспомогательные серверы должны сверяться с основным сервером и смотреть, не изменился ли порядковый номер конфигурации зоны. Если зона изменилась, вспомогательные серверы должны создать новый экземпляр данных зоны. Общепринятые значения для данного тайм-аута — от одного до шести часов (3600 — 21600 секунд).
Если вспомогательный сервер пытается проверить порядковый номер основного, а тот не отвечает, вспомогательный сервер сделает повторную попытку по истечении периода времени, заданного тайм-аутом retry. Считается, что нормальное значение для данного параметра — от 20 до 60 минут ( 1200 — 3600 секунд).
Если основной сервер длительное время отключен, то вспомогательные серверы будут многократно пытаться регенерировать свои данные, однако эти попытки всегда будут кончаться неудачей. В конце концов все вспомогательные серверы решат, что основной сервер не включится никогда и что его данные наверняка устарели. Параметр expire определяет, как долго вспомогательные серверы будут продолжать обслуживать данные этого домена в отсутствие основного сервера. Система должна выжить, даже если основной сервер не работает неделю, поэтому параметру expire следует присваивать большое значение. Рекомендуем брать от недели до месяца.
Параметр minimum задает время жизни записей о ресурсах, которое будет приниматься по умолчанию. Он кэшируется вместе с записями и используется для отмены их действия на неавторитетных серверах. Каждая запись может в поле время содержать явно заданное значение; если такое значение не установлено, то используется значение из записи. Опыт показывает, что следует брать значения от нескольких часов до нескольких дней. Увеличение значения этого параметра приблизительно до недели существенно снижает интенсивность сетевого трафика и нагрузку на доменную систему имен.
Параметры expire и minimum в конечном итоге заставляют всех пользователей DNS отбрасывать старые значения данных. Если рабочая станция пользователя превращается в Х-терминал, то необходимо добавить запись DNS, которая обеспечит переадресацию электронной почты на другую машину. В организациях, где кэшируются старые значения, не увидят эту новую запись MX и не смогут посылать почту данному пользователю. Однако, minimum секунд спустя кэшированную запись придется выбросить, а еще через expire секунд всем авторитетным серверам придется либо взять новую запись, либо вообще прекратить выдачу данных. К счастью, данные доменной системы имен меняются не слишком часто.
Записи NS
Записи NS описывают серверы, которые авторитетны для данной зоны. Обычно эти записи следуют за записью SOA. Запись NS имеет следующий формат:
зона [время] [класс] NS имя машины
Например:
cs.colorado, edu. IN NS ns.cs.colorado,edu.
cs.colorado, edu. IN NS anchor,cs.colorado, edu.
cs.colorado, edu. IN NS nc. cs. utah. edu.
Поскольку имя зоны здесь совпадает с указанным в поле имя записи которая идет перед записями NS, поле зона можно оставить пустым^ Поэтому строки
IN NS ns.cs.colorado,edu.
IN NS anchor,cs.colorado, edu.
IN NS nc. cs. utah. edu.
будут эквивалентны приведенным выше. Следует указывать все авторитетные серверы. Кэширующие серверы не могут быть авторитетными, поэтому их давать не нужно. Здесь нет ключевого слова, которое указывало бы i то, какой сервер имен является основным, — это определяется в начальной загрузки, которым пользуется демон named.
Если записи NS относятся к серверам имен для текущей зоны то, доменная система имен их практически не использует. Они просто поясняют пользователям, как организована зона и какие машины играют ключевую роль в обеспечении сервиса имен.
Тем не менее записи NS определяют домены и делегируют им полномочия Например, в приведенном выше примере записи NS — если они присутствуют в colorado.edu — делегируют полномочия поддомена cs трем перечисленным серверам. Эти же записи в базе данных cs.colorado.edu разъясняют структуру зоны, но существенной роли не играют,
Внешний мир имеет доступ только к тем серверам имен, которые указаны с родительским доменом. Возможно, Вы захотите назначить дополнитные серверы имен для использования только в пределах Вашей организации. Вообще говоря. Вы, наверное, не захотите сделать все свои внутренние серверы доступными для Internet.
Например, новый сервер для cs.colorado.edu будет запрашиваться сторонними машинами, находящимися вне данного домена, только в том случае, если к файлам домена colorado.edu добавлена соответствующая запись NS.
Беглый взгляд на информацию о делегировании в нашей собственной сети позволил обнаружить крупный сервер домена colorado.edu, о котором домен edu ничего не знал. Делайте так, как мы говорим, а не так, как мы делаем; иногда проверяйте информацию о делегировании с помощью nslookup или dig, чтобы убедиться в том, что у Вас задан соответствующий набор серверов.
Записи А
Записи А — сердце базы данных DNS. Они обеспечивают перевод имен машин в IP-адреса, ранее заданные в файле /etc/bosts. Для каждого из сетевых интерфейсов машины должна быть сделана одна запись А. Эта запись имеет следующий формат:
имя_машины [время] (класс) А ip-алрес
Например:
anchor IN A 128.138.243.100
Записи PTR
Записи PTR выполняют обратное преобразование IP-адресов в имена машин. Как и в случае с записями А, для каждого сетевого интерфейса машины должна быть сделана одна запись PTR.
Общий формат записи PTR таков:
адрес [время] [класс] PTR имя_машины
Файлы, содержащие записи PTR, в больших организациях часто строятся по подсетям. При этом домен по умолчанию включает лишь часть сетевого адреса, которая является общей для всех подсетей.
Важно, чтобы записи А соответствовали записям PTR. Несовпадение и отсутствие последних приводит к тайм-аутам, в результате чего Ваша in' система замедляет ход и начинает еле ползти.
