Практика
Задача: установить и выполнить начальную настройку DNS-сервера bind (так-же известного как named) на ОС Linux Debian.
Устанавливаем
Настраиваем
Сначала зададим демону syslog, что он должен слушать и писать логи от DNS-сервера. Для этого открываем файл /etc/rsyslog.conf и в самый конец файла добавляем вот такую запись:
чем указываем системе писать логи bind в файл /var/log/named.log
Перезапускаем демона логирования:
Далее, свои настройки bind хранит по пути /etc/bind. Переходим в эту директорию - все действо отныне будет разворачиваться там.
Предполагается, что это у нас мастер-сервер (т.е. primary, основной).
1) Создаем каталог, в котором будут хранится конфигурации наших DNS зон.
2) Открываем на редактирование файл named.conf.options и приводим его к такому виду (все опции прокомментированы, Вам необходимо их значения указывать верными для себя, а не копировать примеры):
Сохраняем файл.
3) Теперь открываем файл named.conf и видим, что в нем указаны 3 ссылки на наши конфигурации:
Мы добавим еще одну ссылку - на файл с описаниями наших DNS-зон:
И сохраним данный конфиг-файл.
4) Теперь создадим файл /etc/bind/named.conf.zones и запишем в него тестовую зону. Выглядеть этот файл будет как-то так:
Мы видим здесь, что я указал заведомо несуществующую в интернете зону "test.int". Ее тип на данном сервере - мастер (т.е. она является master-зоной, соответственно, если ее обновление должно вестись на данном сервере) и ее описание надо брать из указанного файла.
5) Ну что-ж, давайте создадим такой файл:
И положим в него примерно такой конфиг (опять-же, правильные значения IP-адресов и имен зависят от Вашей сети):
Как видно, все значения я в этой зоне накидал совершенно от балды.
Теперь сохраняем наш файл.
6) Просим bind перечитать наши конфиги:
7) Проверяем:
И смотрим результат. Сервер должен ответить, что test.int находится по адресу 192.168.0.50 (как указано в конфигурации зоны выше, или же другой адрес- какой ввели Вы).
Дальнейшая жизнь DNS-сервера
Аналогичным образом создаются все остальные зоны, уже с реальными реквизитами (например, из зон .ru, .com и т.д.) Файл named.conf.zones выглядит примерно так:
И для каждой зоны создаем файлик с ее конфигурацией в /etc/bind/master подобно пробной конфигурации test.int.
PS. Совет. НЕ забывайте ставить ";" в конфиге named везде, где это нужно! Отсутствие одной такой точки-с-запятой обломит запуск всего bind.
PPS. НЕ забывайте ставить конечную точку "." в конце зон, которые являются абсолютными (рекомендуется вообще везде). Т.е., например, если вместо "test.int." в конфиге зоны написать "test.int" - получите Вы совсем не то, что ожидали! Ну и, соответственно, работать нифига не будет.
PPPS. При изменении (любом) зоны - не забывайте увеличивать ее сервийный номер (serial). Причем не просто менять - а именно увеличивать. В данном случае запись виде YYYYMMDDNN, где YYYY - год 4 цифры, MM - месяц 2 цифры, DD - 2 цифры дня и NN - это "какой раз я за этот день меняю зону" - вполне удобна, т.к. по течению времени ее числовое значение будет только увеличиваться.
Ведомые DNS-сервера
В случае, если Вам нужно сразу же настроить ведомые (slave) сервера DNS -читайте статью, в которой описано - как это делат
Актуально для: Linux Debian Lenny (5), Squeeze (6)
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)