Европейский Университет в Санкт-Петербурге
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 1076 / 303 | Оценка: 4.30 / 3.78 | Длительность: 18:28:00
Лекция 5:

DNS

< Лекция 4 || Лекция 5: 1234 || Лекция 6 >

Обратная зона

Обратной зоной в терминах системы доменных имен называется домен специального вида. Как мы помним, DNS – это индексированная база данных информации о компьютерах, где индексом служит доменное имя. В некоторых случаях требуется как раз определить это доменное имя – по известному адресу. В этом случае индексом к информации о компьютере (а конкретно – его имени) должен служить IP-адрес. Поэтому потрбовалось создать еще один, параллельный доменному имени, индекс. Для этого был создан домен in-addr.arpa. Этот домен используется исключительно для поиска соответствия между известным IP-адресом и (искомым) доменным именем. Реальный IP-адрес преобразуется в доменное имя в домене in-addr.arpa посредством переиначивания: так, компьютер с адресом 192.177.16.43 представляется в домене in-addr.arpa как 43.16.177.192.in-addr.arpa. Таким образом, все компьютеры в Интернете могут иметь (и в большинстве своем имеют) доменные имена в домене in-addr.arpa. Это не мешает им иметь доменные имена в других доменах, например, компьютер с адресом 192.177.16.43 вполне может также относиться к домену example.ru и иметь там имя mailhost.example.ru.

Чтобы запись о компьютере появилась в домене in-addr.arpa, поддомен этого домена должен быть делегирован тому провайдеру или той организации, которая владеет соответствующим диапазоном IP-адресов, – например, компания Russian Example, владеющая, среди прочих сетей, сетью класса С 192.177.16/24, может "оформить на себя", т.е. просить делегировать ей, домен 16.177.192.in-addr.arpa. После этого системный администратор компании создаст файл с описанием соответствия адресов компьютеров в example.ru их доменным именам в этом домене. Обратная зона готова.

Как используют данные обратной зоны? Самый часто востребованный способ состоит в проверке подлинности отправителя почтового сообщения. Сейчас практически все почтовые серверы в Интернете при обработке соединения с ними выполняют следующую операцию: вначале они требуют от соединяющегося с ними почтового сервера представиться. Тот, допустим, говорит, что его имя – mail.relays.org. Пакет с ответом, разумеется, содержит обратный IP-адрес отправителя, и почтовый сервер запрашивает обратную зону DNS, чтобы выяснить, какое имя там числится у компьютера с таким IP-адресом. Если пришедший ответ и то, что удаленый сервер сообщил о себе (mail.relays.org), не совпадает, то соединение считается нелегальным и письмо не принимается.

На любом компьютере, где запущен сервер имен named, обязательно должен присутствовать файл, описывающий обратную зону самого компьютера (т.е. соответствие имени localhost адресу 127.0.0.1). Этот файл часто носит имя localhost.rev или 127.0.0. Естественно, этот файл описания локальной обратной зоны обязан быть упомянут в конфигурации сервера имен named.conf.

