Как настроить Slave DNS-сервер BIND в Ubuntu 20.04

Как настроить Slave DNS-сервер BIND в Ubuntu 20.04

 

В предыдущем посте мы рассказали, как настроить первичный DNS-сервер с помощью BIND9 . Мы будем изучать, как настроить вторичный DNS-сервер. Подчиненный DNS-сервер получает копию данных с основного DNS-сервера с использованием метода зонной передачи. Этот метод сохраняет данные зоны в кэше в течение определенного времени и использует их для обслуживания DNS-запросов.

В нашей настройке у нас есть первичный DNS-сервер с IP-адресом 172.16.10.2 и доменным именем ns1.infoit.local.

Мы настраиваем вторичный сервер с 172.16.10.10 и ns2.infoit.local.

Конфигурация на Bind Master DNS

Для настройки Master-Slave нам необходимо настроить главный DNS-сервер и включить передачу зоны на вторичный сервер имен.

Мы будем редактировать /etc/named.conf.localфайл на первичном сервере (ns1.infoit.local) и добавить allow-transferи also-notifyпараметры.

sudo vim /etc/bind/named.conf.local

Это будет сделано как для прямого, так и для обратного ввода.

##Forward zone
zone "infoit.local" IN { // Domain name
    
      type master; // Primary DNS

     file "/etc/bind/forward.infoit.local.db"; // Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.
     allow-transfer  { 172.16.10.10; }; //Allow Transfer of zone from the master server

     also-notify { 172.16.10.10; }; //Notify slave for zone changes

};

##Reverse zone
zone "10.16.172.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.infoit.local.db"; //Reverse lookup file

     allow-update { none; }; //Since this is the primary DNS, it should be none.

     allow-transfer  { 172.16.10.10; }; //Allow Transfer of zone from the master server

     also-notify { 172.16.10.10; }; //Notify slave for zone changes

};

allow-transfer Параметр позволяет передавать файлы зоны от ведущего к ведомому DNS в то время как also-notifyпомогает предупредить подчиненный , когда есть обновление файлов зона от мастера.

Мы должны перезапустить службу DNS на ns1.infoit.local:

sudo systemctl restart bind9

Настройте подчиненный DNS

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

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils

Отредактируйте файл в /etc/bind/ named.conf.local и добавьте параметры прямой и обратной зоны:

sudo vi /etc/bind/named.conf.local

###Forward Zone

zone "infoit.local" IN { //Domain name

     type slave; //Secondary Slave DNS

     file "/var/cache/bind/forward.infoit.local.db"; //Forward Zone Cache file

     masters { 172.16.10.2; }; //Master Server IP

};

####Reverse zone

zone "10.16.172.in-addr.arpa" IN { //Reverse lookup name. Should match your network in reverse order

     type slave; // Secondary/Slave DNS

     file "/var/cache/bind/reverse.infoit.local.db"; //Reverse Zone Cache file

     masters { 172.16.10.2; }; //Master Server IP

};

Перезапустите службу DNS:

sudo systemctl restart bind9

Тестовый ведомый DNS

Чтобы проверить, была ли передача зоны успешной и DNS работает на подчиненном сервере, нам нужно настроить клиентский хост и использовать подчиненный сервер в качестве своего DNS-сервера.

В Ubuntu:

sudo echo "nameserver 172.16.10.10" >> /etc/resolv.conf

Затем мы можем использовать digкоманду для проверки DNS.

[email protected]:~# dig www.infoit.local

; <<>> DiG 9.16.1-Ubuntu <<>> www.infoit.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24401
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: b1e287dd1d118ad6010000005f8c88233ef562a7063e7a15 (good)
;; QUESTION SECTION:
;www.infoit.local.	IN	A

;; ANSWER SECTION:
www.infoit.local. 604800 IN	A	172.16.10.3

;; Query time: 0 msec
;; SERVER: 172.16.10.10#53(172.16.10.10)
;; WHEN: Sun Oct 18 18:23:31 UTC 2020
;; MSG SIZE  rcvd: 100

Вы можете использовать, dig domain-name @<nameserver>если хотите явно направить запрос на подчиненный DNS.

dig www.infoit.local @172.16.10.10

езультат показывает, что подчиненный DNS может обрабатывать запросы. Это подразумевает, что настройка DNS «главный-подчиненный» работает должным образом.

Вывод

Вы успешно настроили подчиненный DNS-сервер в Ubuntu 20.04 с помощью BIND9. Поделитесь своим мнением в комментариях.

Прокрутить вверх