Linux

Немного о DNS

DNS (англ. Domain Name System — система доменных имён) — это система, позволяющая преобразовывать символьные имена доменов в IP-адреса (и наоборот).

Доменная система имен имеет иерархическую структуру, использующую произвольное количество составных частей (domain), отделяемых друг от друга точкой (.). В Internet корневой домен или домен верхнего уровня управляется центром InterNIC. Создана система двухбуквенных доменов верхнего уровня для каждой страны (около 300):
US-США,
CA-Канада,
DE-Германия,
RU-Россия,
SU-бывший СССР,
FR-Франция,
FI-Финляндия,
IT-Италия,
CH-Швейцария,
UK-Великобритания.

А также для различных типов организаций:
COM-коммерческие организации;
EDU-учебные заведения;
GOV-правительственные учреждения;
MIL-военные учреждения;
ORG-прочие организации;
NET-сетевые ресурсы.
В России за домен .RU отвечает «Координационный центр домена RU».

 

Для определения IP-адреса по доменному имени используется служба DNS, состоящая из множества DNS-серверов, содержащих распределенную базу отображений «доменное имя — IP адрес». В каждой сети должен быть хотя бы один DNS-сервер, который поддерживает локальную базу данных доменных имен и выполняет поиск IP-адреса по доменному имени.
Этот поиск осуществляется следующим образом:

  • выполняется запрос к локальному DNS-серверу;
  • если DNS-сервер знает ответ, то возвращает его клиенту (соответствующая запись находится в его таблице или в кэш-памяти);
  • если DNS-сервер не знает ответа, то обращается по ссылке к следующему DNS-серверу, пока соответствующая запись не будет найдена (рекурсивная схема).

Имя хоста и IP-адрес не тождественны — хост с одним IP-адресом может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество IP адресов.

Рассмотрим подробно записи DNS, для чего они нужны:

Запись SOA (start of authority record ) указывает, на каком сервере хранится эталонная информация о данном домене:

Start Of Authority 
example.org.    86400   IN      SOA     ns1.xxxxxx.net.ru. noc.xxxxxx.com. ( 
2006092102      ; Serial 
10800   ; Refresh 
1800    ; Retry 
3600000 ; Expire 
86400 ) ; Minimum TTL 


Эта запись создается при заведении зоны для домена. Если этой записи нет, от регистратора приходят сообщения об ошибке вида:

 С DNS-сервера ns1.xxxxxx.net.ru.(x.x.x.x) не удается получить SOA-запись для домена EXAMPLE.ORG. 

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

Поле время отсутствует. Класс — IN (Internet), тип — SOA, а остальные элементы составляют поле данные.

Сервер ns1.xxxxxx.net.ru — основной сервер имен этой зоны.

Запись noc.xxxxxx.com указывает адрес электронной почты для технических контактов в формате пользователь.машина, (а не пользователь@машина).

 

Serial — Серийный номер. Серийный номер файла зоны. Он должен увеличиваться каждый раз при внесении изменений в данные домена. Когда вторичный сервер хочет проверить необходимость обновления данных, он проверяет серийный номер записи SOA на первичном сервере.

Refresh — Обновление. Время в секундах, определяющее частоту проверок вторичным сервером серийного номера на первичном и запускающее новый обмен, если на первичном имеются новые данные.

Retry — Повтор. Когда вторичный сервер не может подключиться к первичному, по истечении времени обновления (например, если хост отключен), этим значением определяется время задержки в секундах между повторными попытками обновления.

Expire — Срок. Если повторные попытки обновления не привели к успеху в течение этого времени, вторичный сервер уничтожает свою копию данных файла(ов) зоны и прекращает отвечать на запросы для этого домена. Это позволяет остановить повторение и циркуляцию очень старых и потенциально неточных данных.

TTL — Время жизни. Это поле определяет время в секундах, в течение которого запись ресурса этой зоны остается действительной в кэше других серверов. Если данные изменяются, это значение должно быть маленьким. TTL — это часто используемая аббревиатура, расшифровываемая как «Time To Live» (время жизни).

Запись NS (name server) указывает на DNS-сервер для данного домена.

NameServers 
example.org IN NS ns2.xxxxxx.ru 
example.org IN NS ns1.xxxxxx.ru 

 

Запись MX (mail exchange) или почтовый обменник указывает сервер обмена почтой для данного домена.

Mail eXchangers 
example.org	   IN MX	10	cluster.relay.xxxxxx.net 
example.org   IN MX	20	mail.example.org 

Цифра, указанная перед «cluster.relay.xxxxxx.net», — это величина приоритета, меньшая цифра означает больший приоритет. Записи MX используются системой электронной почты для более эффективной маршрутизации почты. С помощью записей MX производится посылка почтовых сообщения не напрямую адресату, а на почтовый сервер на узле получателя.

В приведенном выше примере почта будет приходить на сервер cluster.relay.xxxxxx.net в первую очередь (приоритет 10 < 20), если этот сервер откажет — на mail.example.org.

Запись A (address record) — запись адреса связывает хост с адресом IP.

INternet Addresses
example.org IN A 192.0.2.77

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

 

Запись AAAA (address record для IPv6) — запись адреса связывает хост с адресом IPv6.

Запись AAAA является полным эквивалентом записи типа А, которая описывалась выше, с одним исключением — IPv6 адрес имеет другой вид. Например:

example.org IN A 2a03:4900:0:3::96:156

Для внесения изменений в зону своего домена, перейдите к пункту Редактирование записей DNS в личном кабинете данной инструкции.

 

Запись CNAME (canonical name record) или каноническая запись имени используется для перенаправления на другое имя.

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

somename.xxxxxx.org IN CNAME xxxxxx.ru

Обратите внимание: мы не заводим CNAME для доменов второго уровня. Только для поддоменов.

Запись TXT: Text (текст) Свободное текстовое поле, иногда заполняется специфичными для сайта дополнительными данными.

Запись ТХТ используется для добавления произвольного текста к DNS-записям машины. Например, следующие записи определяют организацию:

IN ТХТ "University of CO, Boulder Campus, CS Dept" 
IN ТХТ WP-PH://directory.сolorado.edu/105 
IN ТХТ WP-SMTP-EXPN-Finger://ns.cs.сolorado.edu 

В рамках TXT-записей используются так называемые SPF-записи (Sender Policy Framework), не дающие спаммерам рассылать письма от имени доменов, которые им не принадлежат.

SPF позволяет владельцу домена указать в TXT-записи DNS-сервера специальным образом сформированную строку, указывающую список серверов, способных отправлять email сообщения от имени этого домена.

Агенты передачи почты, получающие почтовые сообщения, могут запрашивать SPF-информацию с помощью простого DNS запроса, верифицируя таким образом сервер отправителя.

Пример SPF данных в TXT-записи DNS:

example.org. IN TXT "v=spf1 a mx -all"

v= определяет используемую версию SPF. Далее следует перечисление механизмов верификации: в данном случае «a» и «mx» разрешает отправку писем для всех записей A и MX домена example.org. Строка завершается «-all» — указанием того, что сообщения, не прошедшие верификацию с использованием перечисленных механизмов, следует игнорировать.

Запись PTR (Pointer) — запись-указатель «обратной зоны».

Задача поиска доменного имени по IP-адресу является обратной к прямой задаче — поиску IP-адреса по доменному имени. Как было сказано выше, прямая задача решается в DNS при помощи записей типа A (Address). Обратная же задача решается при помощи записей-указателей типа PTR (Pointer), которые совместно с записями SOA и NS составляют описание так называемой «обратной» зоны.

Решением «обратной» задачи занимается специальный домен, структура которого совпадает со структурой IP-адресов. Называется этот домен IN-ADDR.ARPA.

SRV-записи (Server selection) указание на местоположение серверов для определенных сервисов, например, Jabber, Active Directory.

Отставить комментарий

Ваш электронный адрес не будет опубликован.Обязательные для заполнения поля отмечены *

1 + два =