Как настроить BIND9 в качестве основного DNS-сервера в Ubuntu/Debian
How to Configure BIND9 as a Primary DNS Server on Ubuntu 20.04 (https://serverspace.io/support/help/bind9-as-a-primary-dns-server-on-ubuntu/)
Вы можете использовать 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; };
};
тип может быть 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» своим действующим адресом электронной почты администратора на «.» вместо «@» в нем и «.» в конце.
Серийный - порядковый номер изменения. Вам нужно вручную увеличивать его каждый раз, когда вы меняете файл зоны. Дополнительный сервер отслеживает изменения в зоне с помощью этого параметра.
;
;
;
$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 type<tab>value-<вкладка> значение. Куда:
hostname - чаще всего это значение является доменным именем третьего уровня, а «domain-name.com» заполняется автоматически. @ или none означает запись для имени зоны (в данном случае domain-name.com). Вы также можете указать полное доменное имя с точкой в конце (например, ns.domain-name.com.);
класс - IN (Интернет), указывает тип сети;
Наиболее распространенные типы DNS-записей: A, NS, MX, CNAME, TXT. «A» содержит IP-адрес доменного имени, «NS» - IP-адрес DNS-сервера зоны, «MX» - почтовый сервер, «CNAME» - псевдоним, относящийся к значению указанной записи, «TXT» - индивидуальный ввод;
value — IP address, host name, -значение - 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.