Кроме сервера имен, функции распознавателя могут просматривать и другие источники данных: файл /etc/hosts
/etc/nsswitch.conf
:hosts: files dns
13.3. Настройка сервера DNS
Локальная сеть с выходом в Интернет может пользоваться сервером имен, работающим на компьютере провайдера. Но, учитывая типичную для бывшего СССР скорость соединения, при которой на обращение к серверу DNS провайдера требуется от 10 до 30 секунд, имеет смысл установить собственный сервер DNS — обычно на шлюзе, который используется для выхода в Интернет.
Внутренняя сеть (intranet) может обойтись и файлами /etc/hosts
Самый известный сервер имен для Linux — это демон named
из пакета BIND (Berkeley Internet Name Daemon). Вам понадобится установить еще пакет bind-libs с необходимыми библиотеками и bind-utils, содержащий утилиты командной строки (dig, host, nslookup).Существуют три версии пакета BIND: 4, 8 и 9 (версий 5-7 никогда не было). Сейчас везде используется девятая версия, о которой я и буду рассказывать.
Для установки девятой версии BIND требуются:
♦ ядро 2.4 или выше;
♦ библиотека OpenSLL.
Для работы сервера должен быть активизирован сервис network.
Основным конфигурационным файлом named служит named.conf
/etc
для версии 9 или в /etc/namedb
(версия 8). Синтаксис этого файла подобен языку С (листинг 13.1).Листинг 13.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;
};
Рассмотрим этот пример подробнее. Обслуживаемая сервером зона (домен без поддоменов) — dhsilabs.com
/var/named
. Именно в этом каталоге сервер будет искать файлы dhsilabs.com
, named.local
, 192.168.1
, named.ca
.Блок logging
определяет опции протоколирования. За ним следует задание параметров самого сервера — блок options. Параметр directory определяет рабочий каталог сервера. Этот параметр обязателен, но кроме него в блоке options могут присутствовать и другие (forwarders, forward и т.п.), о которых будет сказано несколько позже.После блока параметров должны быть перечислены зоны, обслуживаемые сервером. Мы будем обслуживать зону dhsilabs.com. Информация об этой зоне хранится в файле /var/named/dhsilabs.com
/var/named/192.168.1
.Зоны «.» и «0.0.127.in-addr.arpa» — особые. Я не буду их подробно описывать: их назначение вы поймете из дальнейшего текста главы. Файл named.local
localhost
.Файл named.ca
Файл named.ca
Файл данных сервера имен dhsilabs.com
Записи в этом файле называются записями ресурсов. Формат записи ресурса следующий:
[имя_домена] [TTL] <тип_сети> <тип_записи> <данные>
Где:
♦ Имя_домена
обязательно для первой записи в файле, оно всегда должно начинаться с первой колонки. Для следующих записей это поле можно опускать. Символ @ обозначает текущий домен.