BIND DNS на Ubuntu Server 21.04

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

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

установим необходимые пакеты

# sudo apt install bind9 bind9-dnsutils

открываем файл настроек сетевого интерфейса

# sudo nano /etc/netplan/00-installer-config.yaml

и пропишем ip-адреса наших серверов: 192.168.1.51, 192.168.1.54

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

# sudo netplan generate
# sudo netplan apply

192.168.1.51 и 192.168.1.54 — заданные для примера IP-адреса серверов ns1 (master) и ns2 (slave) соответственно

теперь откроем файл named.conf

# sudo nano /etc/bind/named.conf

и в нём в самом конце допишем строчку

include "/etc/bind/named.conf.zones";

затем создадим файл /etc/bind/named.conf.zones

# sudo touch /etc/bind/named.conf.zones

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

в файле /etc/bind/named.conf.options стираем строчку

dnssec-validation auto;

и на её месте напишем:

        listen-on port 53 { 127.0.0.1; 192.168.1.51; };
        recursion yes;
        dnssec-validation yes;

после этого открываем файл /etc/bind/named.conf.zones

# sudo nano /etc/bind/named.conf.zones

и в нём пропишем настройки нашей зоны localserver12.ru

zone "localserver12.ru" IN {
    type master;
    file "/var/lib/bind/master.localserver12.ru";
    allow-transfer { 192.168.1.54; };
    notify yes;
};

далее в каталоге /var/lib/bind/ создадим файл с описанием зоны и передадим на него права пользователю root группы bind

# sudo touch /var/lib/bind/master.localserver12.ru
# sudo chown -R root:bind /var/lib/bind/master.localserver12.ru

открываем этот файл

# sudo nano /var/lib/bind/master.localserver12.ru

и добавим туда описание зоны:

$TTL            3600
@                       IN      SOA     ns1.localserver12.ru.   admin.localserver12.ru. (
                                        20210426                ; Serial
                                        3600                    ; Refresh
                                        900                     ; Retry
                                        3600000                 ; Expire
                                        3600 )                  ; Minimum
; DNS servers
@                       IN      NS      ns1.localserver12.ru.
@                       IN      NS      ns2.localserver12.ru.
; A records
www                     IN      A       192.168.1.50
win7                    IN      A       192.168.1.50
ns1                     IN      A       192.168.1.51
ns2                     IN      A       192.168.1.54

после этого проверим bind на ошибки

# named-checkconf

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

# sudo systemctl restart bind9

Затем переходим к настройке сервера ns2:

в файле /etc/bind/named.conf.options стираем строчку

dnssec-validation auto;

и на её месте напишем:

        listen-on port 53 { 127.0.0.1; 192.168.1.54; };
        recursion yes;
        dnssec-validation yes;

после этого открываем файл /etc/bind/named.conf.zones

# sudo nano /etc/bind/named.conf.zones

и в нём пропишем настройки нашей зоны localserver12.ru

zone "localserver12.ru" {
    type slave;
    file "/var/lib/bind/slave.localserver12.ru";
    masters { 192.168.1.51; };
    allow-transfer { 192.168.1.51; };
};

после этого проверим bind на ошибки

# named-checkconf

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

# sudo systemctl restart bind9

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

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

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

# dig @ns2.localserver12.ru localserver12.ru axfr

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

; <<>> DiG 9.16.8-Ubuntu <<>> @ns2.localserver12.ru localserver12.ru axfr
; (1 server found)
;; global options: +cmd
localserver12.ru.       3600    IN      SOA     ns1.localserver12.ru. admin.localserver12.ru. 20210426 3600 900 3600000 3600
localserver12.ru.       3600    IN      NS      ns1.localserver12.ru.
localserver12.ru.       3600    IN      NS      ns2.localserver12.ru.
ns1.localserver12.ru.   3600    IN      A       192.168.1.51
ns2.localserver12.ru.   3600    IN      A       192.168.1.54
win7.localserver12.ru.  3600    IN      A       192.168.1.50
www.localserver12.ru.   3600    IN      A       192.168.1.50
localserver12.ru.       3600    IN      SOA     ns1.localserver12.ru. admin.localserver12.ru. 20210426 3600 900 3600000 3600
;; Query time: 8 msec
;; SERVER: 192.168.1.54#53(192.168.1.54)
;; WHEN: Вт апр 27 07:54:51 UTC 2021
;; XFR size: 8 records (messages 1, bytes 260)

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

# dig @ns1.localserver12.ru localserver12.ru axfr

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

; <<>> DiG 9.16.8-Ubuntu <<>> @ns1.localserver12.ru localserver12.ru axfr
; (1 server found)
;; global options: +cmd
localserver12.ru.       3600    IN      SOA     ns1.localserver12.ru. admin.localserver12.ru. 20210426 3600 900 3600000 3600
localserver12.ru.       3600    IN      NS      ns1.localserver12.ru.
localserver12.ru.       3600    IN      NS      ns2.localserver12.ru.
ns1.localserver12.ru.   3600    IN      A       192.168.1.51
ns2.localserver12.ru.   3600    IN      A       192.168.1.54
win7.localserver12.ru.  3600    IN      A       192.168.1.50
www.localserver12.ru.   3600    IN      A       192.168.1.50
localserver12.ru.       3600    IN      SOA     ns1.localserver12.ru. admin.localserver12.ru. 20210426 3600 900 3600000 3600
;; Query time: 8 msec
;; SERVER: 192.168.1.51#53(192.168.1.51)
;; WHEN: Вт апр 27 07:55:42 UTC 2021
;; XFR size: 8 records (messages 1, bytes 260)

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

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

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

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