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 start11 Настройка 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/zonesvi /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“
Get new posts in your inbox
No spam. Unsubscribe anytime.