Online Documentation Server
 ПОИСК
ods.com.ua Web
 КАТЕГОРИИ
Home
Programming
Net technology
Unixes
Security
RFC, HOWTO
Web technology
Data bases
Other docs

 

 ПОДПИСКА

 О КОПИРАЙТАХ
Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.




Имена Интернет

Подстрешный Артем,
программист
Radio-MSU Network,
art@radio-msu.net

Введение

 Для человека, поработавшего даже небольшое время в сети, становится совершенно естественным, что у каждого компьютера, подключенного к интернет, есть свое название, имя, которое легко запомнить. Система, которая позволяет нам использовать эти привычные для человека имена, избегая других неудобных способов "маркировки" компьютеров, называется DNS (Domain Name System, доменная система имен).

В интернете существует, вообще говоря, два основных способа адресации компьютеров. Первый - численный (или IP-адрес; например, 193.124.134.101), второй - символьный (noc.radio-msu.net). DNS создана для того, чтобы поставить в соответствие один способ другому.

Чтобы облегчить упорядочивание наименований, вся структура компьютерных имен устроена таким образом:есть отдельные уровни (домены), которые могут включать в себя как другие поддомены, так и имена компьютеров. Все названия должны состоять только из латинских букв, цифр и, может быть, знака "минус". Отдельные уровни доменов разделяются точкой.

Типичное полное доменное имя компьютера может выглядеть так: computer3.otdel-5.firma.msk.ru В этом примере такой адрес мы присвоили компьютеру номер три, который стоит в отделе (номер сообразите сами) фирмы с изысканным английским названием "firma", которая находится в Москве ("msk"), в России ("ru"). Локальным именем компьютера (hostname) здесь является "computer3", а ".ru" обычно называется доменом верхнего уровня. Домен msk.ru, соответственно, является доменом второго уровня; firma.msk.ru - третьего...

В пределах домена каждого уровня есть группа людей, которые отвечают за этот домен. Они могут добавлять имена вновь появившихся компьютеров, менять их или удалять. И по сути дела, то, как будет называться та машина, на которой работаете вы в своей фирме, зависит от того, что им подскажет фантазия написать в конфигурационном файле DNS.

Тот, кто имеет право администрировать домен, может делать изменения только в пределах этого домена. Например, системный администратор отдела N5 может, скажем, изменить имя "computer3" на "computer4" или на что-то более человеческое, например, назвать этот компьютер "julia" (Тогда полный его адрес станет julia.otdel-5.firma.msk.ru). Но для того, чтобы изменить имя домена 4-го уровня "otdel-5", администратору придется просить об этом у сисадмина фирмы (если, конечно, это не одно и тоже лицо). Процедура получения имени, например, в зоне .ru или .com называется регистрацией домена. Конечно, каждая компания, подключающаяся к интернет, стремится зарегистрировать как можно более естественное и легкое для запоминания имя. Так, для "Microsoft inc." логично зарезервировать домен microsoft.com

Доменов верхнего уровня очень немного - всего около 250.. Большая часть из них - так называемые, географические домены. Например, .de (Deutschland, Германия), .ru (Russia, Россия), .iq (Iraq, Ирак). Оставшиеся негеографические домены верхнего уровня - .com (для коммерческих компаний), .net (для сетевых ресурсов), .edu (образовательные учреждения), .mil (военные организации), .org (некоммерческие организации), .gov (правительственные ведомства), .int (интернациональные корпорации).

Если вам бы захотелось зарегистрировать еще один домен верхнего уровня, то потребовалось для этого предоставить такие серьезные обоснования, что гораздо проще было бы организовать свое маленькое государство и для него уже получить географический домен.

К началу 1998 года во всем интернете зарегистрировано около 30 миллионов хостов. Распределение по доменам верхнего уровня приведено в таблице:

домен  число хостов  описание
 com    8201511      Commercial
 net    5283568      Networks
 edu    3944967      Educational
 jp     1168956      Japan
 mil    1099186      US Military
 us     1076583      United States
 de      994926      Germany
 uk      987733      United Kingdom
 ca      839141      Canada
 au      665403      Australia
 org     519862      Organizations
 gov     497646      Government

