Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

Чтобы настроить работу доменной почты в Google, выполните следующие настройки DNS.

Систему доменных имен (DNS — Domain Name System) можно сравнить с телефонной книгой. Только вместо имён в этой «книге»‎ указаны домены, а вместо номеров телефона — IP-адреса серверов и других устройств в интернете.

Чтобы в этом «справочнике»‎ была актуальная информация и к ней был доступ у других устройств в сети, для каждого домена нужно прописать ресурсные записи DNS. Что это за записи, в каких случаях нужны и как указать их для домена, вы узнаете из этой статьи.

  • Что такое ресурсные записи DNS и зачем они нужны
  • Типы ресурсных записей DNS
  • Перед настройкой
  • Как указать ресурсные записи для домена
    • A-запись
    • CNAME-запись
    • MX-запись
    • TXT-запись
    • NS-запись
    • SRV-запись
    • SPF-запись
    • PTR-запись
  • После настройки
    • Как проверить DNS-записи в Windows
    • Как проверить DNS-записи в Linux и MacOS
    • Как проверить DNS-записи с помощью онлайн-сервиса
  • Как связаться со службой поддержки

Blog

DNS (Domain Name System, система доменных имён) — система, в которой все доменные имена серверов находятся в определённой иерархии. Для чего она нужна? 

Представим, что нам нужно обратиться к устройству с IP-адресом 92.53.116.191. Чтобы это сделать мы можем ввести адрес в командной строке и получить нужную информацию. Но запомнить много таких комбинаций цифр очень трудно. Поэтому были придуманы специальные серверы, которые позволяют преобразовывать доменные имена в IP-адреса. Так, когда вы вводите в поисковой строке браузера cloud.timeweb.com, данные запроса отправляются на DNS-сервер, который ищет совпадения в своей базе. Затем DNS-сервер посылает на устройство нужный IP-адрес и только тогда браузер обращается непосредственно к ресурсу.

Настройка собственной DNS позволяет более гибко и точно конфигурировать систему и не зависеть от третьих лиц. В этой статье мы рассмотрим, как настроить DNS с помощью сервера имён BIND на Ubuntu. 

Настройка Dns Сервера Bind (1)

Что такое ресурсные записи DNS и зачем они нужны

Чтобы понять, что такое ресурсные записи, сначала разберемся, что такое DNS в целом. Начнём с основ.

В работе интернета участвует огромное количество устройств — компьютеров, серверов, телефонов и другой техники. Каждый сайт, который вы посещаете в сети, размещен на одном из таких устройств (как правило, сервере). У каждого устройства в сети есть специальный идентификационный номер — IP-адрес. И чтобы перейти на любой из сайтов, нужно знать этот самый идентификационный номер устройства, на котором сайт расположен.

Для человека запомнить все IP-адреса всех устройств, да ещё и соотнести, на каком из них какой из сайтов размещён, — задача практически невозможная. Поэтому придумали DNS (Domain Name System) — систему доменных имен. Благодаря ей каждому IP-адресу можно присвоить понятное для человека буквенное имя — домен. Например, IP-адресу 177.177.177.177 можно присвоить домен test-sw.ru. Тогда при каждом вводе в поисковую строку браузера домена test-sw.ru DNS-серверы автоматически будут преобразовывать его в IP-адрес — техническую информацию, с помощью которой удобно взаимодействовать уже устройствам. Как итог — вы быстро попадете на искомый сайт.

Чтобы эта схема работала и при вводе домена в поисковую строку браузера открывался сайт, а не ошибка, нужно указать для домена ресурсные записи DNS. Они «расскажут» другим DNS-серверам интернета о вашем домене. Если не настроить ресурсные записи (записи DNS-зоны), серверы не смогут передавать информацию между собой и сайт просто не будет работать.

Обратите внимание: перед тем как перейти к настройке ресурсных записей, нужно указать DNS-серверы — то есть делегировать домен. Когда вы пропишете или смените DNS-серверы, придётся подождать до 24-х часов. Только после этого можно переходить к добавлению ресурсных записей.

