DNS сервер · 3 min read · Feb 11, 2026

Установка DNS-сервера Ubuntu Hardy 8.04 LTS с BIND - Страница 4

10 Установите DNS-сервер

Запустите

apt-get install bind9

По соображениям безопасности мы хотим запустить BIND в chroot, поэтому нам нужно выполнить следующие шаги:

/etc/init.d/bind9 stop

Отредактируйте файл /etc/default/bind9 так, чтобы демон работал от непривилегированного пользователя bind, chrooted в /var/lib/named. Измените строку: OPTIONS=”-u bind” так, чтобы она выглядела как OPTIONS=”-u bind -t /var/lib/named”:

vi /etc/default/bind9

| OPTIONS="-u bind -t /var/lib/named" # Установите RESOLVCONF=no, чтобы не запускать 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”:

vi /etc/default/syslogd

| # # Основной конфигурационный файл для syslogd # # Полная документация о возможных аргументах находится в manpage # syslogd(8). # # Для удаленного UDP-журналирования используйте SYSLOGD="-r" # SYSLOGD="-a /var/lib/named/dev/log" |

Перезапустите демон журналирования:

/etc/init.d/sysklogd restart

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

/etc/init.d/bind9 start

11 Настройка BIND

Теперь основной конфигурационный файл в BIND называется named.conf, однако named.conf.local уже включен в named.conf и предназначен для пользовательской настройки, поэтому мы отредактируем named.conf.local и добавим наши зоны, здесь я добавил зону camed tm.local, а также обратную зону для 192.168.0.0:

vi /etc/bind/named.conf.local

| zone "tm.local" { type master; file "/etc/bind/zones/tm.local.db"; }; zone "3.13.10.in-addr.arpa" { type master; file "/etc/bind/zones/rev.0.168.192.in-addr.arpa"; }; |

Пожалуйста, обратите внимание, что если вы хотите добавить комментарий в named.conf или named.conf.local, используйте //, также вы можете видеть выше, что файл зоны для tm.local называется tm.local.db и находится в /etc/bind/zone, самое важное, что файл зоны использует; как префикс для комментария, а не //, так как я видел путаницу на многих форумах, поэтому я подумал, что добавлю это здесь - (то же самое для обратной зоны).

12 Настройка зон

Мы начнем с зоны tm.local

mkdir /etc/bind/zones
vi /etc/bind/zones/tm.local.db

| $TTL 1500 @ IN SOA server1.tm.local. root ( 2007062703 ;serial 28800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum 25 minutes tm.local. IN NS server1.tm.local. server1 IN A 192.168.0.100 webserver1 IN A 192.168.0.103 webserver2 IN A 192.168.0.104 loadb1 IN A 192.168.0.101 loadb2 IN A 192.168.0.102 tm.local. IN MX 10 server1.tm.local. |

Не стесняйтесь заменять вышеуказанное имя зоны (tm.local) или имя вашего DNS-сервера (server1) по мере необходимости, просто обратите внимание на точку после имени зоны.

Теперь давайте перейдем к обратной зоне.

vi /etc/bind/zones/rev.3.13.10.in-addr.arpa

| $TTL 1500 @ IN SOA server1.tm.local. root ( 2007062703 ;serial 28800 ;refresh 3600 ;retry 604800 ;expire 38400 ) ;minimum 25 minutes IN NS server1.tm.local. 100 IN PTR server1.tm.local. 103 IN PTR webserver1.tm.local. 104 IN PTR webserver2.tm.local. 101 IN PTR load1.tm.local. 102 IN PTR load2.tm.local. |

Теперь настройте сервер для пересылки любых запросов на сервер вашего интернет-провайдера, чтобы он мог разрешать внешние IP-адреса.

vi /etc/bind/named.conf.options

Уберите комментарий из секции forwarder, чтобы она выглядела так:

| forwarders { # Замените адрес ниже на адрес вашего DNS-сервера ISP 123.123.123.123; }; |

13 Настройка сервера для использования себя в качестве DNS

vi /etc/resolv.conf

| search tm.local nameserver 192.168.0.100 |

14 Ссылки и источники

  • Статья Фалко “Идеальный сервер - Ubuntu Hardy Heron (Ubuntu 8.04 LTS Server)”
  • BIND на Ubuntu “Как настроить DNS-сервер с помощью bind
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.