Читаем без скачивания TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - Сидни Фейт
Шрифт:
Интервал:
Закладка:
86400 ; refresh after 24 hours
7200 ; retry after 2 hours
2592000 ; expire after 30 days
345600 ; default TTL of 4 days
)
; fishfood.com file
FISHFOOD.COM. IN SOA NS.FISHFOOD.COM. (
postmaster.FlSHFOOD.COM.
94101101 ; serial number
86400 ; refresh after 24 hours
7200 ; retry after 2 hours
2592000 ; expire after 30 days
345600 ; default TTL of 4 days
)
FISHFOOD.COM. IN NS NS.FISHFOOD.COM.
FISHFOOD.COM. IN NS NS2.FISHFOOD.COM
LOCALHOST IN A 127.0.0.1
NS IN A 172.66.1.1
NS2 IN A 172.66.1.100
;
MAIL-RELAY IN A 172.66.1.2
IN TXT www, ftp on mail-relay
IN TXT gopher on mail-relay
IN HINFO SUN UNIX ; should not include
;
WWW IN CNAME MAIL-RELAY
FTP IN CNAME MAIL-RELAY
GOPHER IN CNAME MAIL-RELAY
;
FISHFOOD.COM. IN MX 1 MAIL-RELAY
* IN MX 1 MAIL-RELAY
NS IN MX 1 MAIL-RELAY
;end of fishfood.com file
;
Рис. 12.6. Пример файла трансляции имен в адреса
Круглые скобки в записи SOA позволяют расширить эту запись на следующие строки. В запись включено несколько значений тайм-аута (измеряются в секундах). Данная запись SOA указывает:
■ Сервер ns.fishfood.com является первичным для домена fishfood.com.
■ Сведения о всех возникающих проблемах нужно сообщать на [email protected] (следует заменить первую точку на символ @).
Вторичные серверы будут копировать файл целиком, получая при этом важную информацию из следующих четырех пунктов в записи SOA. Из приведенной выше записи каждый вторичный сервер узнает, что ему необходимо:
■ Соединяться с первичным сервером каждые 24 часа.
■ Проверять, не стал ли текущий порядковый номер меньше, чем порядковый номер первичного сервера. Если это произойдет, значит информация на первичном сервере была изменена, и вторичному серверу нужно выполнить перенос зоны, т.е. скопировать все сведения о зоне из базы данных первичного сервера в свою систему.
■ Повторить попытку соединения через 2 часа, если он не сможет соединиться с первичным в намеченное время.
■ Отметить все свои данные просроченными и прекратить отвечать на запросы, если он не сможет соединяться с первичным в течение 30 дней.
Показанные в примере значения рекомендованы (см. RFC 1537) для серверов верхнего уровня.
12.14.2 Время жизни (Time-To-Live)
В RFC 1035 (специфицирует протокол DNS) заявлено, что TTL в записи SOA — это минимальное значение тайм-аута, разрешенное для всех записей. Но на практике администратору хочется использовать TTL в записи SOA как значение по умолчанию, указывая меньшие значения только для определенных хостов, информация на которых должна быстро измениться. В реализации следуют этому более осмысленному действию, а не требованиям стандарта.
В приведенном примере значение по умолчанию (для TTL — 4 дня) обычно располагается в диапазоне от одного дня до недели, в зависимости от устойчивости данного элемента сайта.
12.14.3 Дополнение имени
Имя, которое не заканчивается точкой, дополняется именем домена для зоны, например fishfood.com. Таким образом, в этом файле ns будет соответствовать ns.fishfood.com.
12.14.4 Запись о сервере имен
Запись о сервере имен (Name Server — NS) идентифицирует сервер для домена. Если имеются подзоны, необходимы и элементы для дочерних серверов имен подзон, чтобы сервер с более высоким уровнем мог использовать указатели на серверы низшего уровня. Записи об адресе требуются для обеспечения доступа к дочерним серверам и называются связующими (glue records).
Отметим, что сервер с более высоким уровнем не авторитетен для дочерних серверов. Отвечать за дочерние серверы могут различные администраторы. Администратор родительского сервера должен проявлять осторожность при взаимодействии с администраторами дочерних серверов и отслеживать текущие изменения в списке имен и адресов дочерних серверов.
12.14.5 Записи об адресе
Запись об адресе (address records) — это просто отображение имени в адрес. Таким образом, адресом ns.fishfood.com будет 172.66.1.1.
12.14.6 Записи CNAME
Вспомним, что для более осмысленного именования можно присваивать серверным хостам короткий псевдоним. В показанном примере службы World Wide Web пересылки файлов и gopher выполняются на той же машине, которая поддерживает доставку электронной почты. Запись для канонического имени (canonical name — CNAME) определяет короткое имя для хоста и разрешает пользователям вводить www.fishfood.com, ftp.fishfood.com или gopher.fishfood.com.
12.14.7 Записи для почтового обмена
Серверы обмена почтой (Mail Exchanger — MX) обеспечивают доставку в/из сети (см. главу 16). В файле существуют три записи MX, которые идентифицируют сервер MX для fishfood.com.
fishfood.com. IN MX 1 MAIL-RELAY
* IN MX 1 MAIL-RELAY
ns IN MX 1 MAIL-RELAY
Эти записи фактически указывают, что:
■ Почта, адресованная на некто@fishfood.com, должна быть доставлена на mail-relay.fishfood.com.
■ Подстановочный символ * позволяет пересылать почту, адресованную особым хостам, которые отсутствуют в списке DNS. Почта, адресованная на некто@любой_хост.fishfood.com, должна быть доставлена на mail-relay.fishfood.com.
■ Почта, адресованная на некто@ns.fishfood.com, должна быть передана по адресу mail-relay.fishfood.com.
Все это выглядит так, будто подстановочный символ должен полностью обеспечить обращение к ns.fishfood.com. Тогда зачем же нужен отдельный оператор? Правила для подстановочного символа гласят, что он может быть применен только к системам, не имеющим никаких других записей в базе данных DNS.
Числа, стоящие после MX, называются предпочтительными (preference numbers). Они будут рассмотрены в главе 16 при описании работы с электронной почтой.
12.14.8 Записи TXT и HINFO
Записи ТХТ не имеют никакого реального назначения, но позволяют администратору включить в базу данных произвольные комментарии.
Записи HINFO можно использовать для идентификации типа оборудования и операционной системы. Поскольку пользователи способны прочитать эти данные через программы типа nslookup, многие администраторы считают, что записи HINFO не должны находиться в базе данных, так как они могут помочь хакерам найти уязвимые системы.
12.15 Трансляция адресов в имена
Почему необходим обратный поиск и трансляция адресов в имена? Некоторые системные программы вызывают обратный поиск с целью улучшения вывода информации для администрирования. Например, показанный ниже вывод из программы netstat представляет все или часть имени хоста вместо IP-адресов:
> netstat -а
Active Internet connections (including servers )
Proto Recv-Q Send-Q Local Address Foreign Address (state)
Tcp 0 121 tigger.nntp c3po.4809 ESTABLISHED
Tcp 0 0 tigger.smtp news.std.com.1472 TIME_WAIT
Tcp 0 925 tigger.1176 sun3.nsfnet-rela.smtp ESTABLISHED
Tcp 0 0 tigger.pop-3 ringotty8.16284 TIME_WAIT
Кроме этого, обратный поиск используется для служб пересылки файлов и WWW, которые создают регистрационные записи о системах, использующих эти службы. Некоторые службы отклоняют запросы клиентов, чьи IP-адреса не соответствуют одной из записей в базе данных имен доменов.
Вспомним, что адреса размещаются в специальном домене IN-ADDR.ARPA и дерево этого домена должно расширяться от наиболее общей части адреса к менее общей. При этом порядок номеров в каждом адресе становится обратным. Поэтому поддерево сети 172.66 называется 66.172.in-addr.arpa. На рис. 12.7 показан обратный поиск записи.
66.172.in-addr.arpa. IN SOA NS.FISHFOOD.COM. (
postmaster.FISHFOOD.COM.
94101101 ; serial
86400 ; refresh after 24 hours
7200 ; retry after 2 hours
2592000 ; expire after 30 days
345600 ; default TTL of 4 days