Чаще всего для настройки зоны DNS используют такие DNS-записи домена, как: A, CNAME, MX, TXT, SPF, NS,  SRV, PTR и SOA. Для чего нужна каждая запись и как настроить их в панели управления SpaceWeb, читайте ниже.

MX-запись

  1. Перейдите в раздел «Домены»
  2. Найдите нужный домен, кликните на значок шестеренки и выберите «Настройки DNS».
  3. Удалите имеющиеся MX-записи.
  4. Нажмите на «Добавить DNS-запись», выберите «MX» и в открывшемся окне отметьте пункт GmailMx G
  5. Сохраните изменения с помощью кнопки «Добавить».
  6. Подождите, пока изменения в DNS вступят в силу. Этот процесс может занимать до 72 часов.

PTR-запись

Обратите внимание: добавить PTR-запись можно, только если у вашего домена IP-адрес, выданный SpaceWeb. Подробнее об использовании PTR.

Чтобы добавить PTR-запись, обратитесь в службу технической поддержки.

SPF-запись

Чтобы добавить SPF-запись, укажите:

  • Поддомен — имя поддомена. Если хотите выбрать основной домен, оставьте поле пустым;
  • Тип — выберите из списка TXT (SPF добавляется через указание TXT-записи);
  • Значение — скопируйте и вставьте запись v=spf1 include:_spf.spaceweb.ru ~all. Эта запись указывает, что почта может рассылаться только с SMTP-серверов компании SpaceWeb. Если заменить ~all на -all, то письма, отправленные не с SMTP-серверов компании Spaceweb, будут отбрасываться.

После этого нажмите Сохранить:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, запись SPF появится в списке ресурсных записей вашего домена.

SPF-запись

  1. Перейдите в раздел «Домены»
  2. Найдите нужный домен, кликните на значок шестеренки и выберите «Настройки DNS».
  3. Удалите имеющиеся TXT-записи, начинающиеся с v=spf1 (предварительно скопируйте значение spf-записи, если вы планируете отправлять почту также и с указанных в ней серверов).
  4. Нажмите на «Добавить DNS-запись», выберите «TXT» и в открывшемся окне разместите следующее значение:
v=spf1 include:_spf.google.com ~all
  1. Если вы хотите отправлять письма также и с других серверов, укажите их в таком формате:
v=spf1 ip4:IP1 ip4:IP2 ip4:IP3 include:_spf.google.com ~all

где IP-1, IP-2, IP-3 — IP-адреса дополнительных серверов.

  1. Сохраните изменения с помощью кнопки «Добавить».
  2. Подождите, пока изменения в DNS вступят в силу. Этот процесс может занимать до 72 часов.

Обратная зона

Обратная зона DNS — это особая доменная зона, которая предназначена для того, чтобы определять имя узла по его IP адресу. Например, адрес узла 192.168.1.10 в обратной нотации превращается в 10.1.168.192.in-addr.arpa. Благодаря тому, что используется иерархическая модель, можно делегировать управление зоной владельцу диапазона IP-адресов. 

По своей сути, PTR-запись определяет домен по адресу, а значит это практически то же самое, что и A-запись. Она используется в основном для проверки почтовых серверов.

Для настройки зоны обратного просмотра создадим новый файл зоны:

sudo nano /etc/bind/master-zones/16.172/in-addr.arpa.zone

и поместим в него следующее содержимое:

$TTL    3600 
16.172.in-addr.arpa.            IN      SOA  ( 
ns.test.example.com. 
admin.test.example.com. 
                                2022041202 
                                10800 
                                1200 
                                604800 
                                3600  )
                                IN      NS            ns.test.example.com. 
                                IN      NS           ns2.test.example.com. 

3.101.16.172.in-addr.arpa.      IN      PTR              test.example.com. 
5.0.16.172.in-addr.arpa.        IN      PTR           ns.test.example.com. 
6.0.16.172.in-addr.arpa.        IN      PTR          ns2.test.example.com. 
2.101.16.172.in-addr.arpa.      IN      PTR         mail.test.example.com.

