Описание быстрой настройки 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
- 192.168.1.45 и 192.168.1.46 — заданные для примера IP-адреса серверов ns1 (master) и ns2 (slave) соответственно
- 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-адреса этих серверов можно прописывать на клиентских машинах в сети.