Linux-сервер своими руками
Шрифт:
Допустим, что пользователь вводит в окне браузера адресОднако адресация в сети Интернет построена на основе IP-протокола. Поэтому для того, чтобы установить соединение с компьютером www.yahoo.com компьютеру пользователя необходимо знать его IP-адрес, поэтому операционная система пользователя пытается разрешить (перевести) имя компьютера в IP-адрес. С этой целью она обращается к серверу DNS. Сервер DNS сначала пытается разрешить имя данного компьютера, используя свой собственный кэш имен. Если требуемое имя компьютера в нем отсутствует, то сервер DNS обращается к одному из корневых серверов DNS, о которых мы поговорим позже. Запрос обрабатывается рекурсивно: корневой сервер обращается к серверу,
Примечание.
На самом деле, если выполнить разрешение имени 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
10.1. Настройка сервера DNS
Учитывая, что на обращение к серверу DNS провайдера требуется 10…15, а иногда и все 30 секунд (это зависит от загрузки сети и от скорости соединения), установка сервера DNS в локальной сети с выходом в Интернет является просто необходимой. Обычно сервер DNS устанавливается на шлюзе, который используется для выхода в Интернет. Прежде чем приступить к настройке сервера, нужно определить, запущен ли он:
Если сервер DNS запущен, то его нужно остановить (командой kill или ndc), а если он вообще не установлен, то вам придется установить пакет bind. Обратите внимание, что исполнимый файл называется named, а сам пакет — bind. BIND (Berkley Internet Nameserver Daemon) — это наиболее известный и используемый DNS-сервер, настраиваемый в Linux. Для работы сервера должен быть активизирован сервис network. Я надеюсь, вы не забыли, как это сделать?
Теперь приступим к непосредственной настройке сервера и рассмотрим ее на примере. Для этого обратимся к файлу /etc/named.conf, в котором содержится основная информация о параметрах сервера (см. листинг 10.1).
Основной
Давайте рассмотрим поподробнее листинг 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.
Файл named.ca — это файл, в котором перечислен начальный набор корневых DNS-серверов. Он содержит информацию о корневых серверах DNS. При разрешении имени в IP-адрес или наоборот, полученная информация кэшируется и остается в памяти сервера определенное время. В свой работе, если нужно разрешить имя в IP-адрес (или наоборот), ваш DNS-сервер сначала будет искать необходимую ему информацию в кэше. Если ее там не окажется, то сервер обратится к одному из корневых серверов DNS, IP-адреса которых находятся в файле named.ca. Файл named.ca необходимо регулярно обновлять, чтобы он всегда содержал свежие данные (первый раз его нужно обновить сразу же после установки сервера, несмотря на то, что этот файл будет только что создан). Немного позже я отдельно опишу его обновление.
Файл dhsilabs.com непосредственно служит для преобразования имен в IP-адреса (см. листинг 10.2).