Читаем Linux-сервер своими руками полностью

Допустим, что пользователь вводит в окне браузера адрес http://www.yahoo.com. Однако адресация в сети Интернет построена на основе IP-протокола. Поэтому для того, чтобы установить соединение с компьютером www.yahoo.com компьютеру пользователя необходимо знать его IP-адрес, поэтому операционная система пользователя пытается разрешить (перевести) имя компьютера в IP-адрес. С этой целью она обращается к серверу DNS. Сервер DNS сначала пытается разрешить имя данного компьютера, используя свой собственный кэш имен. Если требуемое имя компьютера в нем отсутствует, то сервер DNS обращается к одному из корневых серверов DNS, о которых мы поговорим позже. Запрос обрабатывается рекурсивно: корневой сервер обращается к серверу, который отвечает за домен com, а тот, в свою очередь, к серверу DNS домена yahoo.com. Сервер DNS домена yahoo.com возвращает IP-адрес компьютера www — 64.58.76.222 или все адреса, которые сопоставлены этому имени (многие сетевые операционные системы, в том числе и Linux, позволяют одному имени сопоставлять несколько IP-адресов).

Примечание.

На самом деле, если выполнить разрешение имени www.yahoo.com, сервер DNS возвратит следующие адреса:

64.58.76.222

64.58.76.228

64.58.76.223

64.58.76.176

64.58.76.224

64.58.76.177

64.58.76.227

664.58.76.179

А официальное имя компьютера www.yahoo.com (это его каноническое имя — о канонических именах и как их использовать будет сказано ниже) —www.yahoo.akadns.net

<p>10.1. Настройка сервера DNS</p>

Учитывая, что на обращение к серверу DNS провайдера требуется 10…15, а иногда и все 30 секунд (это зависит от загрузки сети и от скорости соединения), установка сервера DNS в локальной сети с выходом в Интернет является просто необходимой. Обычно сервер DNS устанавливается на шлюзе, который используется для выхода в Интернет. Прежде чем приступить к настройке сервера, нужно определить, запущен ли он:

ps –ax | grep named

Если сервер DNS запущен, то его нужно остановить (командой kill или ndc), а если он вообще не установлен, то вам придется установить пакет bind. Обратите внимание, что исполнимый файл называется named, а сам пакет — bind. BIND (Berkley Internet Nameserver Daemon) — это наиболее известный и используемый DNS-сервер, настраиваемый в Linux. Для работы сервера должен быть активизирован сервис network. Я надеюсь, вы не забыли, как это сделать?

Теперь приступим к непосредственной настройке сервера и рассмотрим ее на примере. Для этого обратимся к файлу /etc/named.conf, в котором содержится основная информация о параметрах сервера (см. листинг 10.1).

Листинг 10.1. Файл named.conf

logging {

 category cname {null; };

};

options {

 directory "/var/named";

};

zone "." {

 type hint;

 file "named.ca";

};

zone "dhsilabs.com" {

 type master;

 file "dhsilabs.com";

 notify no;

};

zone "0.0.127.in-addr.arpa" {

 type master;

 file "named.local";

};

zone "1.168.192.in-addr.arpa" {

 type master;

 file "192.168.1";

 notify yes;

};

Основной рабочий каталог сервера — /var/named. Указанные без начального обратного слэша имена файлов будут искаться относительно этого каталога. То есть именно в нем сервер будет искать файлы dhsilabs.com, named.local, 192.168.1, named.ca (см. листинги 10.1, 10.3, 10.4). Обслуживаемая сервером зона (домен) — dhsilabs.com.

Давайте рассмотрим поподробнее листинг 10.1. Сначала в нем были определены опции протоколирования — блок logging. Затем идет задание параметров самого сервера — блок options. Параметр directory определяет корневой каталог сервера – /var/named. Помимо параметра directory в блоке options могут задаваться и другие параметры (такие, как forwarders, forward и др.), о которых сказано будет несколько позже (см. п. 10.2). Для функционирования сервера достаточно и одного параметра directory.

После блока параметров должны быть перечислены зоны, обслуживаемые сервером. Мы будем обслуживать зону (домен) dhsilabs.com. Информация об этой зоне хранится в файле /var/named/dhsilabs.com. Позже мы займемся созданием этого файла. С помощью него наш сервер будет преобразовывать имена компьютеров в IP-адреса. Для обратного преобразования служит файл /var/named/192.168.1.

Зоны "." и "0.0.127.in-addr.arpa" — особые. Я не буду их подробно описывать: их назначение вы поймете из дальнейшего текста книги. Файл named.local — это файл обратного соответствия, предназначенный для преобразования IP-адресов в имена, то есть, в частности, он используется для преобразования адреса 127.0.0.1 в имя localhost.

Перейти на страницу:

Все книги серии Секреты мастерства

Похожие книги