Проверим зону и убедимся в корректности конфигурации:

sudo named-checkzone 16.172.in-addr.arpa /etc/bind/master-zones/16.172.in-addr.arpa.zone

Теперь эту зону нужно добавить в конфигурационный файл named.conf:

sudo nano /etc/bind/named.conf.local
zone "16.172.in-addr.arpa." {
                type master;
                file "/etc/bind/master-zones/16.172.in-addr.arpa.zone";
                allow-transfer { 172.16.0.6; };
        };

После этого проверяем синтаксис и перезагружаем bind9.

Читайте также:  Веб-интерфейс управления серверами Windows Server

Можно приступать к аналогичной настройке на вторичном сервере. В named.conf.local добавьте следующую конфигурацию:

zone "16.172.in-addr.arpa." { 
        type slave; 
        file "/etc/bind/slave/16.172.in-addr.arpa.zone"; 
        masters { 172.16.0.5; }; 
};

На этом этапе мы завершили работу с локальными доменными зонами. Можно приступать к конфигурации внешней доменной зоны. 

SRV-запись

Чтобы добавить SRV-запись, укажите:

  • Поддомен — оставьте поле пустым;
  • Тип — выберите из списка SRV;
  • Сервис — название сервиса;
  • Протокол — выберите tls;
  • TTL — время жизни записи в секундах (какое время запись будет сохранена в DNS-кеше);
  • Вес — относительный вес для записей с одинаковым приоритетом;
  • Порт — порт TCP или UDP, на котором работает сервис;
  • Приоритет — приоритет целевого хоста;
  • Целевой домен — каноническое имя сервиса.

После этого нажмите Сохранить:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, SRV-запись появится в списке, где указаны все прописанные записи DNS сервера.

Добавление MX-записи

В этом примере мы используем mx в качестве имени хоста, поскольку это общепринятое обозначение. Тогда FQDN — mx.test.example.com. 

В файл зоны /etc/bind/master-zones/test.example.com.loсal.zone добавляем ресурсные записи почты и обновляем серийный номер.

Image3

Проверим синтаксис и перезапустим bind9:

sudo named-checkzone test.example.com. /etc/bind/master-zones/test.example.com.local.zone
sudo service bind9 reload

TXT-запись

Чтобы добавить TXT-запись в DNS, укажите:

  • Поддомен — имя поддомена. Если хотите выбрать основной домен, оставьте поле пустым;
  • Тип — выберите из списка TXT;
  • Значение — значение TXT-записи (обычно приходит на email для активации SSL-сертификата).

После этого нажмите Сохранить:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, теперь вы знаете, как добавить TXT-запись.

A-запись

Чтобы добавить A-запись укажите:

  • Поддомен — имя поддомена. Если хотите выбрать основной домен, оставьте поле пустым;
  • Тип — выберите из списка А;
  • Значения — IP-адрес нужного вам сервера.

После этого нажмите Сохранить:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, A-запись появится в списке ресурсных записей вашего домена.

Как указать ресурсные записи для домена

Вы можете указать следующие типы DNS-записей: A, CNAME, MX, TXT, NS, SRV и PTR. Для этого:

  1. Авторизуйтесь в панели управления SpaceWeb.
  2. Перейдите в раздел Домены — Мои домены:

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

  1. Выберите домен, для которого хотите настроить ресурсные записи. Нажмите на три точки и кликните DNS:

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

  1. Нажмите ДОБАВИТЬ ЗАПИСЬ:

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

  1. Следуйте инструкции ниже в зависимости от типа записи, которую хотите добавить.

Перед настройкой

Внимание: перед тем как добавить запись в DNS домена, убедитесь, что для вашего домена указаны DNS-серверы SpaceWeb:

Если для домена прописаны DNS-серверы не SpaceWeb, перейдите к настройке ресурсных записей на стороне вашего провайдера.

Как связаться со службой поддержки