Россия в этом списке находится на 28-м месте. Под доменом .ru зарегистрировано около 100 тысяч компьютеров. А в Антарктике (.aq), как оказывается, нет ни одного компьютера, подключенного к интернет..

DNS вашей компании

При текущем уровне развития коммуникаций в России, все больше компаний встают перед необходимостью подключения своих локальных сетей к интернет. Если опустить все организационные и коммерческие вопросы подключения, то в техническом отношении этот процесс сведется к следующей последовательности действий:

- Подключение к провайдеру. Физическое подключение может быть выполнено очень многими различными способами: от обычного модема до радиосетей и оптоволокна. Способ подключения и, соответственно, оплата оговариваются непосредственно с провайдером.

- Получение численных (IP) адресов. Для того, чтобы ваши компьютеры, подключенные к интернет, стали доступны, необходимо выделить для них уникальные численные адреса. Обычно в договоре на подключение к интернет указывается, сколько и каких адресов отдается в пользование вашей компании. Формат IP-адресов такой: четыре числа от 1 до 255, отделенных точками. Например, 193.124.134.101 - IP-адрес какого-то компьютера в сети.

- Настройка DNS. Допустим, вы получили блок IP-адресов. Теперь следует правильно сконфигурировать систему имен и корректно настроить работу серверов с этими именами.

- Процедура регистрации доменного имени. Она сильно различается для различных доменов верхнего уровня, и может быть как бесплатной, так и по оплате.

- Дальнейшая установка программного обеспечения на компьютеры, требующего явного указания доменного имени (например, web-сервера).

Вообще говоря, большинство интернет-провайдеров предоставляют услуги по регистрации доменов их силами, но вам может быть полезно представлять, каким образом эта процедура происходит и что для этого требуется. Мы будем рассматривать в конкретных примерах системы, работающие под управлением FreeBSD UNIX, хотя те же выкладки без труда переносятся и на любую другую систему.

Прежде всего, для полноценной работы DNS вам необходимо два или больше компьютеров, так называемых, name-серверов, которые независимо друг от друга подключенны к интернет (лучше, если они будут находиться в разных сетях или даже разных странах). Такая структура обеспечит неизменную работу системы преобразования символьного адреса в числовой и обратно, даже если какое-то время некоторые из этих компьютеров будут недоступны по сети. На таких компьютерах запускается специальная программа-демон named, которая обрабатывает запросы на преобразование адресов и отвечает на них. Настроить DNS - означает корректно написать конфигурационные файлы named.

Name-сервера бывают primary и secondary. Иногда их называют первичными и вторичными, а также master и slave. Primary name-сервер может быть только один. На нем хранится вся информация о доменах, и если происходят изменения, то конфигурация правится только на нем. Secondary name-серверов может быть несколько, но обычная практика - один secondary nameserver. Дополнительные вторичные name-сервера служат для повышения скорости расшифровывания вашего адреса и для повышения устойчивости такого преобразования. Для небольших сетей три и больше вторичных name-сервера - это уже излишество. Secondary name-сервера с заданной периодичностью в автоматическом режиме считывают текущую конфигурацию с primary-сервера. Заметим, что один и тот же компьютер может одновременно являться primary-сервером для одних доменов и secondary nameserver'ом для нескольких других. Конкретную реализацию таких DNS-серверов мы рассмотрим в следующих разделах.

Выбор и регистрация домена

Если вы имеете некоторый опыт работы в интернет, то вам, скорее всего, известны примеры доменных имен различных организаций и фирм. В качестве примера приведем случайно взятые адреса серверов:
 www.playboy.com - web-сервер журнала "Playboy"
 www.internic.net - основной web-сервер компании Network Solutions
 rs.internic.net - регистрационный сервер Network Solutions
 www.ripn.net - сервер организации RIPN


Как настроить DNS

Сама программа named в большинстве случаев входит в стандартный набор средств операционных систем UNIX. Если в вашем случае ее не оказалось, попробуйте сделать поиск программы named для вашей системы в поисковых серверах интернета (AltaVista, Lycos и т.д.). Обычно главный файл с настройками named называется named.boot и лежит в директории /etc. Запускать демон named обязательно с привилегиями пользователя root.

В данном случае рассматривается FreeBSD версии 2.2.2 со стандартной named. Сама программа лежит в /usr/sbin/named, а заготовки для конфигурации в директории /etc/namedb.

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

