Site icon OS CONFIG

BIND DNS на CentOS Stream 8.3

Описание быстрой настройки Master и Slave DNS серверов с использованием BIND в ОС CentOS Stream 8.3.

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

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

# yum install bind-chroot bind-utils

в файрволле откроем порт 53 для обеспечения работы

# firewall-cmd --permanent --zone=public --add-service=dns

и перезапустим файрволл

# firewall-cmd --reload

выключаем SELINUX — в файле /etc/sysconfig/selinux меняем

SELINUX=enforcing

на

SELINUX=disabled

сохраним файл /etc/named.conf по умолчанию — скопируем его как named.conf.old

# cp /etc/named.conf /etc/named.conf.old

сгенерируем ключи

# dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndckey

затем в файле /etc/sysconfig/network-scripts/ifcfg-enp0s3 исправим IP-адреса DNS-серверов:

DNS1=192.168.1.45
DNS2=192.168.1.46

и перезапустим сетевой интерфейс

# ifup enp0s3

после этого в файле /etc/named.conf в секции options необходимо проверить наличие следующих строк:

options {
	...
	recursion yes;
	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;
	...
}

если их нет или значения отличаются — добавляем или меняем.

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

зададим имя хоста ns1

# hostnamectl set-hostname ns1

создадим каталог /etc/named/master и в нём файл зоны localserver12.ru

# mkdir /etc/named/master
# touch /etc/named/master/localserver12.ru

передадим для них права пользователю named группы named

# chown -R named:named /etc/named/master
# chown -R named:named /etc/named/master/localserver12.ru

в файле /etc/named.conf в секции options в параметре listen-on port 53 допишем IP-адрес машины в сети:

options {
	 listen-on port 53 { 127.0.0.1; 192.168.1.45; };
	 ...
}

а также в самом конце файла прописываем описание нашей зоны:

zone "localserver12.ru" IN {
	type master;
	file "/etc/named/master/localserver12.ru";
	allow-transfer { 192.168.1.46; };
	notify yes;
};

откроем файл /etc/named/master/localserver12.ru и зададим описание зоны, т.е. внесём основные записи:

$TTL            3600
@                       IN      SOA     ns1.localserver12.ru.   admin.localserver12.ru. (
                                        20210419                ; 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.45
ns2                     IN      A       192.168.1.46

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

# systemctl start named
# systemctl enable named

проверяем статус службы named

# systemctl status named

ответ должен содержать:

Loaded: loaded
Active: active (running)

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

зададим имя хоста ns2

# hostnamectl set-hostname ns2

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

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

в файле /etc/named.conf в секции options в параметре listen-on port 53 допишем IP-адрес машины в сети:

options {
	 listen-on port 53 { 127.0.0.1; 192.168.1.46; };
	 ...
}

а также в самом конце файла прописываем описание нашей зоны:

zone "localserver12.ru" {
	type slave;
	file "/etc/named/slave/localserver12.ru";
	masters { 192.168.1.45; };
	allow-transfer { 192.168.1.45; };
};

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

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

# systemctl start named
# systemctl enable named

проверяем статус службы named

# systemctl status named

ответ должен содержать:

Loaded: loaded
Active: active (running)

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

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

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

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

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8_3.1 <<>> @ns2.localserver12.ru localserver12.ru axfr
; (1 server found)
;; global options: +cmd
localserver12.ru.       3600    IN      SOA     ns1.localserver12.ru. admin.localserver12.ru. 20210419 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.45
ns2.localserver12.ru.   3600    IN      A       192.168.1.46
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. 20210419 3600 900 3600000 3600
;; Query time: 3 msec
;; SERVER: 192.168.1.46#53(192.168.1.46)
;; WHEN: Вт апр 20 12:04:47 MSK 2021
;; XFR size: 8 records (messages 1, bytes 260)

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

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

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

; <<>> DiG 9.11.26-RedHat-9.11.26-3.el8 <<>> @ns1.localserver12.ru localserver12.ru axfr
; (1 server found)
;; global options: +cmd
localserver12.ru.       3600    IN      SOA     ns1.localserver12.ru. admin.localserver12.ru. 20210419 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.45
ns2.localserver12.ru.   3600    IN      A       192.168.1.46
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. 20210419 3600 900 3600000 3600
;; Query time: 1 msec
;; SERVER: 192.168.1.45#53(192.168.1.45)
;; WHEN: Вт апр 20 12:06:17 MSK 2021
;; XFR size: 8 records (messages 1, bytes 260)

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

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

Exit mobile version