Чтобы создать заявку в службу поддержки, в панели управления SpaceWeb перейдите в раздел Поддержка и кликните ОТПРАВИТЬ ЗАЯВКУ. Из списка выберите подходящий тип обращения, укажите тему, введите сообщение и, если нужно, прикрепите файл. После этого нажмите ОТПРАВИТЬ:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

Готово, вы отправили заявку в службу поддержки.

Инфраструктура

Для того, чтобы следовать всем инструкциям в статье, вам необходимо иметь как минимум два сервера Ubuntu в одном ЦОД. Любой из этих серверов вы можете заказать на cloud.timeweb.com.

Нам понадобится два сервера на Ubuntu 18.04, они будут использоваться в качестве первичного и вторичного DNS-серверов — ns1 и ns2 соответственно. А также дополнительные серверы, которые будут использовать наши настроенные серверы. 

Вы должны иметь права суперпользователя на каждом из серверов. Чтобы узнать, как это получить административные доступ, воспользуйтесь статьёй в нашем блоге — Редактирование файла sudoers.

В этой статье мы будем использовать bind в качестве DNS-сервера. Установим пакет bind9 из репозитория Linux:

sudo apt update && sudo apt upgrade -y
sudo apt install bind9

Кроме этого рекомендуем установить сразу инструменты мониторинга сети: 

sudo apt install dnsutils

После установки запускаем службу bind9:

sudo service bind9 start

Основной конфигурационный файл сервера — /etc/bind/named.conf. Он описывает общие настройки и обычно разбивается на несколько других для удобства. С работы с параметрами внутри этого файла начинается настройка DNS.

Image2

named.conf.options. Этот файл содержит общие параметры сервера. В нём укажем данные для конфигурации DNS.

options {
        dnssec-validation auto;
        auth-nxdomain no;
        directory "/var/cache/bind";
        recursion no; # запрещаем рекурсивные запросы на сервер имён

        listen-on {
                     172.16.0.0/16; 
                     127.0.0.0/8;    };

        forwarders { 
172.16.0.1;
            8.8.8.8;  
        };
};

Чтобы проверить, что всё внесено верно, нужно воспользоваться одной из утилит демона namednamed-checkconf.

sudo named-checkconf

Если всё написано верно, bind-сервер начал работать. 

NS-запись

Чтобы добавить NS-запись, укажите:

  • Поддомен — имя поддомена;
  • Тип — выберите из списка NS;
  • Значение — DNS-сервер, на котором вы хотите хранить зону поддомена.

После этого нажмите Сохранить:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, NS-запись появится в списке ресурсных записей вашего домена.

После настройки

Существует несколько способов проверить, корректно ли добавлены DNS-записи. Для проверки можно воспользоваться утилитами в командной строке или же специальными онлайн-сервисами.

Как проверить DNS-записи в Windows

  1. Откройте меню «Пуск», в строке поиска напишите cmd и нажмите Enter. У вас откроется командная строка.
  2. Введите команду:

nslookup -type=тип_записи exapmle.com

Где exapmle.com — имя вашего домена.

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

Как проверить DNS-записи в Linux и MacOS

  1. Откройте терминал с помощью клавиш:
  • Linux: Ctrl+Alt+T,
  • MacOS: F4.
  1. Введите одну из команд на ваш выбор:

* nslookup -type=тип_записи exapmle.com

Где exapmle.com — имя вашего домена.

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

dig exapmle.com тип_записи

Где exapmle.com — имя вашего домена.

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

Чтобы получить укороченный вывод команды dig, в конце добавьте +short:

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

host -t тип_записи example.com

Где exapmle.com — имя вашего домена.

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager

Как проверить DNS-записи с помощью онлайн-сервиса

Для проверки DNS-записей онлайн вы можете воспользоваться утилитой dig. Для этого в строке «Домен» укажите имя вашего домена, в выпадающем списке выберите тип записи и нажмите Проверить:

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Если вы добавили ресурсные записи, но не увидели их в результатах проверки, обратитесь в службу технической поддержки.
 

