Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

В этом посте я расскажу вам, как настроить DNS сервер и создать в нем зоны для своего домена. Установка описана для дистрибутивов Debian и Ubuntu. Все пакеты из штатных репозиториев.

Устанавливаем Bind и утилиты:

apt-get install bind9 bind9-doc dnsutils



По соображениям безопасности bind лучше запускать в chroot среде, для это сделаем следующие действия:
Останавливаем его:

/etc/init.d/bind9 stop


Теперь отредактируем настройки, в которые добавим информацию о нашей chroot среде:

nano /etc/default/bind9



Заменяем
OPTIONS="-u bind" на OPTIONS="-u bind -t /var/lib/named"

Создаем директории нужные для работы bind9:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run



Перемещаем конфигурацию bind в локальную папку /etc: /var/lib/named/etc, и создаем символьную ссылку для избежания проблем с обновлением пакета.

mv /etc/bind /var/lib/named/etc
ln -s /var/lib/named/etc/bind /etc/bind


Создаем окружение chroot нужное нам для работы Bind9:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind


Создаём файл /etc/rsyslog.d/bind-chroot.conf для того что бы сообщения bind поподали в syslog и вносим в него:

$AddUnixListenSocket    /var/lib/named/dev/log



Для правильного отображения времени в логе выполняем следующее:

cp /etc/localtime /var/lib/named/etc/


Перезапускаем rsyslog и стартуем bind:

/etc/init.d/rsyslog restart
/etc/init.d/bind9 start


Теперь можно проверить логи. 

/var/log/syslog



Если вы все сделали правильно то ошибок быть не должно.
Теперь можно приступать к настройке зоны для нашего домена, например soft-komi.ru
Создадим файл конфигурации для наших будущих зон и отредактируем файл конфигурации bind

touch /var/lib/named/etc/bind/myzones.conf
chown bind:bind /var/lib/named/etc/bind/myzones.conf
nano /var/lib/named/etc/bind/named.conf



В конец файла впишите строку include «myzones.conf»;
Выглядеть это должно так

include "/etc/bind/named.conf.local";
include "/etc/bind/myzones.conf";


Теперь отредактируем файл конфигурации наших зон и добавим туда зону для домена soft-komi.ru.

nano /var/lib/named/etc/bind/myzones.conf



Впишите в файл следующее содержимое

zone "soft-komi.ru" {
type master;
file "/etc/bind/soft-komi.ru";
};



Теперь надо создать файл нашей зоны soft-komi.ru, выставить на него права и отредактировать его.

touch /var/lib/named/etc/bind/soft-komi.ru
chown bind:bind /var/lib/named/etc/bind/soft-komi.ru
nano /var/lib/named/etc/bind/soft-komi.ru



Отредактируйте файл до состояния приведенного ниже, адреса замените на нужные вам, так же смените дату перед параметром ; serial на текущую. последние цифры в строке с датой (01) обозначают сколько раз раз зона редактировалась за текущие сутки.

$ORIGIN soft-komi.ru.
$TTL 86400 ; 1 day
@ IN SOA localhost. root.localhost. (
2012013101 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
@ IN NS localhost.
@ IN A 192.168.0.1
www IN CNAME soft-komi.ru.



После этого обновите конфигурацию bind командой

rndc reload



После чего можно проверить работоспособность сервера dns командой

nslookup soft-komi.ru 127.0.0.1



Вы должны увидеть примерно следующее

Server: 127.0.0.1
Address: 127.0.0.1#53
Name: soft-komi.ru
Address: 192.168.0.1



На этом настройка завершена, я надеюсь у вас все получилось. Если же нет то смотрите в /var/log/syslog на предмет ошибок выкладывайте и постораюсь помочь Вам!

Если при проверки статуса работы сервера DNS

# /etc/init.d/bind9 status
bind9 is not running failed!



Делаем следующее:
/etc/init.d/bind9 status * could not access PID file for bind9

редактируем скрипт запуска bind

nano /etc/init.d/bind9



ищем строку

PIDFILE=/var/run/named/named.pid



и меняем ее на

PIDFILE=/var/lib/named/var/run/named/named.pid



Рестартуем сервер DNS

/etc/init.d/bind9 restart



а потом проверяем

/etc/init.d/bind9 status


bind9 is running.

Для того что бы сбросить кэш нашего ДНС сервера выполним небольшую команду, чем она хороша? Да тем что мы не перезапускаем нашь ДНС сервер.

rndc flush


Все гениально просто!

Добавить комментарий


Защитный код
Обновить