DNS руководство · 5 min read · Jan 17, 2026

Традиционное руководство по DNS - Страница 3

Основной файл зоны

Теперь давайте посмотрим на файл зоны для домена centralsoft:

pri.centralsoft.org

:

| @ IN SOA server1.centralsoft.org. root.localhost. ( 2006012103; серийный номер 28800; обновление, секунды 7200; повторная попытка, секунды 604800; истечение, секунды 86400 ); минимальное, секунды ; NS server1.centralsoft.org.; NS ns0.centralsoft.org. ; ; MX 10 server1.centralsoft.org.; ; centralsoft.org. A 70.253.158.42 www A 70.253.158.42 server1 A 70.253.158.42 ns0 A 70.253.158.45 |

SOA относится к “Start of Authority”. Когда вы смотрите на Рисунок 1, помните, что DNS распределяет свою базу данных. К тому времени, как вы входите в картину, система передала часть всей базы данных вам. Поэтому ваш файл зоны должен указывать, где начинается ваша полномочия. Ваши полномочия начинаются в вашем файле зоны. Ваши серверы верхнего уровня ждут, когда вы выполните свою часть работы.

Поле данных записи SOA содержит несколько компонентов или полей. Вам нужно предоставить данные или ответы в записи, которые позволят другому серверу в Интернете удовлетворить его запрос. Рассматривайте поле данных как компьютерную ЗАПИСЬ, которая имеет несколько полей. Они включают:

  • Имя Корневое имя зоны. Знак “@” является сокращенной ссылкой на текущий источник (зону) в файле /etc/named.conf для этого конкретного файла базы данных. Имя хоста основного сервера для этой зоны - server1.centralsoft.org. Не беспокойтесь, если эта терминология не имеет смысла. Это просто означает, что в конфигурационном файле named.conf запись указывает на этот файл, и этот файл указывает обратно на запись в конфигурационном файле.
  • Класс Существует несколько различных классов DNS. Для наших целей мы будем использовать класс IN или Internet, используемый при определении информации о сопоставлении IP-адресов для BIND. Другие классы существуют для неинтернет-протоколов и функций.
  • Тип Тип записи ресурса DNS. В примере это запись ресурса SOA.
  • Сервер-имя Полное имя вашего основного сервера имен. Должно быть завершено точкой.
  • Электронный адрес Это адрес электронной почты лица, ответственного за домен. Обратите внимание, что вместо знака @ адрес использует точку и завершается точкой. В этом случае адрес электронной почты - это root пользователь или root.localhost. В других приложениях адрес электронной почты будет root@localhost.
  • Серийный номер Серийный номер для текущей конфигурации обычно имеет формат даты YYYYMMDD с увеличенным двузначным номером, добавленным в конце. Это позволяет вам делать несколько правок каждый день с серийным номером, который как увеличивается, так и отражает дату, на которую было внесено изменение. Это числовое значение, которое подчиненный сервер может использовать для проверки, был ли обновлен файл зоны. Подчиненный периодически проверяет серийный номер, чтобы увидеть, изменился ли он. Если да, подчиненный выполнит передачу зоны. 2006012103 - это серийный номер в файле зоны выше.
  • Обновление Это поле говорит подчиненному DNS-серверу, как часто он должен проверять основной. Это поле представляет собой длину в секундах. Каждый цикл обновления подчиненный сервер проверяет, нужно ли ему выполнять передачу зоны. В этом файле мы используем 28800 в качестве значения.
  • Повторная попытка Это поле говорит подчиненному, как часто он должен пытаться подключиться к основному в случае сбоя соединения. Интервал в нашем примере составляет 7200.
  • Истечение Общее количество времени, в течение которого подчиненный должен повторно пытаться связаться с основным, прежде чем истечет срок действия данных, которые он содержит. Будущие ссылки будут направлены на корневые серверы. Это время истечения, длина времени, в течение которого подчиненный сервер должен продолжать отвечать на запросы, даже если он не может обновить файл зоны. Период истечения существует по теории, что устаревшие данные хуже, чем отсутствие данных вообще. В нашем примере мы используем 604800.
  • Минимальное-TTL Это время жизни по умолчанию (TTL) для этого домена в секундах. Будут случаи, когда удаленные клиенты будут делать запросы на подсайты, которые не существуют в ваших записях. Если так настроено, ваш DNS-сервер ответит с ответом “нет домена” или NXDOMAIN, который кэшируется удаленным сервером клиента. Значение TTL определяет продолжительность кэширования вашего DNS-ответа. Значение включается в ответ вашего сервера. Любая запись ресурса, у которой нет указанного TTL, использует этот по умолчанию. Поскольку 86400 секунд - это один день, запись кэша запроса должна истечь через один день.

Следующий тип записи базы данных указывает серверы имен для домена. NS означает сервер имен. Вы уже знаете, что server1.centralsoft.org представляет собой имя хоста основного доменного сервера. Вторичный или подчиненный сервер для этого домена следует за ним. ns0.centralsoft.org - это имя хоста вторичного сервера имен для этого домена.

После серверов имен вы увидите тип записи MX, который идентифицирует почтовый сервер для домена. После почтовой записи вы можете увидеть тип записи A, который сопоставляет имя с IP-адресом. В файле выше у нас есть четыре записи A, которые сопоставляют имена хостов с IP-адресами.

Давайте напишем файл зоны. Вы должны назвать его в честь вашего собственного домена. Мой - pri.centralsoft.org. Назовите ваш файл зоны в честь вашего домена.

Первая строка в нашем файле зоны выглядит так:

| @ IN SOA server1.centralsoft.org. root.localhost. ( |

Знак “@” в строке относится к “источнику” для этого файла зоны, который является server1.centralsoft.org. DNS использует это просто как метку для обозначения записи Start Of Authority (SOA), которая появляется в начале любого файла зоны, определяющего домен. Не придавайте этому слишком большого значения. Если вы много читаете о DNS, вы увидите, что люди используют этот странный термин “текущий источник”. Немногие объясняют, что это значит. Это просто еще один термин.

Следующий элемент в строке “IN” означает Интернет. Люди называют это полем класса. Существует три класса, включая “HS” для серверов Хессиода и “CH”, который означает серверы Chaosnet. Вы увидите только интернет-серверы, так что не беспокойтесь о мелочах.

IETF RFC 1035, Имена доменов - Реализация и спецификация говорит:

Запись SOA хранит информацию о названии сервера, который предоставил данные для зоны; администратора зоны; текущей версии файла данных [серийный номер]; количество секунд, которые вторичный сервер имен должен ждать перед проверкой обновлений; количество секунд, которые вторичный сервер имен должен ждать перед повторной попыткой неудачной передачи зоны; максимальное количество секунд, в течение которых вторичный сервер имен может использовать данные, прежде чем он должен либо обновить, либо истечь; и стандартное количество секунд для времени жизни файла на ресурсных записях.

Что дальше? Почтовый адрес администратора в этом файле - root@localhost. Очевидно, что мой почтовый сервер доставляет локальную почту, поэтому сообщения, связанные с этим процессом, будут отправлены в почтовый ящик root.

На случай, если вы пропустили это, первая строка является только частью записи SOA. У нее есть дополнительные поля. Обратите внимание на “(“ в конце строки. Вот остальная часть записи.

| 2006012103; серийный номер 28800; обновление, секунды 7200; повторная попытка, секунды 604800; истечение, секунды 86400 ); минимальное, секунды |

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

Оставшиеся поля используют секунды для обозначения своих значений. Например, количество секунд, которые вторичный сервер имен должен ждать перед проверкой обновлений, указано в записи обновления. 28800 секунд - это 480 минут или 8 часов.

Также обратите внимание, что запись SOA заканчивается в конце Минимального времени жизни (TTL). Вы можете увидеть символ “)”, который закрывает значения записи.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.