Как настроить BIND9 первичным DNS-сервером (Primary DNS) на Ubuntu 20.04
Вы можете использовать DNS-сервер по-разному. В этом руководстве мы настроим BIND9 в качестве первичного DNS-сервера для доменного имени. После этого вы сможете указать IP-адреса различных доменных служб, например, почтового сервера, а также доменов третьего уровня. Перед началом работы выполните установку и базовую настройку BIND9.
Создадим зону DNS
Мы будем использовать в качестве примера «domain-name.com». При настройке просто измените его на свое доменное имя, а свои реальные IP-адреса укажите вместо 10.1.1.xxx.
Добавьте информацию о зоне в конфигурацию.
sudo nano /etc/bind/named.conf.local
Затем добавьте следующие строки.
zone "domain-name.com" { type master; file "/etc/bind/db.domain-name.com"; allow-transfer { 10.1.1.10; }; also-notify { 10.1.1.10; }; };
- type — master, slave, forward или hint;
- file — указывает путь к файлу новой зоны;
- allow-transfer — список DNS-серверов, которым разрешено передавать зону;
- also-notify — первичный DNS-сервер будет уведомлять эти серверы об изменениях зоны.
Выполните перезапуск службы.
systemctl reload bind9
Конфигурационный файл зоны
Создайте файл зоны из шаблона и откройте его.
sudo cp /etc/bind/db.local /etc/bind/db.domain-name.com
sudo nano /etc/bind/db.domain-name.com
Замените localhost в записи SOA полным доменным именем вашего сервера с указанием «.» в конце. В примере это «ns.domain-name.com.». А root.localhost замените на свой действующий адрес электронной почты администратора с указанием «.» вместо «@» и «.» в конце.
Serial - порядковый номер изменения. Его необходимо увеличивать вручную каждый раз, когда меняется файл зоны. Вторичный сервер отслеживает изменения в зоне с помощью этого параметра.
; ; ; $TTL 604800 @ IN SOA ns.domain-name.com. admin.domain-name.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.domain-name.com. @ IN A 10.1.1.1 ns IN A 10.1.1.9 ns2 IN A 10.1.1.10 mx IN A 10.1.1.15
Внизу файла находятся записи DNS. Формат записи: hostname<tab>class<tab>DNS record type<tab>value. Где:
- hostname — чаще всего это значение является доменным именем третьего уровня, и «domain-name.com» заполняется автоматически. @ или none означает запись для имени зоны (в данном случае domain-name.com). Вы также можете указать полное доменное имя с точкой в конце (например, ns.domain-name.com.);
- class — IN (Internet) — указывает на тип сети;
- Наиболее распространенные типы DNS-записей: A, NS, MX, CNAME, TXT. «A» содержит IP-адрес доменного имени, «NS» - IP-адрес DNS-сервера зоны, «MX» - почтовый сервер, «CNAME» - псевдоним, относящийся к значению указанной записи, «TXT» - произвольная запись;
- value — IP-адрес, имя хоста, текстовая информация.
Перезапустите rndc.
sudo rndc reload
Затем проверьте DNS-сервер. Введите эту команду с любого удаленного компьютера.
nslookup domain-name.com 10.1.1.9
Замените domain-name.com своим полным доменным именем, а 10.1.1.9 - адресом только что настроенного сервера имен. В качестве ответа будет использоваться A-запись DNS вашего домена. В данном примере это 10.1.1.1.
Следующий шаг - BIND9 - вторичный DNS-сервер.