cat 127.0.0
@ IN SOA ns.example.ru. hostmaster.example.ru. (
1.2 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns.example.ru.
1 IN PTR localhost.

Файл обратной зоны не обязательно является копией файла прямой зоны с "переставленными" столбцами, поскольку в одном домене могут присутствовать компьютеры из разных IP-сетей, а одна IP-сеть может объединять компьютеры из разных доменов.

В качестве базового примера можно рассмотреть ситуацию, когда все компьютеры домена входят в одну IP-сеть.

Еще раз отметим, что выделение IP-сети не обеспечивает автоматического делегирования соответствующей обратной зоны. Чтобы получить право администрирования обратной зоны сети, адреса из которой назначены вашим компьютерам, следует написать заявку о делегировании обратной зоны по стандартной форме. Имеет смысл проконсультироваться у своего провайдера, как это сделать, или просто заказать ему выполнение этой работы.

Имя обратной зоны всегда пишется как адрес IP-сети "наоборот", а за ним добавляется суффикс in-addr.arpa. Такая "запись наоборот" была введена ввиду иерархической структуруы DNS: левая часть имени обозначает компьютер, правая – домен. В случае с IP-адресами все наоборот. В адресе номер сети идет слева, а номер компьютера в сети – справа. Для встраивания в DNS это не годилось, и адреса сетей "подогнали" под стандарт DNS.

Рассмотрим в качестве примера файл обратной зоны сети 192.177.16/24:

; $ORIGIN 16.177.192.IN-ADDR.ARPA.
; 16.177.192.IN-ADDR.ARPA. - это имя обратной зоны
@ IN SOA qwe.example.ru. hostmaster.example.ru.
( 2001021501 ; Serial
21600 ; Refresh 3 hours
7200 ; Retry 1 hour
7200000 ; Expire 2000 hours
86400 ) ; Negative TTL 24 hours
IN NS qwe.example.ru.
IN NS ns.ussr.eu.net.
IN NS ns.spb.su.
;
;
31 IN PTR qwe.example.ru.
67 IN PTR qwe.example.ru.
134 IN PTR post.example.ru.
236 IN PTR margo.example.ru.
239 IN PTR annas.example.ru.

В этом файле есть запись SOA, описывающая обратную зону в целом, записи NS, указывающие на серверы имен этой зоны, и записи PTR, которые и описывают соответствие имен компьютеров из домена example.ru адресам IP-сети.

Файл example.ru описывает домен example.ru:

; example.ru
;
$ORIGIN ru.
example IN SOA ns.example.ru. hostmaster.imc.example.ru.
( 2002072401 ; Serial
21600 ; Refresh 3 hour
7200 ; Retry 1 hour
360000 ; Expire 100 hours
86400) ; Minimum 1 hours
IN NS ns.example.ru.
; Secondary servers
IN NS ns.olly.ru.
IN NS ns.qq.ru.
; Domain mail address
IN MX 3 post.example.ru.
IN MX 10 relay.qq.ru.
$ORIGIN example.ru.
;
ns IN A 192.177.16.31
;
; Aliases
;
ftp IN CNAME qwe.example.ru.
www IN CNAME qwe.example.ru.
mail IN CNAME post.example.ru.
; Computers
;
qwe IN A 192.177.16.31
qwe IN A 192.177.16.67
post IN A 192.177.16.134
margo IN A 192.177.16.236
annas IN A 192.177.16.239
annas IN HINFO AT-486, WGR
; Don't remember increase Serial, please.

Обратите внимание на то, что часть записей – это записи CNAME. Они создают удобные псевдонимы. Если роль, скажем, почтового сервера mail.example.ru будет передана от post.example.ru другому компьютеру, будет достаточно всего лишь изменить имя в записи CNAME. Думать о том, какой у нового почтового сервера IP-адрес, не придется.

Один компьютер может иметь несколько IP-адресов (принадлежащих одному или – чаще – нескольким сетевым интрефейсам). Один IP-адрес может соответствовать нескольким именам компьютера, потому что компьютер может иметь несколько имен.

Помните, что если в файле описания домена встретятся имена доменов или компьютеров, не заканчивающиеся точкой, то они будут восприняты как неполностью определенные, к ним будет дописан суффикс по умолчанию. Так, если в описании зоны вместо

qwe IN A 192.177.16.67

написать

qwe.example.ru IN A 192.177.16.67

то сервер имен воспримет эту запись как

qwe.example.ru.example.ru. IN A 192.177.16.67

Это не совсем то, что мы хотели, верно? Если мы хотим явно указать полное имя, следует написать так (обратите внимание на завершающую точку!):

qwe.example.ru. IN A 192.177.16.67
Макросы в файле описания обратной зоны

В некоторых случаях требуется устанавливать соответствие между IP-адресом и именем компьютера в ситуации, когда имя компьютера заранее не известно. Именно так бывает, когда надо создать описание обратной зоны для IP-сети, адреса из которой раздаются по DHCP произвольным компьютерам. Обычным решением этой задачи является создание адресов вида ip-116.pool-10.provider.net для подмножества адресов провайдера, которые он раздает по DHCP. Для того, чтобы избежать редактирования файла обратной зоны вручную, используют макрос $GENERATE (доступен в bind версии 8 и выше). Вот пример файла обратной зоны с использованием этого макроса:

@ IN SOA ns.provider.ru. hostmaster.provider.ru. (
2006042002 ; Serial
21600 ; Refresh 3 hours
7200 ; Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours
IN NS ns.provider.ru.
; address -> full name with end point
;
82 IN PTR pluto.provider.ru.
84 IN PTR orion.provider.ru.
$GENERATE 130-254 $ PTR pool-10-$.provider.ru.

Макрос в последней строке данного примера эквивалентен множеству строк, начинающемуся строкой

130 IN PTR pool-10-130.provider.ru.

и заканчивающемуся строкой

254 IN PTR pool-10-254.provider.ru.
< Лекция 4 || Лекция 5: 1234 || Лекция 6 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.