Вы можете использовать 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.