Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO

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

Установим сам DNS сервер bind9.

Код:
sudo apt-get install bind9


Из соображений безопасности лучше запускать Bind в chroot среде, для этого проделайте несколько простых операций.

Остановим bind

Код:
/etc/init.d/bind9 stop


Отредактируйте файл /etc/default/bind9, туда надо добавить строку о среде chroot которая будет находится у нас в /var/lib/named.
Измените строку OPTIONS="-u bind" на OPTIONS="-u bind -t /var/lib/named"

Код:
vim /etc/default/bind9


Файл после радактирования должен выглядеть так:

Код:
OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes


Теперь создадим все необходимые для работы 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


Переместите директорию с конфигурацией bind9 из /etc в /var/lib/named/etc:

Код:
mv /etc/bind /var/lib/named/etc


Создадим символическую ссылку на новую директорию с конфигами bind на случай если в дальнейшем вы соберетесь обновить пакет, это поможет избежать проблем.

Код:
ln -s /var/lib/named/etc/bind /etc/bind


Создадим null и random девайсы и выставим правильные права на директории:

Код:
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


Далее надо немного изменить стартовый скрипт демона sysklogd для того что бы сообщения bind попадали в syslog.
Отредактировать надо файл /etc/init.d/sysklogd, измените там строку SYSLOGD="-u syslog" на SYSLOGD="-u syslog -a /var/lib/named/dev/log"

Код:
vim /etc/init.d/sysklogd


Строка должна выглядеть так:

Код:
[...]
SYSLOGD="-u syslog -a /var/lib/named/dev/log"
[...]


Перезапустите демона sysklogd

Код:
/etc/init.d/sysklogd restart


Запустите bind9 и проверьте /var/log/syslog на наличие ошибок

Код:
/etc/init.d/bind9 start


Если вы все сделали правильно то ошибок быть не должно.

Теперь можно приступать к настройке зоны для нашего домена, например example.com

Создадим файл конфигурации для наших будущих зон и отредактируем файл конфигурации bind

Код:
touch /var/lib/named/etc/bind/myzones.conf
chown bind:bind /var/lib/named/etc/bind/myzones.conf
vim /var/lib/named/etc/bind/named.conf


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

Код:
[...]
include "/etc/bind/named.conf.local";
include "/etc/bind/myzones.conf";


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

Код:
vim /var/lib/named/etc/bind/myzones.conf


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

Код:
zone "example.com" {
type master;
file "example.com";
};


Теперь надо создать файл нашей зоны example.com, выставить на него права и отредактировать его.

Код:
touch /var/lib/named/etc/bind/example.com
chown bind:bind /var/lib/named/etc/bind/example.com
vim /var/lib/named/etc/bind/example.com


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

Код:
$ORIGIN example.com.
$TTL 86400 ; 1 day
@ IN SOA localhost. root.localhost. (
2008041501 ; 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 example.com.


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

Код:
rndc reload


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

Код:
nslookup example.com 127.0.0.1


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

Код:
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: example.com
Address: 192.168.0.1


На этом настройка завершена, я надеюсь у вас все получилось.
Это неполное руководство по настройке сервера доменных имен bind9, вы можете ознакомится с документацией к нему по адресу www.isc.org
  • +3
  • 4 января 2010, 23:44
  • Intruder      


Комментарии (4)

RSS свернуть / развернуть
+
0
+1
avatar

admin

  • 5 января 2010, 10:04
+
0
Ну для example.com все понятно
впервый ставлю первичный DNS для своего домена у себя на сервере
как быть с адресом, купленным у nic.ru?
нужны какие нить ключи для авторизации на их серверах или что либо подобное?
хотелось бы услышать теорию с практическими подсказками на этот счет
avatar

VecH

  • 13 января 2010, 20:50
+
0
avatar

Intruder

  • 15 января 2010, 02:58
+
0
avatar

Intruder

  • 15 января 2010, 03:00

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.