Установка bind9
В качестве авторитарных DNS серверов обычно использую BIND9. Для установки нам понадобится 1 машина в качестве master и как минимум одна в качестве slave.
Установим необходимые пакеты на оба сервера:
apt install bind9 bind9-utils bind9-doc
Открываем конфиг на master сервере:
nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
allow-transfer { ip slave сервера; };
also-notify { ip slave сервера; };
allow-query { any; };
recursion no;
dnssec-validation auto;
};
Конфиг на slave сервере:
options {
directory "/var/cache/bind";
allow-query { any; };
recursion no;
dnssec-validation auto;
};
Перейдем к настройке зон:
nano /etc/bind/named.conf.local
На master:
zone "example.com" {
type master;
file "/etc/bind/example.com";
allow-transfer { ip slave сервера; };
};
На slave:
zone "example.com" {
type slave;
masters { ip адрес master; };
file "/var/cache/bind/example.com";
};
Теперь создадим файл зоны на master сервере:
nano /etc/bind/example.com
В качестве примера:
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2025031201 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS ns1.example.com.
IN NS ns2.example.com.
ns1 IN A 192.168.0.1
ns2 IN A 192.168.0.2
www IN A 192.168.0.100
Выполняем проверку:
named-checkconf
named-checkzone example.com /etc/bind/example.com
Перезапускаем, активируем и проверяем статус:
systemctl restart bind9
systemctl enable bind9
systemctl status bind9
Если ошибок нет, то ок. Можно еще проверить:
dig example.com @вашинс
На slave:
rndc status
rndc zonestatus example.com