вторник, 4 марта 2008 г.

DNS (BIND9 chroot)

Настройка DNS

Выполните:

# apt-get install bind9

Про соображениям безопасности BIND надо запускать через chroot:

# /etc/init.d/bind9 stop

Правим файл /etc/default/bind9 так, чтобы демон запускался как непривелигированный пользователь bind, с chroot в /var/lib/named. Поправьте строку: OPTIONS=”-u bind” на OPTIONS=”-u bind -t /var/lib/named”:
# ee /etc/default/bind9
OPTIONS=”-u bind -t /var/lib/named”
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

Создадим необходимые директории в /var/lib:

# 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

Переместим директорию с конфигами из /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

Изменим /etc/default/syslogd чтобы мы могли получать важные сообщения в лога
Исправьте строку: SYSLOGD=”” на эту SYSLOGD=”-a /var/lib/named/dev/log”:

# ee /etc/default/syslogd
#
# Top configuration file for syslogd
#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#
#
# For remote UDP logging use SYSLOGD=”-r”
#
SYSLOGD=”-a /var/lib/named/dev/log”

Перезапускаем демон логов:

# /etc/init.d/sysklogd restart

Запускаем BIND, и проверяем /var/log/syslog на ошибки:

# /etc/init.d/bind9 start

PS: статья целиком

2 комментария:

Анонимный комментирует...

А мануала по настройке примари и секодари ДНС нет? Или статейки?

Анонимный комментирует...

Большое спасибо.