Опубликован: 19.10.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Европейский Университет в Санкт-Петербурге
Лекция 5:

DNS

< Лекция 4 || Лекция 5: 12345 || Лекция 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 forget 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
< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Алексей Антипин
Алексей Антипин
Россия, Томск, ТУСУР, 2010
Игорь Тарасенко
Игорь Тарасенко
Россия