апреля 15 2008 01:43 пп

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

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

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


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, вы можете ознакомится с документацией к нему по адресу http://www.isc.org





21 комментарий »


21 комментарий to “Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO”

  1. hugomen on 30 Ноя 2008 at 23:05 #

    у меня несколько вопросов
    1. при уставновке dns имя компа какое?
    2. какая запись в /etc/hosts ?

    все делал по статье /etc/init.d/bind9 start [fail]
    посмотрел логи
    трабл с правами на файл /var/lib/named/etc/bind/named.conf

    помогите разобраться

  2. hugomen on 30 Ноя 2008 at 23:32 #

    если не переносить все в /var , то работает

  3. kvazyman on 24 Дек 2008 at 22:20 #

    Вот решение проблемы 🙂 как всегда при помощи Google 🙂

    http://www.howtoforge.org/forums/showthread.php?p=116893

    нужно только подредактировать файл /etc/apparmor.d/usr.sbin.named и все

  4. TrEK on 23 Апр 2009 at 10:34 #

    Я вообще отключил apparmor.d и выбросил из автозагрузки.

    /etc/init.d/apparmor stop
    update-rc.d -f apparmor remove

    И в /etc/default/bind9 тоже строку: OPTIONS=” -u bind -t /var/lib/named” все таки вернул к ее первобытному OPTIONS=” -u bind”.

    тогда все работает.
    Кстати в логах при запуске БИНДа можна увидеть , что он все таки запускаеться с флагом -t:
    «starting BIND 9.5.0-P2 -u bind -t /var/lib/named»

  5. EsTaF on 04 Июн 2009 at 18:50 #

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

    zone «example.com» {
    type master;
    file «example.com»;
    };»

    что это за бред.

  6. Stepanoff on 04 Июн 2009 at 21:43 #

    Мануал надо читать полностью, а не между строк. Это файл с описанием зон, он инклюдится в основной конфиг.

  7. kitt on 02 Авг 2009 at 17:50 #

    Кстати про арр аррmor и сhroot. Если вы настраиваете bind в chroot’е, то профиль бинда из апп армора можно смело отключать. По умолчанию этот профиль включен для бинда установленного в обычном порядке, без чрута. Для этого достаточно переместить файл с профилем бинда в папку disabled

    sudo mv /etc/apparmor/usr.sbin.named /etc/apparmor/disabled

    или удалить совсем. Иначе получается двойной презерватив )

  8. HowTo: Установка и настройка DNS сервера bind9 Ubuntu-Debian | Мануалы Linux on 28 Авг 2009 at 12:42 #

    […] с sudouser.com Теги: bind9, Debian, DNS, […]

  9. bnd on 15 Ноя 2009 at 01:48 #

    Всё делал по данному мануалу в итоге следующее:
    @unix:~# nslookup example.com 127.0.0.1
    ;; Got SERVFAIL reply from 127.0.0.1, trying next server
    ;; Got SERVFAIL reply from 127.0.0.1, trying next server
    Server: 127.0.0.1
    Address: 127.0.0.1#53

    ** server can’t find example.com: SERVFAIL

    Если так разобраться syslog что говорит:

    Nov 15 02:39:57 unix named[15343]: received control channel command ‘stop -p’
    Nov 15 02:39:57 unix named[15343]: shutting down: flushing changes
    Nov 15 02:39:57 unix named[15343]: stopping command channel on 127.0.0.1#953
    Nov 15 02:39:57 unix named[15343]: stopping command channel on ::1#953
    Nov 15 02:39:57 unix named[15343]: no longer listening on ::#53
    Nov 15 02:39:57 unix named[15343]: no longer listening on 127.0.0.1#53
    Nov 15 02:39:57 unix named[15343]: no longer listening on 62.122.105.23#53
    Nov 15 02:39:57 unix named[15343]: exiting
    Nov 15 02:39:57 unix named[15428]: starting BIND 9.6.1-P1 -u bind
    Nov 15 02:39:57 unix named[15428]: built with ‘—prefix=/usr’ ‘—mandir=/usr/share/man’ ‘—infodir=/usr/share/info’ ‘—sysconfdir=/etc/bind’ ‘—localstatedir=/var’ ‘—enable-threads’ ‘—enable-largefile’ ‘—with-libtool’ ‘—enable-shared’ ‘—enable-static’ ‘—with-openssl=/usr’ ‘—with-gssapi=/usr’ ‘—with-gnu-ld’ ‘—with-dlz-postgres=no’ ‘—with-dlz-mysql=no’ ‘—with-dlz-bdb=yes’ ‘—with-dlz-filesystem=yes’ ‘—with-dlz-ldap=yes’ ‘—with-dlz-stub=yes’ ‘—with-geoip=/usr’ ‘—enable-ipv6’ ‘CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2’ ‘LDFLAGS=-Wl,-Bsymbolic-functions’ ‘CPPFLAGS=’ ‘CXXFLAGS=-g -O2’ ‘FFLAGS=-g -O2’
    Nov 15 02:39:57 unix named[15428]: adjusted limit on open files from 1024 to 1048576
    Nov 15 02:39:57 unix named[15428]: found 1 CPU, using 1 worker thread
    Nov 15 02:39:57 unix named[15428]: using up to 4096 sockets
    Nov 15 02:39:57 unix named[15428]: loading configuration from ‘/etc/bind/named.conf’
    Nov 15 02:39:57 unix named[15428]: using default UDP/IPv4 port range: [1024, 65535]
    Nov 15 02:39:57 unix named[15428]: using default UDP/IPv6 port range: [1024, 65535]
    Nov 15 02:39:57 unix named[15428]: listening on IPv6 interfaces, port 53
    Nov 15 02:39:57 unix named[15428]: listening on IPv4 interface lo, 127.0.0.1#53
    Nov 15 02:39:57 unix named[15428]: listening on IPv4 interface ppp0, 62.122.105.23#53
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: 254.169.IN-ADDR.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone:
    0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: D.F.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: 8.E.F.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: 9.E.F.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: A.E.F.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: automatic empty zone: B.E.F.IP6.ARPA
    Nov 15 02:39:57 unix named[15428]: command channel listening on 127.0.0.1#953
    Nov 15 02:39:57 unix named[15428]: command channel listening on ::1#953
    Nov 15 02:39:57 unix named[15428]: zone 0.in-addr.arpa/IN: loaded serial 1
    Nov 15 02:39:57 unix named[15428]: zone 127.in-addr.arpa/IN: loaded serial 1
    Nov 15 02:39:57 unix named[15428]: zone 255.in-addr.arpa/IN: loaded serial 1
    Nov 15 02:39:57 unix named[15428]: zone example.com/IN: loading from master file example.com failed: file not found
    Nov 15 02:39:57 unix named[15428]: zone localhost/IN: loaded serial 2
    Nov 15 02:39:57 unix named[15428]: running

  10. Stepanoff on 15 Ноя 2009 at 13:50 #

    Разбираться не надо, любой кто мало-мальски знает английский сразу увидит где ошибка.
    Nov 15 02:39:57 unix named[15428]: zone example.com/IN: loading from master file example.com failed: file not found

  11. Сервер дома — AMD, Debian x64, Bind9, Apache 2, PHP5, MySQL5, Trac, Subversion и море удовольствия | Технический блог о хостинге и веб-серверах on 11 Янв 2010 at 21:16 #

    […] полез в мануалы и примеры. В итоге настройку произвёл по этой инструкции, изменив лишь настройку конкретной зоны для домена. […]

  12. Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO | Технический блог о хостинге и веб-серверах on 11 Янв 2010 at 21:50 #

    […] hugomen on 30 Ноя 2008 at 23:05 # […]

  13. Настраиваем девелоперский DNS сервер » PS - Linux, программирование, Я! on 06 мая 2010 at 11:22 #

    […] локальной сети на основе BIND 9 Установка Bind (named) на CentOS Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO Категория linux и системное администрирование | Теги […]

  14. stash on 29 Июн 2010 at 15:20 #

    если не находит example.com как в

    Nov 15 02:39:57 unix named[15428]: zone example.com/IN: loading from master file example.com failed: file not found

    то мне помогло прописывание в myzones.conf полного пути к файлу

    zone «example.com» {
    type master;
    file «/var/lib/named/etc/bind/example.com»;
    }

    в убунту 10.04, если это важно

  15. Настройка сервера openldap на linux | Лаборатория Хивенсила on 22 Авг 2011 at 10:53 #

    […] 16. Ставим bindapt-get install bind9 dnsutilsНастраиваем, как описано здесь […]

  16. Yura999 on 25 Мар 2012 at 16:46 #

    спасибо stash за коммент.
    мне тоже помогли только полные пути.

  17. [Полноценный сервер - Часть6] Установка BIND9 на Ubuntu server 10.10 – 11.04 « powered by leo blog … on 15 Апр 2012 at 18:40 #

    […] http://sudouser.com/ustanovka-i-nastrojka-dns-servera-bind9-ubuntu-debian-howto.html […]

  18. bind9 » miltest on 18 мая 2012 at 17:37 #

    […] http://sudouser.com/ustanovka-i-nastrojka-dns-servera-bind9-ubuntu-debian-howto.html […]

  19. HowTo: Установка и настройка DNS сервера bind9 Ubuntu-Debian | Мануалы Linux on 05 Фев 2013 at 18:15 #

    […] Взято с sudouser.com […]

  20. Установка и настройка Bind на Debian/Ubuntu | Записки системного администратора on 22 Апр 2016 at 16:18 #

    […] Источник: 1.http://rtfm.co.ua/debian-ustanovka-i-nastrojka-dns-bind/ 2.http://firstwiki.ru/index.php/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_%D0%B8%D0%BC%D0%B5%D0%BD_%28DNS-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%29_%D0%BD%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%B1%D0%B5%D0%B7_ISPmanager 3. http://sudouser.com/ustanovka-i-nastrojka-dns-servera-bind9-ubuntu-debian-howto.html […]

  21. armoid on 27 Авг 2016 at 18:02 #

    […] http://sudouser.com/ustanovka-i-nastrojka-dns-servera-bind9-ubuntu-debian-howto.html — установка bind9 в ubuntu […]

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


« | »



Server load average: 0.00, 0.00, 0.00
Server uptime: 472 days, 10:15
Your IP is: 54.225.47.94.