DKIM-подпись

  1. Создайте DKIM-ключ в консоли администратора Google Workspace (бывший G Suite) по инструкции от Google.
  2. В панели управления Timeweb перейдите в раздел «Домены»
  3. Найдите нужный домен, кликните на значок шестеренки и выберите «Настройки DNS».
  4. Нажмите на «Добавить DNS-запись» и выберите «TXT».
  5. В открывшемся окне настроек:
  • в поле «Хост» укажите префикс._domainkey, заменив ‘префикс’ на тот, который использовался при создании ключа (как правило, ‘google’). Если вы настраиваете DKIM для поддомена, то в поле «Хост» нужно внести значение вида префикс._domainkey.поддомен. Например, для поддомена mail.mydomain.ru потребуется указать ‘префикс._domainkey.mail’. Подробнее — в инструкции Google.
  • в поле «Значение» внесите параметры созданного DKIM-ключа (отображается в разделе «Аутентификация электронной почты» в Google Workspace).

Dkim G

  1. Сохраните изменения с помощью кнопки «Добавить».
  2. Включите подпись сообщений электронной почты по инструкции от Google.

15 лет опыта

Сосредоточьтесь на своей работе: об остальном позаботимся мы

165 000 клиентов

Нам доверяют частные лица и компании, от небольших фирм до корпораций

Поддержка 24/7

100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону

Читайте также:  Установка WordPress на локальный компьютер с помощью XAMPP

MX-запись

Чтобы добавить MX-запись, укажите:

  • Поддомен — поддомен или @ (если хотите выбрать почту вида логин@ваш_домен);
  • Тип — выберите из списка MX;
  • Приоритет — приоритет записи (чем меньше цифра, тем выше приоритет);
  • Сервер — адрес сервера, который будет отвечать за работу почты на вашем домене.

После этого нажмите Сохранить:
Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, MX-запись появится в списке ресурсных записей вашего домена.

Первичный DNS-сервер

Первичный DNS-сервер — сервер, который хранит главную копию файла данных зоны. Все зоны будем хранить в каталоге /etc/bind/master-zones основного DNS-сервера. Создадим директорию:

sudo mkdir /etc/bind/master-zones

В ней создадим файл для описания зоны:

sudo touch /etc/bind/master-zones/test.example.com.loсal.zone

… и добавим в него SOA-, NS- и A-записи:

$ttl 3600 
$ORIGIN test.example.com. 
test.example.com.               IN              SOA  (      
ns.test.example.com.    
abuse.test.example.com.  
                                2022041201 
                                10800 
                                1200 
                                604800 
                                3600   ) 

@                               IN              NS              ns.test.example.com. 
@                               IN              NS              ns2.test.example.com.

@                               IN              A                172.16.101.3 
ns                              IN               A                172.16.0.5 
ns2                             IN              A                172.16.0.6

После этого необходимо запустить проверку утилитой named-checkzone.

sudo named-checkzone test.example.com. /etc/bind/master-zones/test.example.com.loсal.zone

named.conf.local. Это ещё один файл, который включается в общий конфиг сервера. В нём мы укажем локальные зоны:

zone "test.example.com." {
                type master;
                file "/etc/bind/master-zones/test.example.com.local.zone";
};

После того, как пропишем нужные данные, проверим конфиг и перезагрузим bind9 (флаг -z проверяет файлы зон):

sudo named-checkconf
sudo named-checkconf -z
sudo service bind9 restart
sudo service bind9 status

Настройка представлений

Настройка представлений позволяет гибко управлять разрешением имён из разных подсетей. В файле /etc/bind/named.conf укажем:

include "/etc/bind/named.conf.options";

acl "local" { 172.16.0.0/16; };
view "local" {
                include "/etc/bind/named.conf.local";
                match-clients { local; };
};

В этом же файле можно прописать директивы для указания тех узлов и адресов сетей, от которых нужно принимать или отклонять запросы.

Затем нужно заново перезагрузить bind9:

sudo service bind9 restart

После перезагрузки сервера с другого компьютера локальной сети можно запросить наличие у сервера 172.16.0.5 SOA-записи: 

dig @172.16.0.5 -t SOA test.example.com

На этом этапе настройка основного DNS-сервера завершена. Далее в статье — вторичный сервер, настройка почтового сервера и обратная зона. 

Типы ресурсных записей DNS

  1. A (Аddress) — одна из основных ресурсных записей интернета. Именно она связывает домен с IP-адресом сервера. Пока не прописана А-запись, ваш сайт не будет работать. Когда вы вводите название сайта в адресную строку браузера, именно А-запись помогает DNS определить, с какого сервера необходимо открывать ваш сайт.
  2. CNAME (Canonical name) — запись, которая отвечает за привязку поддоменов к каноническому имени домена или другому домену. Например, site.test-sw.ru к test-sw.ru. Основная функция CNAME — дублировать ресурсные записи домена для корректной работы поддоменов.

Обратите внимание: если вы используете запись CNAME, вы не можете прописывать для этого поддомена другие ресурсные записи. Если для поддомена site.test-sw.ru или www.test-sw.ru уже указана запись CNAME, для него нельзя добавить ещё и запись А.

  1. MX (Mail exchange) — это запись, которая отвечает за сервер, через который будет работать почта. Записи MX категорически важны для работы почты, ведь благодаря им отправляющая сторона «понимает», на какой сервер нужно отсылать почту для вашего домена.
  2. TXT (Text string) — запись, которая содержит любую текстовую информацию о домене. Добавить TXT-запись в DNS необходимо, чтобы подтвердить права собственности на домен, подтвердить активацию SSL-сертификата или обеспечить безопасность электронной почты. Часто применяется для проверок на право владения доменом при подключении дополнительных сервисов, а также как контейнер для записи SPF и ключа DKIM. Для домена можно указывать неограниченное количество TXT-записей, если они не конфликтуют друг с другом.
  3. SPF (Sender Policy Framework) содержит список серверов, которым разрешается отправлять письма от имени заданного домена. Эта запись помогает предотвратить несанкционированное использование. Настройка SPF для домена прописывается в TXT-записи.
  4. NS-запись DNS (Authoritative name server) указывает на DNS-серверы, которые отвечают за хранение остальных ресурсных записей домена. Количество NS записей должно строго соответствовать количеству всех обслуживающих его серверов. Критически важна для работы службы DNS.
  5. SRV (Server selection) — эта запись указывает на серверы, которые обеспечивают работу тех или иных служб и сервисов в сети (например, Jabber). Обычно SRV указывает на местоположение серверов, а также номер порта и имя хоста.
  6. PTR (Domain name pointer) — обратная DNS-запись, которая связывает IP-адрес сервера с его каноническим именем (доменом). PTR-запись помогает при фильтрации почты.
  7. SOA-запись (Start of Authority) — начальная запись зоны, которая указывает, на каком сервере хранится эталонная информация о доменном имени. SOA-запись домена критически важна для работы службы DNS.

Теперь вы знаете основные DNS-записи сервера, а также какую роль играет каждая из них. Можно переходить к настройке.

Внешняя доменная зона

Во-первых, для того, чтобы запросы из внешней сети обрабатывались нашим сервером нужно в файле конфигурации named.conf.options добавить внешний адрес в директиву listen-on:

...
sudo nano /etc/bind/master-zones/test.example.com.zone
$ttl 3600
$ORIGIN test.example.com.
test.example.com.               IN              SOA  (     
ns.test.example.com.
admin.test.example.com.
                                2022041205
                                10800
                                1200
                                604800
                                3600   )
@                               IN              NS              ns.test.example.com.
@                               IN              NS              ns2.test.example.com.
@                               IN              A               aaa.bbb.ccc.ddd # первый внешний адрес
ns                              IN              A               aaa.bbb.ccc.ddd
ns2                             IN              A               eee.fff.ggg.hhh # второй внешний адрес

Затем создадим для зон внешнего просмотра отдельный файл, чтобы раздавать разные доменные зоны клиентам из разных подсетей. 

sudo nano /etc/bind/named.conf.external

И добавим в него следующее содержимое:

После этого подключим файл в named.conf, добавив такой блок:

Осталось проверить эту зону и перезагрузить bind9:

sudo named-checkconf -z
sudo named-checkzone test.example.com. /etc/bind/master-zones/test.example.com.zone
sudo service bind9 restart
sudo service bind9 status

На вторичном DNS-сервере в named.conf.options нам нужно указать внешний адрес сервера:

sudo nano /etc/bind/named.conf.options
options {
        dnssec-validation auto;
        auth-nxdomain no;
        recursion no;
        directory "/var/cache/bind";
        listen-on {
                        eee.fff.ggg.hhh/24;
                        172.16.0.0/16;
                        127.0.0.0/8;
        };
};

И точно так же, как на первой машине, создаём новый файл named.conf.external:

sudo nano /etc/bind/named.conf.external

Со следующим содержимым:

Далее в named.conf добавляем следующий блок:

И выполняем трансфер:

sudo rndc retransfer test.example.com IN external-view

Вторичный сервер

Первые шаги абсолютно такие же, что и в случае с первичным сервером — установка bind9 и сетевых утилит.

sudo apt update && sudo apt upgrade -y
sudo apt install bind9
sudo apt install dnsutils
sudo service bind9 start

Далее для того, чтобы хранить файлы зон, создадим каталог /etc/bind/slave и снабдим его необходимыми правами:

sudo mkdir slave
sudo chmod g+w slave

Приступаем к настройке зоны на вторичном сервере. В файл /etc/bind/named.conf.local добавляем зону

zone "test.example.com." {
        type slave;
        file "/etc/bind/slave/test.example.com.local.zone";
        masters { 172.16.0.5; };
};

… и в основном конфигурационном файле named.conf настраиваем представления 

include "/etc/bind/named.conf.options";
acl "local" { 172.16.0.0/16; };
view "local" {
        match-clients { local; };
        include "/etc/bind/named.conf.local";
};

После добавления настроек нужно проверить синтаксис, а затем перезагрузить bind9:

sudo named-checkconf
sudo named-checkconf -z
sudo service bind9 restart

Если нет ошибок, нужно выполнить трансфер зоны:

sudo rndc retransfer test.example.com

Команда rndc retransfer позволяет выполнить трансфер зоны без проверки серийных номеров. Вкратце, первичный (ns1) и вторичный (ns2) DNS-серверы работают следующим образом. ns2 «смотрит» только на серийный номер зоны, игнорируя содержание всего файла. 

Читайте также:  Веб-интерфейс управления серверами Windows Server

Если номер уменьшился, то трансфер этой зоны будет прекращён. Поэтому каждый раз при редактировании зоны критически важно увеличивать серийный номер. В качестве номера рекомендуем использовать текущую дату и некий инкремент. 

Как только настроили сервер и выполнили трансфер зоны, в конфиге named.conf на первичном сервере нужно ограничить передачу адресом вторичного сервера. Для этого в named.conf нужно добавить директиву allow-transfer с указанием IP-адреса вторичного DNS-сервера.

Image4

И перезагружаем сервер:

sudo service bind9 restart

Далее все операции будем проводить на первичном сервере. 

Термины

Зона — часть иерархии доменных имён, которая размещается на DNS-сервере. Она нужна для того, чтобы установить рамки, в пределах которых распространяется ответственность конкретного сервера или группы серверов. 

Корневые серверы — это DNS-серверы, которые содержат информацию о доменах первого уровня (.ru, .com и так далее). 

Доменом называют именованную часть в иерархии DNS. Это определённый узел, который включает в себя другие узлы. DNS-адреса читаются справа налево и начинаются с точки, точкой также отделяются домены.То есть домен cloud.timeweb.com правильно читать так: .com.timeweb.cloud. Чаще всего доменное имя отражает структуру иерархии DNS, но последняя точка опускается. 

FQDN — это имя полное имя домена, которое включает в себя имена всех родительских доменов. 

Image1

Ресурсная запись — это единица хранения информации. Проще говоря, это запись, которая содержит связь имени с какой-либо служебной информацией. Ресурсная запись состоит из следующих элементов:

  1. Имя (NAME) — имя или IP-адрес, которому принадлежит зона. 
  2. Время жизни (Time to Live, TTL) — время хранения записи в кэше DNS, по прошествии которого запись удаляется. 
  3. Класс (CLASS) — тип сети, чаще всего IN — Internet.
  4. Тип (TYPE) — назначение записи
  5. Различная информация (DATA)

Самые частые ресурсные записи

A-запись. Имя хоста на адрес IPv4. Для каждого сетевого интерфейса можно сделать только одну A-запись. 

timeweb.com.              86400     IN     A      185.114.246.105

AAAA-запись. Это то же самое, что А-запись, только справедливо для IPv6.

CNAME. Каноническая запись. Содержит псевдоним реального имени для перенаправления.

ftp             86400   IN      CNAME       store.cloud.timweb.com.

MX. Указывает хосты для доставки почты, адресованной домену. Поле NAME содержит домен назначения, а поле DATA — приоритет и хост для приёма почты. 

website.ru.             17790   IN      MX      10 mx.website.ru.
website.ru.             17790   IN      MX      20 mx2.website.ru.

NS. Указывает на DNS-сервер, которым обслуживается домен. 

PTR. IP-адрес в доменное имя. Необходимо для обратного преобразования имён.

SOA. Описывает основные настройки зоны.

SRV. Содержит адреса серверов, которые обеспечивают работу внутренних служб домена. Например, Jabber.

CNAME-запись

Обратите внимание: запись CNAME исключает использование других ресурсных записей для поддомена, то есть нельзя одновременно добавить и A-запись, и CNAME-запись.

Чтобы добавить CNAME-запись, укажите:

  • Поддомен — имя поддомена. Обратите внимание: указать CNAME-запись для основного домена невозможно, это обусловлено спецификацией системы DNS;
  • Тип — выберите из списка CNAME;
  • Значения — домен, на который должен ссылаться поддомен.

После этого нажмите Сохранить:

Нажмите TXT, чтобы добавить txt в конфигурацию DNS домена и подтвердить право собственности на домен от Google или andex через ISPmanager
Готово, CNAME-запись появится в списке ресурсных записей вашего домена.

Отладка

При настройке DNS-сервера очень важно внимательно отнестись к журналированию запросов. Это поможет при отладке на начальных стадиях, а во время полноценной работы сервера вы сможете в полной мере контролировать работу служб.

Bind9 позволяет полноценно настраивать правила журналирования — писать в один файл, разные категории помещать в разные журнал и так далее. 

Для того, чтобы записать отладочную информацию в один файл, нужно создать правила журналирования и подключить их в основной конфиг. Для этого создадим файл log.conf:

sudo nano /etc/bind/log.conf

И поместим в него содержимое:

logging {
    channel bind.log {
        file "/var/lib/bind/bind.log" versions 10 size 20m;
        severity debug;
        print-category yes;
        print-severity yes;
        print-time yes;
    };
        category queries { bind.log; };
        category default { bind.log; };
        category config { bind.log; };
};

После этого подключим файл в основной конфиг:

include "/etc/bind/log.conf"

И перезагрузим bind9:

sudo service bind9 restart

Можно создать несколько таких файлов с разными настройками и подключать их  в зависимости от стадии разработки или нагрузки на сервер. 

Заключение

Теперь вы сможете самостоятельно сконфигурировать систему так, чтобы обращаться к реусрсам по имени, а не по IP-адресу. Для этого в качестве примера мы настроили на сервере с OS Ubuntu dns с помощью пакета bind9.

Однако теперь вы должны внимательно следить за основным и вторичным серверами, поскольку они обрабатывают DNS-запросы внутри системы. 

Оцените статью
Хостинги