Скопируем named.boot в нужную директорию:

% cp /etc/namedb/named.boot /etc

Комментарии в named.boot начинаются с ";" на первом месте в строке.

Рассмотрим различные директивы в named.boot:


directory       /etc/namedb

Это та директория, в которой будут храниться конфигурационные файлы для каждого из доменов, которые этот name-сервер будет держать.


cache    .   named.root

Эта специальная опция задает имя файла named.root в директории /etc/namedb, в котором содержатся IP-адреса компьютеров, которые "знают все" о доменных именах, то есть, содержат домен "точка". В этих серверах хранится информация обо всех доменах верхнего уровня, и если на DNS-запрос ответ не был дан на более раннем этапе, то, добежав до одного из таких top-level серверов, запрос пойдет по необходимой ветке вниз. Вот кусок этого файла:


; formerly NS.INTERNIC.NET
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4

; formerly NS1.ISI.EDU
. 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107

Файл named.root впоследствие нужно периодически забирать с FTP.RS.INTERNIC.NET, так как IP-адреса top-level серверов через несколько месяцев могут и поменяться.

Следующая директива в конфигурационном файле говорит о том, что наш name-сервер является primary name-сервером для какой-то зоны, то есть, содержит всю информацию о ней. Синтаксис ее таков:

primary [имя.домена] [имя_файла]

Пример:


primary radio-msu.net db.radio-msu.net
primary math.msu.su db.math.msu.su

Это означает, что мы установили primary nameserver для доменов radio-msu.net (домен второго уровня) и math.msu.su (третьего уровня), но мы проделали только небольшую часть работы. После этого нужно будет описать эти домены в текстовых файлах, называющихся db.radio-msu.net и db.msu.su в директории /etc/namedb. Мы специально выбрали имена файлов похожими на имена соответствующих им доменов из соображений удобства. Имена конфигурационных файлов больше нигде роли не играют, и вы вправе их называть как угодно. Создавать и редактировать их можно при помощи обычного текстового редактора, находясь в директории /etc/namedb. Подробное описание db.* файлов будет дано чуть ниже.

Для того, чтобы стать вторичным nameserver'ом для других доменов, в named.boot нужно написать строчку такого плана:


secondary npi.msu.su    158.250.2.232 db.npi.msu.su
secondary rector.msu.su 193.232.112.1 db.rector.msu.su

Общий вид директивы таков:

secondary [имя.домена] [IP-адрес primary nameserver'а] [имя_файла]

Первый параметр здесь - имя домена, для которого мы устанавливаем secondary. Для него обязательно должен существовать первичный name-сервер, с которого демон будет периодически считывать данные об этом домене. Вместо одного IP-адреса primary nameserver'а может идти и список адресов, откуда еще можно узнать информацию о домене. Это используется в том случае, если мы создаем многоуровневую систему nameserver'ов с различными приоритетами, и т.д. В большинстве случаев в это поле заносится только адрес primary. Последний параметр - имя временного файла, выбранное нами произвольным образом, в котором демон named будет хранить информацию о домене, полученную от primary name-сервера. Как и в первом случае, имена файлов лучше назначать созвучными с именем домена. Кстати, для того, чтобы установить вторичный nameserver для домена, нужно только добавить одну такую строчку named.boot, и все.

Чтобы правильно настроить primary name-сервер, нам осталось рассмотреть конфигурационные файлы db.* (эти файлы также называются файлами зоны). Общий вид записи в этом файле:

[domain] [opt_ttl] [opt_class] [type] [resource_record_data]

где domain есть "." для описания домена верхнего уровня, "@" для текущего домена или обычное доменное имя (в частности, просто имя машины (hostname)).

opt_ttl - необязательное поле, целое число, которое означает время жизни (time-to-live) этой записи в секундах. По истечении этого срока содержимое записи должно автоматически обновиться.

opt_class - тип адреса объекта. Такой тип существует только один, который, собственно, и указывается ("IN").

type - тип записи (рассмариваются ниже)

resource_record_data - данные этого типа

Рассмотрим пример primary nameserver'а и соответствующего ему файлу зоны для домена radio-msu.net. В случае, если вы будете использовать эти примеры как руководство, не забудьте, пожайлуста, поменять все записи соответственно структуре вашей сети.

В named.boot мы должны прописать такую строчку:


primary  radio-msu.net  db.radio-msu.net

И в директории /etc/namedb создаем файл с названием db.radio-msu.net примерно такого содержания:


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;     BIND configuration for the primary nameserver
;             Radio-MSU.NET host table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@               IN      SOA  ns.radio-msu.net.  art.radio-msu.net. (
                        1998022300      ; Serial
                        28800           ; Refresh
                        7200            ; Retry
                        604800          ; Expire
                        86400 ) ; Minimum ttl
;----------------------------------------------------------------
                IN      NS              ns.radio-msu.net.
                        NS              mskws.desy.de.
localhost       IN      A               127.0.0.1
;----------------------------------------------------------------
@               IN      MX      20      mpr
                        MX      40      mskws.desy.de.
;----------------------------------------------------------------
ns              IN      A               193.124.134.1
                IN      MX      10      ns
                IN      MX      50      relay
;----------------------------------------------------------------
telion                  IN      A       193.124.134.2
                        MX      10      telion
                        MX      20      relay.radio-msu.net.
                        MX      50      mskws.desy.de.
www                     IN      CNAME   telion
;----------------------------------------------------------------
noc                     IN      A       193.124.134.101
                        IN      MX      10 noc
                        IN      MX      20 relay
;----------------------------------------------------------------
mpr                     IN      A       193.124.134.3
                        MX      10      mpr
                        MX      50      mskws.desy.de.
pop                     IN      A       193.124.134.3
uucp                    IN      A       193.124.134.3
relay                   IN      A       193.124.134.3
mail                    IN      A       193.124.134.3
vika                    IN      A       193.124.134.5
                        MX      10      vika
                        MX      50      relay
;----------------------------------------------------------------
brusun                  IN      A       193.124.134.20
diana                   IN      A       193.124.134.7
sftgames                IN      CNAME   telion
chat                    IN      CNAME   brusun
;------------------------  THE  END  ----------------------------

Заметим, что все строки, начинающиеся с ";", являются комментариями и используются для улучшения читабельности текста.

Теперь рассмотрим типы записей, встречающиеся в нашей конфигурации:

Самая первая запись в любом таком файле выглядит следующим образом:


@               IN      SOA  ns.radio-msu.net.  art.radio-msu.net. (

Символ "@" означает, что дальнейшие директивы относятся к текущему домену (то есть, к домену radio-msu.net). Поле "IN" можнно считать несущественым, а после него идет описание типа записи:

SOA - (Start of authorizing) - зона ответственности. Дальнейшие параметры определяют, кто отвечает за этот домен, как часто обновлять информацию об этой зоне на secondary-серверах, а также другую служебную информацию. Первое поле параметров этой записи - имя primary name-сервера, содержащего зону. После него следует адрес технического контактного лица, отвечающего за домен. Обратите особое внимание на точки в конце этих адресов! Точка в конце означает, что этот адрес является обычным доменным именем, и его не нужно дополнять справа доменом, которому соответствует наш конфигурационный файл. То есть, если вместо ns.radio-msu.net. написать ns.serv, то будет иметься ввиду компьютер ns.serv.radio-msu.net

Точку в конце символьных имен нужно не забывать ставить и в других полях зоны. Это одна из самых распространенных ошибок. Написать "ns.radio-msu.net" - значит, иметь ввиду сервер "ns.radio-msu.net.radio-msu.net", которого просто не существует.

Оставшиеся в круглых скобках после контактного лица пять параметров записи SOA - целые числа, определяющие временые интервалы обмена информацией об этом домене между primary и secondary.

Первое число ("1998022300" у нас) - сериальный номер (serial number) записи. По изменению сериального номера secondary name-сервера определяют, было ли изменено содержимое домена или нет, и соответственно, нужно ли считывать весь домен с primary-сервера. Сериальный номер должен состоять из десяти цифр и обязательно должен быть заменен вручную на какой-либо больший при любом измеении любой записи в файле домена. Для этих целей идеально подходит такой вариант: первые четыре цифры serial'а - год, затем две на месяц и число. Последние две - порядковый номер (начиная с 00) редакции в течение дня. Если мы меняем конфигурацию домена, то заодно мы должны увеличить и сериальный номер. А при таком задании serial'а увеличение происходит автоматом.

После сериального номера идет поле Refresh, которое указывает время в секундах, по истечении которого secondary name-сервер проверяет не изменилась ли данная зона на primary-сервере, и если изменения были, то происходит передача файла с зоной.

Если при этом у него не получилось по каким-либо причинам соединиться с сервером, то следующую попытку secondary сделает по истечении Retry секунд (третий параметр).

В том случае, если и последующие попытки подключиться к primary и узнать информацию о зоне оканчиваются неудачей, вторичный name-сервер по прошествии Expire секунд забудет всю информацию по этой зоне.

Последнее поле ('Minimum TTL') указывает на минимальное время жизни (Time To Live) записей в файле зоны, если только в какой-то записи не будет указано другое значение в необязательном поле opt_ttl.

Рекомендуемые значения для этих величин таковы:


 28800  ; Refresh     8 hours
 7200   ; Retry       2 hours
 604800 ; Expire      7 days
 86400  ; Minimum TTL 1 day

Однако вам никто не вправе помешать поставить свои значения. Только не ставьте слишком маленькие величины (меньше часа) - иначе вы просто забьете сеть бесполезной информацией, непрерывно пересылаемой от primary к secondary.

Теперь рассмотри записи следующего типа:

NS - (Name Server) - перечисляет name-сервера (и primary, и secondary), которые держат эту зону. Не забывайте про точку в конце имени!


                IN      NS              ns.radio-msu.net.
                        NS              mskws.desy.de.

Здесь мы для зоны .radio-msu.net указали два name-сервера (первый из них - primary, второй - secondary), на которых содержится вся информация о домене.

Далее идет одна из наиболее часто встречающихся записей DNS:

A - (Address) - адрес хоста. На первом месте в такой строке будет стоять символьное имя компьютера в текущем домене, после этого "IN A", а затем - числовой IP-адрес, соответствующий этой машине. Рекомендуется внести, например, такую строку в файл зоны:

 
localhost       IN      A               127.0.0.1

Это позволит обращаться с любого компьютера в сети к самому себе, используя зарезервированное имя localhost. Для того, чтобы как-нибудь назвать новый компьютер в сети, вам нужно просто добавить такую строчку в файл зоны (не забудьте только после этого подправить сериальный номер в записи SOA и после всех изменений перезапустить демон named (сделать ему kill -1)).

В рассмотренном примере мы видим такие строки:


ns              IN      A               193.124.134.1
telion          IN      A               193.124.134.2
diana           IN      A               193.124.134.7

Значит, мы назвали компьютеры с соответствующими IP-адресами именами ns,telion и diana. Очень часто используется имя www, которое позволяет обращаться к web-серверу домена. Если бы мы изменили здесь слово 'telion' на 'www', то по адресу http://www.radio-msu.net/ откликнулась машина с IP-адресом 193.124.134.2. В нашем случае, можно поступить более хитрым образом, используя запись типа CNAME.

CNAME - (Canonical name) - в транслитерации с латинского, на компьютерном жаргоне такая запись называется алиас (alias). Вы как бы добавляете компьютеру еще одно имя, которое при разрешении превратится в тот же IP-адрес, что и основное имя.


www             IN      CNAME   telion

Теперь имя www.radio-msu.net будет аналогично telion.radio-msu.net. Алиасов для одного IP-адреса может быть сколько угодно, но на них накладывается единственное условие: то имя (каноническое), которое стоит после CNAME, должно также где-либо быть описанным. Допускается использовать в качестве канонического имени и alias, лишь бы такая цепочка алиасов не замыкалась. В качестве cname может выступать любой именной адрес в сети, не обязательно из текущего домена, например:


other           IN      CNAME   www.sun.com.

И пойдя теперь по адресу other.radio-msu.net, мы попадем на сервер Sun Microsystems.

Заметим еще один момент. Второе имя компьютеру можно дать и так:


mail                    IN      A       193.124.134.3
relay                   IN      A       193.124.134.3

При этом у нас будет несколько записей типа 'A', соответствующих одному IP-адресу. Это ничему не противоречит, но так делать - плохой стиль.

Следующий важный тип записей - записи типа MX.

MX - (Mail eXchange) - пересылка почтовых сообщений. Они обычно следуют за записями типа 'A' или 'SOA'. Используются они обычно так:

[domain] IN MX [pref_value] [mail_server]

где domain - необязательное поле. Если оно есть, то запись онтосится к этому домену, если нет - то к предыдущему с типом 'A'. В том случае, если на месте [domain] стоит символ '@' или это поле отсутствует, но сама запись находится в самом начале файла зоны (сразу же после SOA), то такое поле MX будет относиться к домену, которому соответствует текущий db-файл.

'IN' также можно указывать, а можно опускать. mail_server - доменное имя почтового сервера, которому достанется вся почта, приходящая на этот домен. На этом сервере должны стоять программы, поддерживающие почтовый протокол SMTP. Для повышения надежности пересылки почты, вы можете указать подряд несколько почтовых серверов. В том случае, если один из них перестанет работать, вся почта на домен будет отправляться на эти "запасные" mail-сервера, которые при первой же возможности отправят все накопившиеся у них электронные письма на основной почтовый сервер. Чтобы регулировать такую систему, и вводится параметр pref_value (приоритет соответствующего почтового сервера), который может меняться от 0 (самый большой приоритет) до 32767 (почта на mail-сервер с таким значением pref_value будет приходить в совсем крайнем случае). Если у вас запись MX единственная для какого-то домена, то значение этого поля не играет роли. Но при использовании только одного mail-сервера в те моменты, когда он по каким-либо причинам недоступен, почта будет теряться. Поэтому обыкновенно ставят две-три MX-записи, а приоритеты у них устанавливают круглыми числами от 10 до 100. Пример:


mpr                     IN      A       193.124.134.3
                        MX      10      mpr
                        MX      50      mskws.desy.de.

Итак, почта, идущая на mpr (например, на john@mpr.radio-msu.net), прежде всего попытается лечь на сам mpr, а в том случае, если у нее это не получится, то будет использован второй вариант (50 больше, чем 10) - mskws.desy.de, где почта пролежит до того момента, пока mpr опять не заработает. Зачастую нужно использовать более короткие почтовые адреса, вроде alla@radio-msu.net. Делается это таким образом:


@               IN      MX      20      mpr
                        MX      40      mskws.desy.de.

Ситуация в точности та же. Почта на somebody@radio-msu.net перенаправляется на mpr (или на mskws), а на этих компьютерах уже должны быть корректно настроены почтовые программы, понимающие, на какой домен приходит почта и что с ней надо делать дальше. Для этого вам, к несчастью, придется ознакомиться с соответствующей документацией к почтовому серверу.

Следующие типы записей используются реже, тем не менее, приведем их тут:

NULL - пустая запись. Скорее всего, должна использоваться для резервирования доменного имени, но на практике применяется только в том случае, если необходимо убрать на некоторое время из DNS'а запись о какой-то машине. Хотя проще такие строчки просто закомментарить.

RP - (Responsible Person) - ответственное за этот домен лицо:


xerox		IN	RP	Ivanov Ivan

HINFO - (Host Information) - информация о компьютере (тип процессора, операционная система и т.д.). Используется крайне редко.

Нам осталось рассмотреть последний особый тип записи 'PTR' (domain name pointer), эта запись используется в db.* файлах так называемой "обратной зоны" (reverse-dns).

Настройка "обратной зоны"

В рассматриваемых до этого примерах мы видели, как установить взаимосвязь между символьными именами и числовыми IP-адресами, но только в одну сторону: от символьных имен к числовым. Доменная система имен должна также обеспечивать обратное преобразование: из числового адреса в строковый. Для этих целей, собственно и служат файлы обратной зоны (Reverse-DNS), структура которых во многом напоминает файлы зон, которые мы рассматривали выше. Для обратных зон также необходимы primary и secondary сервера. В конфигурационном файле named.boot для установки primary name-сервера может быть написана примерно такая строка:


primary  134.124.193.in-addr.arpa  db.193.124.134

Домен 'in-addr.arpa' - служебный. Он используется для обозначения числовых IP-адресов.

Будьте внимательны: при таком способе записи от вашего полного IP адреса из 4-х чисел остаются только первые три, общие для компьютеров внутри вашей локальной сети (или какого-то ее участка). Причем, эти числа меняются местами: так домен 80.67.194.in-addr.arpa будет соответствовать адресам сетки 194.67.80.*.

Secondary name-сервера обратных зон устанавливаются аналогично прямым зонам - в named.boot пишется строка


secondary  100.250.158.in-addr.arpa  158.250.100.1 db.158.250.100

Этой строкой мы установили secondary name-сервер для reverse-зоны IP-адресов сети 158.250.100, а primary name-сервером будет компьютер этой сети с адресом 158.250.100.1.

Обязательной строчкой в named.boot является обратная зона сетки 127.0.0, так как в ней находится IP-адрес 127.0.0.1 (localhost,loopback) - это специальный адрес, при обращении на который с любого компьютера, мы попадаем на него же. Итак, в named.boot должна быть строчка:


primary  0.0.127.IN-ADDR.ARPA  db.local

Большие и маленькие буквы здесь не различаются. А в директории /etc/namedb создадим файл db.local примерно такого содержания (имена доменов вам, естественно, придется поменять на свои):


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  db.local  -   Local domain configuration
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@        IN      SOA     ns.radio-msu.net.  art.radio-msu.net. (
                 1995101500      ; Serial
                 14400           ; Refresh
                 3600            ; Retry
                 3600000         ; Expire
                 259200 )        ; Minimum ttl
 
         IN      NS      ns.radio-msu.net.
1        IN      PTR     localhost.
;-----------------------------------------------

Итак, вы установили Reverse-DNS для 127.0.0.1. Рассмотрим теперь пример установки обратной зоны для того же домена ('radio-msu.net'). В named.boot primary name-сервера записывается строка:


primary  134.124.193.in-addr.arpa  db.193.124.134

В директории /etc/namedb создаем файл с именем db.193.124.134 для обратной зоны. Здесь, как и в предыдущих ситуациях, само по себе имя большой роли не играет, поэтому можно выбирать его легким для запоминания. Теперь посмотрим на то, что может содержаться в этом файле:


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;     BIND configuration for the primary nameserver  
;             Radio-MSU.NET reverse DNS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@               IN      SOA  ns.radio-msu.net. art.radio-msu.net. (
                        1998022300      ; Serial
                        14400           ; Refresh
                        3600            ; Retry
                        1209600         ; Expire
                        345600 )        ; Minimum ttl
 
                IN      NS      ns.radio-msu.net.
                        NS      mskws.desy.de.
 
0               IN      PTR     Radio-MSU-Ether.Radio-MSU.net.
                        A       255.255.255.0

1               IN      PTR     ns.radio-msu.net.
2               IN      PTR     telion.radio-msu.net.
3               IN      PTR     mpr.radio-msu.net.
5               IN      PTR     vika.radio-msu.net.
7               IN      PTR     diana.radio-msu.net.
20              IN      PTR     brusun.radio-msu.net.
101             IN      PTR     noc.radio-msu.net.
;----------------------------------------------------------------

Как мы видим, в обратной зоне в основном используются записи типа PTR. Структура записи такова:

[ip_address #4] IN PTR [имя.домена]

где ip_address #4 - последнее из 4-х чисел IP-адреса (его значения могут быть от 0 до 255). Первые три компоненты задаются для данного файла обратной зоны из named.boot. Запись PTR задает соответствие между IP-адресом и именем домена. Важно отметить, что для правильной работы необходимо соответствие числовых и символьных адресов в прямых и обратных зонах, иначе результат будет непредсказуем.

В файле обратной зоны первой записью стоит запись типа SOA, полностью аналогичная SOA прямой зоны. После этого идет перечисление name-серверов (записи типа NS). И особняком стоит строка для адреса 193.124.134.0, который обозначает весь Ethernet-участок сети. Прописывать нулевой адрес необязательно, но это считается правилом хорошего тона.

Наконец, после всех этих манипуляций ваш сервер готов к работе. Демон named должен запускаться при старте машины. Все изменения в конфигурации должен производить только пользователь root. После каждого изменения не забывайте менять серийные номера в db.* файлах, согласовывать прямые и обратные зоны, перезапускать (kill -1) named.



With any suggestions or questions please feel free to contact us