BIND DNS на OpenBSD

Краткая инструкция о том, как быстро настроить Master и Slave DNS серверы с использованием BIND в ОС OpenBSD 6.8.

На всех серверах сделаем следующее:

установим bind

# pkg_add isc-bind-9.16.11v0

затем запустим службу и внесём её в автозагрузку

# rcctl start isc_named
# rcctl enable isc_named

затем в файле /etc/resolv.conf стираем всё что там есть и внесём ip-адреса наших DNS-серверов:

nameserver 192.168.1.47
nameserver 192.168.1.48

Переходим к настройкам на сервере ns1:

открываем файл /var/named/etc/named.conf

# vi /var/named/etc/named.conf

в секции options закомментируем строчки:

listen-on    { any; };
listen-on-v6 { any; };

в listen-on введём ip-адрес сервера, включим рекурсию и dnssec — этот кусок должен получиться примерно таким:

        // listen-on    { any; };
        // listen-on-v6 { any; };
        listen-on { 127.0.0.1; 192.168.1.47; };

        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

в конец добавим настройки зоны localserver78.ru:

zone "localserver78.ru" IN {
        type master;
        file "/etc/db.localserver78.ru";
        allow-transfer { 192.168.1.48; };
        notify yes;
};
  • 192.168.1.47 — ip-адрес мастера ns1
  • 192.168.1.48 — ip-адрес слэйва ns2

теперь создадим файл с описанием зоны

# touch /var/named/etc/db.localserver78.ru

и пропишем в него примерно такие DNS-записи:

$TTL            3600
@                       IN      SOA     ns1.localserver78.ru.   admin.localserver78.ru. (
                                        20210422                ; Serial
                                        3600                    ; Refresh
                                        900                     ; Retry
                                        3600000                 ; Expire
                                        3600 )                  ; Minimum
; DNS servers
@                       IN      NS      ns1.localserver78.ru.
@                       IN      NS      ns2.localserver78.ru.
; A records
www                     IN      A       192.168.1.50
win7                    IN      A       192.168.1.50
ns1                     IN      A       192.168.1.47
ns2                     IN      A       192.168.1.48

перезапускаем службу isc_named

# rcctl restart isc_named

После этого переходим к настройке сервера ns2:

создадим каталог /var/named/etc/slave и передадим на него права пользователю _bind группы _bind

# mkdir /var/named/etc/slave
# chown -R _bind:_bind /var/named/etc/slave

далее открываем файл /var/named/etc/named.conf

# vi /var/named/etc/named.conf

в секции options закомментируем строчки:

listen-on    { any; };
listen-on-v6 { any; };

в listen-on введём ip-адрес сервера, включим рекурсию и dnssec — этот кусок должен получиться примерно таким:

        // listen-on    { any; };
        // listen-on-v6 { any; };
        listen-on { 127.0.0.1; 192.168.1.48; };

        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

в конец добавим настройки зоны localserver78.ru:

zone "localserver78.ru" {
        type slave;
        file "/etc/slave/db.localserver78.ru";
        masters { 192.168.1.47; };
        notify yes;
};

здесь файл с описанием зоны создавать не нужно, он автоматически подтянется с мастера

перезапускаем службу isc_named

# rcctl restart isc_named

Проверяем работу DNS-серверов с помощью утилиты dig:

на ns1 (Master DNS) запускаем

# dig @ns2.localserver78.ru localserver78.ru axfr

ответ должен быть таким:

; <<>> dig 9.10.8-P1 <<>> @ns2.localserver78.ru localserver78.ru axfr
; (1 server found)
;; global options: +cmd
localserver78.ru.       3600    IN      SOA     ns1.localserver78.ru. admin.localserver78.ru. 20210422 3600 900 3600000 3600
localserver78.ru.       3600    IN      NS      ns1.localserver78.ru.
localserver78.ru.       3600    IN      NS      ns2.localserver78.ru.
ns1.localserver78.ru.   3600    IN      A       192.168.1.47
ns2.localserver78.ru.   3600    IN      A       192.168.1.48
win7.localserver78.ru.  3600    IN      A       192.168.1.50
www.localserver78.ru.   3600    IN      A       192.168.1.50
localserver78.ru.       3600    IN      SOA     ns1.localserver78.ru. admin.localserver78.ru. 20210422 3600 900 3600000 3600
;; Query time: 53 msec
;; SERVER: 192.168.1.48#53(192.168.1.48)
;; WHEN: Thu Apr 22 22:46:44 MSK 2021
;; XFR size: 8 records (messages 1, bytes 232)

на ns2 (Slave DNS) запускаем

# dig @ns1.localserver78.ru localserver78.ru axfr

ждём такого ответа:

; <<>> dig 9.10.8-P1 <<>> @ns1.localserver78.ru localserver78.ru axfr
; (1 server found)
;; global options: +cmd
localserver78.ru.       3600    IN      SOA     ns1.localserver78.ru. admin.localserver78.ru. 20210422 3600 900 3600000 3600
localserver78.ru.       3600    IN      NS      ns1.localserver78.ru.
localserver78.ru.       3600    IN      NS      ns2.localserver78.ru.
ns1.localserver78.ru.   3600    IN      A       192.168.1.47
ns2.localserver78.ru.   3600    IN      A       192.168.1.48
win7.localserver78.ru.  3600    IN      A       192.168.1.50
www.localserver78.ru.   3600    IN      A       192.168.1.50
localserver78.ru.       3600    IN      SOA     ns1.localserver78.ru. admin.localserver78.ru. 20210422 3600 900 3600000 3600
;; Query time: 3 msec
;; SERVER: 192.168.1.47#53(192.168.1.47)
;; WHEN: Thu Apr 22 22:47:39 MSK 2021
;; XFR size: 8 records (messages 1, bytes 232)

Если ошибок нет, значит настройка прошла успешно.

Теперь IP-адреса этих серверов можно прописывать на клиентских машинах в сети.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *