Записи DNS: Как работают записи DNS?

Система доменных имен (DNS) гарантирует, что пользователи могут ввести домен в браузере и попасть на нужный им сайт. На самом деле, участники сети в основном общаются через IP-адреса. Однако, поскольку они довольно громоздки, вам нужно вводить только название сайта, поскольку оно автоматически переводится в последовательность цифр. Как работает этот перевод?

Что такое DNS-записи?

Когда вы вводите в браузере интернет-адрес, система сначала должна найти, какой IP-адрес принадлежит этому домену. Иногда это происходит даже в памяти самого компьютера, часто — в базе данных интернет-провайдера или других DNS-серверов, а в случаях неопределенности — через один из крупных корневых серверов, которые контролируют всю систему доменных имен как авторитетные организации. Для того чтобы выполнить разрешение имени, записи DNS, а именно записи ресурсов, должны быть найдены в DNS и/или серверах имен. Здесь каждому IP-адресу (известному серверу) присваивается доменное имя.

DNS имеет иерархическую и децентрализованную структуру. На каждом уровне есть сервер, который отвечает за свое пространство имен. Это означает, что при поиске IP-адреса www.example.com корневой сервер помогает только в том случае, если он знает, какой сервер отвечает за домен верхнего уровня (TLD). Таким образом, для выполнения разрешения имен прогоняются отдельные уровни. Это означает, что IP-адрес реального веб-сервера или почтового сервера принадлежит только самому хосту. По этой причине операторам веб-сайтов важно понимать концепцию записей ресурсов.

Как работают записи DNS?

Записи DNS в основном располагаются в файлах зон. Применительно к DNS зона обозначает организационную область. Домен может состоять из одной зоны. Однако обширные домены часто делятся на несколько зон. Каждый сервер DNS отвечает за одну зону. Поэтому если клиент хочет активировать определенный домен, он (а точнее, DNS-сервер) ищет в файлах зоны соответствующие записи и пересылает запрос на сервер более низкого уровня, пока не будет достигнут конечный пункт назначения.

Синтаксис записей DNS

Записи ресурсов структурированы по простой системе и закодированы в ASCII. Для каждой записи DNS существует отдельная строка. Записи обычно имеют следующий формат:

<name> <ttl> <class> <type> <rdlength> <radata>

Дискретная информация разделяется пробелом, а некоторые виды информации являются необязательными. В некоторых типах записей появляются также дополнительные поля. Но что представляют собой ключевые поля записи?

  • <имя>: Доменное имя — это имя, которое пользователь вводит в своем браузере.
  • <ttl>: TTL означает «время жизни» и обозначает время (в секундах), в течение которого запись может временно храниться в кэше. По истечении этого времени нельзя гарантировать, что запись ресурса все еще актуальна. Эта информация является необязательной.
  • <класс>: Теоретически существуют различные классы записей DNS. Однако на практике записи всегда относятся к интернету (помечены как IN), поэтому эта информация также является необязательной.
  • <тип>: Различные типы записей ресурсов появляются в файле зоны (подробнее об этом см. ниже).
  • <rdlength>: Это необязательное поле определяет размер последующего поля данных.
  • <rdata>: Данные ресурса — это информация, по которой можно разрешить доменное имя (например, IP-адрес).

Таким образом, запись DNS для веб-сервера example.com выглядит следующим образом:

www.example.com. 12879 IN A 93.184.216.34

Клиент может хранить эту запись в кэше 12 879 секунд (около трех с половиной часов), прежде чем информация снова будет запрошена у DNS-сервера. Для этого используется запись DNS в интернете (IN) и запись типа A (A). Домен преобразуется в IP-адрес.

Возможна и другая нотация:

$TTL 12879
$ORIGIN example.com.
www A 93.184.216.34

Эта нотация показывает, что компьютер с именем www является частью домена example.com. Таким образом, другие компьютеры, такие как mail или ftp, могут быть помещены в домен origin.

Примечание

Доменное имя заканчивается (или начинается, поскольку движение идет справа налево) точкой. Полностью определенные доменные имена (FQDN), в которых также присутствует корневая метка (хотя и пустая), используются в записях DNS. Обычно она располагается после точки.

Наиболее важные типы записей DNS

Тип записи определяет, какая информация содержится в ней. Помимо разрешения доменных имен в соответствии с IP-адресами, записи DNS выполняют и другие функции.

Запись A

Большая часть разрешения имен в Интернете происходит через запись типа A. В ее поле данных находится адрес IPv4. С помощью этих записей пользователь Интернета может ввести доменное имя в браузер и отправить HTTP-запрос на соответствующий IP-адрес. Поскольку адрес IPv4 всегда имеет размер 4 байта, значение параметра rdlength — если он указан — всегда равно 4.

Запись AAAA

Запись AAAA, также известная как «квадрат A», функционирует точно так же, как и запись A. Однако для разрешения имени используется адрес IPv6 вместо адреса IPv4. Поскольку длина IPv6 составляет 128 бит (16 байт), длина поля данных здесь также предопределена. Обозначение AAAA основано на том, что длина поля данных в четыре раза больше длины поля данных записи A.

Запись SOA

SOA расшифровывается как Start of Authority (начало полномочий). Записи этого типа содержат информацию о зоне, которая организована файлом зоны и/или сервером DNS. Это важно — среди прочих сценариев — во время переноса зоны. Здесь файлы зон зеркалируются на другие серверы для предотвращения сбоев. Перенос зоны регулирует периодическое распространение исходного файла. Поэтому в такой записи DNS рядом с почтовым адресом ответственного администратора также ставится серийный номер. Он увеличивается с каждым обновлением файла.

Запись CNAME

В записи CNAME (запись канонического имени) содержится псевдоним — дополнительное имя для домена. С его помощью запись ссылается на существующую запись A или AAAA. В этом типе поле rdata заполняется доменным именем, которое ранее было связано с IP-адресом в файле. Таким образом, разные адреса могут ссылаться на один и тот же сервер.

Запись MX

Запись MX относится к почтовому обмену или серверу электронной почты SMTP. Здесь указывается один или несколько почтовых серверов, принадлежащих соответствующему домену. При использовании нескольких почтовых серверов (например, для компенсации сбоя) указывают разные уровни приоритета. Таким образом, DNS знает, в какой последовательности должна осуществляться попытка контакта.

PTR-запись

PTR-запись (указатель) — это запись DNS, позволяющая осуществлять обратный поиск. С помощью этой техники DNS-сервер может также предоставлять информацию о том, какие имена хостов принадлежат определенному IP-адресу. Для каждого IP-адреса, который используется в записях A или AAAA, также существует соответствующая запись PTR. При этом IP-адрес структурируется в обратной последовательности и также снабжается именем зоны.

NS-запись

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

TXT-запись

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

SRV-запись

С помощью записи SRV сервер может предоставлять информацию о других службах (SRV). Для этого указывается служба, включая порт, через который с ней можно связаться. Кроме того, используемый протокол является частью имени. Через запись DNS клиент может получить информацию о службах LDAP или XMPP.

Запись LOC

С помощью записи LOC можно раскрыть местоположение физического сервера. Для этого в конце записи указываются широта, долгота, высота над уровнем моря, а также отклонение от нормы.

Совет

Узнайте больше о «Что такое распространение DNS?» в статье нашего цифрового руководства по этой теме.

Файл зоны

В файле зоны (тип простого текстового файла) перечислены все записи DNS. Для того чтобы данные правильно обрабатывались, необходимо соблюдать определенные правила. В противном случае DNS не сможет функционировать, и клиент получит сообщение об ошибке SERVFAIL. По этой причине необходимо придерживаться специальной структуры: Вначале указывается имя зоны, а затем, во многих случаях, TTL. Добавление информации о времени прямо здесь имеет то преимущество, что в отдельных записях ресурсов эта информация может быть опущена. В этом случае TTL действует глобально для всей зоны.

$ORIGIN example.com.
$TTL 12879

Первая запись DNS — это запись SAO. Без нее файл зоны не может функционировать. И наоборот, файл зоны будет действителен только при наличии записи SOA. После этого идут первые записи для сервера имен, а затем записи A и AAAA.

Если в файл необходимо добавить комментарии — например, чтобы облегчить работу другим администраторам, — следует использовать точки с запятой. Таким образом, информация о записи DNS создается без обработки текста сервером. Вы можете вставлять пустые строки для структурирования записей. Они также просто игнорируются системой при считывании. Для каждой записи используется одна строка; перевод строки завершает запись. Если вы хотите, чтобы запись занимала несколько строк, добавьте скобки.

Все типы записей DNS в кратком изложении

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

Примечание

Организация Internet Assigned Numbers Authority (IANA), в обязанности которой также входит распределение IP-адресов, присвоила каждому типу записи DNS значение (своего рода идентификационный номер).

Значение Тип Описание
1 A Адрес указывает IPv4-адрес хоста.
2 NS Сервер имен уточняет полномочия зоны.
3 MD Место назначения почты было заменено записью MX (устаревшей).
4 MF Mail Forwarder был заменен записью MX (устаревшая).
5 CNAME Каноническое имя определяет псевдоним.
6 SOA Начало полномочий раскрывает подробную информацию о зоне.
7 MB Почтовый ящик Доменное имя является экспериментальным.
8 MG Член почтовой группы является экспериментальным.
9 MR Mail Rename Domain Name является экспериментальным.
10 NULL Null Ресурс является экспериментальным.
11 WKS Well Known Service использовался для пересылки почты (сейчас устарел).
12 PTR Указатель предназначен для обратного поиска.
13 HINFO Информация о хосте содержит сведения об аппаратном и программном обеспечении хоста.
14 MINFO Информация о почтовом ящике является экспериментальной.
15 MX Почта Exchange присваивает почтовым серверам домен.
16 TXT Текст предоставляет возможность ввода дополнительных текстов.
17 RP Ответственное лицо предоставляет информацию об ответственном лице.
18 AFSDB AFS Database предназначена специально для клиентов AFS.
19 X25 X.25 PSDN Address предоставляет подробную информацию об инкапсуляции через X.25 (устарело).
20 ISDN Эта запись присваивает имени DNS номер ISDN (устарела).
21 RT Route Through Запись обеспечивает привязку сквозного маршрута без адреса WAN (устарела).
22 NSAP Эта запись позволяет назначать доменные имена точкам доступа сетевых служб (устарела).
23 NSAP-PTR Указатель NSAP был заменен на PTR (устарело).
24 SIG Подпись была заменена на RRSIG (устаревшее).
25 KEY Ключ был заменен на IPSECKEY (устаревший).
26 PX Указатель на X.400 определяет правила отображения MIXER (устарело).
27 GPOS Географическое положение заменено на LOC (устарело).
28 AAAA AAAA предоставляет IPv6-адрес хоста.
29 LOC Location содержит информацию о местоположении.
30 NXT Next был заменен на NSEC (устаревший).
31 EID Идентификатор конечной точки предназначен для архитектуры маршрутизации Nimrod (устарела).
32 NIMLOC Nimrod Locator предназначен для архитектуры маршрутизации Nimrod (устаревшая).
33 SRV Service Locator предоставляет информацию о других службах.
34 ATMA ATM Address предоставляет информацию при наличии асинхронных режимов передачи (устарело).
35 NAPTR Naming Authority Pointer — расширение записи A, позволяющее использовать шаблон поиска (регулярные выражения).
36 KX Key Exchanger обеспечивает управление ключами для криптографии.
37 CERT Cert сохраняет сертификаты.
38 A6 A6 было заменено на AAAA.
39 DNAME Имя делегирования определяет псевдонимы для полных доменов.
40 SINK Kitchen Sink позволяет хранить различные данные (устарело).
41 OPT Опция — это псевдозапись при наличии механизма расширения DNS (EDNS).
42 APL Список префиксов адресов перечисляет области адресов в формате CIDR.
43 DS Delegation Signer идентифицирует зоны, подписанные DNSSEC.
44 SSHFP SSH Public Key Fingerprint раскрывает отпечаток пальца для ключей SSH.
45 IPSECKEY IPsec Key содержит ключ IPsec.
46 RRSIG RR Signature содержит цифровую подпись для DNSSEC.
47 NSEC Следующий защищенный поток подписывает зоны в DNSSEC.
48 DNSKEY DNS Key содержит открытый ключ для DNSSEC.
49 DHCID Идентификатор DHCP связывает доменные имена с клиентами DHCP.
50 NSEC3 Next Secure 3 — альтернатива NSEC.
51 NSEC3PARAM Эта запись содержит параметр для NSEC3.
52 TLSA Эта запись выдает ассоциацию сертификата TLSA с доменным именем, относящимся к DANE.
53 SMIMEA Эта запись выдает ассоциацию сертификатов S/MIME с доменным именем.
54 н/а Не назначено
55 HIP Host Identity Protocol отделяет маркеры конечных точек и функции позиционирования от IP-адресов.
56 NINFO NINFO предоставляет информацию о состоянии зоны (та же структура, что и TXT; устарела).
57 RKEY RKEY сохраняет ключи (та же структура, что и KEY и DNSKEY; устарело).
58 TALINK Trust Anchor Link соединяет два доменных имени (устарело).
59 CDS Child DS — дочерняя копия записи DS.
60 CDNSKEY Child DNSKEY — дочерняя копия записи DNSKEY.
61 OPENPGPKEY Ключ OpenPGP раскрывает открытые ключи.
62 CSYNC Синхронизация между родителями позволяет согласовывать родительские и дочерние зоны (устарело).
63 ZONEMD Дайджест сообщений для зоны DNS является экспериментальным (устарело).
64-98 н/а Не назначено.
99 SPF Sender Policy Framework была заменена записью TXT (устаревшая).
100 UINFO Зарезервировано.
101 UID Зарезервировано.
102 GID Зарезервировано.
103 UNSPEC Зарезервировано.
104 NID NodeID экспериментальный.
105 L32 32-битный локатор является экспериментальным.
106 L64 64-битный локатор является экспериментальным.
107 LP Указатель локатора является экспериментальным.
108 EUI48 48-битный расширенный уникальный идентификатор шифрует адреса.
109 EUI64 64-битный расширенный уникальный идентификатор шифрует адреса.
110-248 н/а Не назначен.
249 TKEY Ключ транзакции позволяет обмениваться секретными ключами.
250 TSIG Подпись транзакции используется для аутентификации.
251 IXFR Incremental Zone Transfer позволяет обновлять компоненты файла зоны на втором сервере (устарело).
252 AXFR AFXR переносит полный файл зоны на второй сервер (устарело).
253 MAILB Mailbox запрашивает записи, относящиеся к почтовому ящику (устарело).
254 MAILA Почтовый агент был заменен MX-записью (устаревшая).
255 * * запрашивает все записи (устаревшее).
256 URI Унифицированный идентификатор ресурса раскрывает отображение имен хостов на URI.
257 CAA Certificate Authority Authorization определяет возможные центры сертификации домена.
258 AVC Application Visibility and Control содержит метаданные приложения для DNS-AS (устарело).
259 DOA DOA больше не активен (устарел).
260 AMTRELAY Automatic Multicast Tunneling Relay позволяет находить AMT-реле (устарело).
261-32767 н/д Не назначен.
32768 TA DNSSEC Trust Authorities позволяет DNSSEC без подписанных корней.
32769 DLV DNSSEC Lookaside Validation раскрывает якоря доверия за пределами стандартной цепочки DNS.
32770-65279 н/а Не назначен.
65280-65534 н/д Для частного использования.
65535 н/д Зарезервировано.

Оцените статью
cdelat.ru
Добавить комментарий