Ресурсные записи
Ресурсная запись — это главная единица информации в DNS. С помощью ресурсных записей вы определяете, куда направить запросы, поступающие на определенные доменные имена. У ресурсных записей есть следующие параметры:
- Доменное имя.
- Тип записи.
- Время жизни записи (TTL, Time to live) в секундах до актуализации информации о значении записи.
- Значение записи.
Важно
В ресурсных записях поддерживаются только ASCII символы.
Cloud DNS оперирует наборами записей. Набор может содержать одну запись или объединять ресурсные записи с одинаковым именем и типом, но с разными значениями.
Пример набора записей:
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | A | 600 |
|
Наборы записей можно изменять, добавляя или удаляя записи.
Примечание
Все записи одного набора имеют одинаковое значение TTL.
Типы ресурсных записей, поддерживаемых Cloud DNS, указаны ниже.
A
A
— сопоставление доменного имени и IPv4-адреса. Например, запрос A-записи www.example.com
должен вернуть IPv4-адрес вида xxx.xxx.xxx.xxx
.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | A | 600 | 192.0.2.1 |
Подробнее об A-записях см. в RFC-1035.
AAAA
AAAA
— сопоставление доменного имени и IPv6-адреса. Работает аналогично A-записям.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | AAAA | 600 | 2001:db8::1 |
Подробнее об AAAA-записях см. в RFC-3596.
CAA
CAA
— указание авторизованных центров сертификации (Certification Authority Authorization), которым разрешено выпускать сертификаты для зоны и ее подзон.
Запись состоит из следующих частей:
-
FLAG
(флаг) — однобайтовое беззнаковое целое, принимающее два значения:0
— запись не является критичной. Центр сертификации может выпустить сертификат по своему усмотрению.128
— запись является критичной. Центр сертификации не должен выдавать сертификат для FQDN, если соответствующая CAA-запись содержит критическое свойство для неизвестного или неподдерживаемого тега.
-
TAG
(тег) — строка, состоящая из символов латинского алфавита и цифр, определяющая предназначение записи:issue
— определяет центр сертификации, которому разрешен выпуск сертификата для зоны или подзоны.issuewild
— определяет центр сертификации, которому разрешен выпуск сертификатов для зоны и всех ее подзон (wildcard,*.example.com
).- Контактные данные, которые должен использовать центр сертификации для уведомлений владельца зоны о получении запроса на выпуск сертификата с нарушением правил, определенных в CAA-записях:
iodef
— номер телефона, адрес сайта или email в произвольной форме;contactemail
— адрес email;contactphone
— номер телефона.
Если сервер не может обработать незнакомый ему тег, анализируется значение флага:
0
— тег игнорируется;128
— независимо от значения в полеVALUE
запись запрещает выпуск сертификатов для указанной зоны.
-
VALUE
— запись, заключенная в двойные кавычки:""
. Обработка значения в этом поле определяется значением тега.
Имя | Тип | TTL | Значение | Расшифровка |
---|---|---|---|---|
example.com. | CAA | 600 | 128 issue "ca.example.net" | Выпуск сертификата для зоны example.com разрешен только удостоверяющему центру ca.example.net |
example.com. | CAA | 600 | 0 issuewild "ca.example.net" | Центр сертификации ca.example.net может по своему усмотрению выпускать сертификаты для зоны example.com и ее подзон |
example.com. | CAA | 600 | 0 issue ";" | Центрам сертификации запрещено выпускать сертификаты для зоны example.com |
example.com. | CAA | 600 | 0 iodef "mailto:security@example.com" | При нарушении одного из условий, описанных в CAA-записях, следует связаться с владельцем зоны example.com по адресу security@example.com |
example.com. | CAA | 600 | 0 iodef "https://security.example.com/" | При нарушении одного из условий, описанных в CAA-записях, следует связаться с владельцем зоны example.com через сайт https://security.example.com |
Подробнее о CAA-записях см. в RFC-8659.
CNAME
CNAME
— псевдоним для FQDN. С помощью CNAME можно обращаться к разным службам, работающим на одном IP-адресе. Например, CNAME-записи first.example.com
и second.example.com
могут указывать на одну A-запись host.example.com
.
Имя | Тип | TTL | Значение |
---|---|---|---|
first.example.com. | CNAME | 600 | host.example.com. |
second.example.com. | CNAME | 600 | host.example.com. |
host.example.com. | A | 600 | 192.0.2.100 |
Подробнее о CNAME-записях см. в RFC-1035.
MX
MX
— имя сервера, обрабатывающего электронную почту, например mx.example.com
.
Запись состоит из двух частей:
PREFERENCE
— 16-битное целое, задающее приоритет хоста. Чем ниже значение, тем более предпочтительным считается хост.EXCHANGE
— FQDN хоста, обрабатывающего почту в указанной зоне. Значение в этом поле должно указывать на A- или AAAA-запись.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | MX | 600 | 10 mx-primary.example.com. |
example.com. | MX | 600 | 50 mx-reserve.example.com. |
Подробнее о MX-записях см. в RFC-1035.
NS
NS
— запись, содержащая адрес сервера имен, обслуживающего указанную зону.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | NS | 600 | ns1.example.com. |
example.com. | NS | 600 | ns2.example.com. |
Подробнее о NS-записях см. в RFC-1035.
PTR
PTR
— сопоставление IP-адреса и доменного имени.
IP-адрес | Тип | TTL | Значение |
---|---|---|---|
192.0.2.1 | PTR | 600 | host1.example.com. |
192.0.2.2 | PTR | 600 | host2.example.com. |
Подробнее о PTR-записях см. в RFC-1035.
SOA
SOA
— запись, содержащая базовую информацию о зоне. Создается автоматически.
Состоит из следующих частей:
-
MNAME
— доменное имя сервера, обслуживающего зону. Значение по умолчанию:ns.internal.
— для внутренних зон;ns1.yandexcloud.net.
— для публичных зон.
-
RNAME
— доменное имя почтового сервера, обслуживающего зону. Значение по умолчанию —md.cloud.yandex.net
. -
SERIAL
— 32-битное беззнаковое целое, указывающее на номер копии зоны. При синхронизации данных между DNS-серверами проверяется значение в полеSERIAL
. Чем оно больше, тем более свежими считаются данные. Значение по умолчанию —1
.Важно
Сервис Cloud DNS не изменяет значение поля
SERIAL
в SOA-записях при редактировании ресурсных записей зоны. Если вы хотите принудительно обновить кеш DNS-серверов, содержащих информацию о ваших ресурсных записях, увеличьте значение в этом поле вручную. -
REFRESH
— время в секундах между обновлениями информации о ресурсных записях в зоне. Значение по умолчанию —10800
(3 часа). -
RETRY
— время в секундах до очередной попытки обновить сведения о ресурсных записях зоны, если предыдущая была неудачной. Значение по умолчанию —900
(15 минут). -
EXPIRE
— время в секундах, по прошествии которого зона перестанет быть авторитетной. Значение по умолчанию —604800
(7 суток). -
MINIMUM
— минимальное значение TTL в секундах для любой ресурсной записи, экспортируемой из зоны. Значение по умолчанию —86400
(24 часа).
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | SOA | 3600 | ns1.yandexcloud.net. mx.cloud.yandex.net. 1 10800 900 604800 86400 |
example.com. | SOA | 3600 | ns.internal. mx.cloud.yandex.net. 1 10800 900 604800 86400 |
Подробнее о SOA-записях см. в RFC-1035.
SRV
SRV
— запись, указывающая имя хоста и порт сервера, на котором работает определенная служба. SRV-запись должна указывать на A- или AAAA-запись.
Состоит из следующих частей:
Priority
(приоритет) — 16-битное беззнаковое целое число, задающее приоритет хоста. Чем ниже значение, тем более предпочтительным считается хост.Weight
(вес) — 16-битное беззнаковое целое число, задающее вес для хостов с одинаковым приоритетом. Чем ближе значение в этом поле к 0, тем меньше шансов, что хост будет выбран. Если служба работает только на одном хосте, в этом поле укажите значение0
.Port
(порт) — 16-битное беззнаковое целое число, указывающее порт, используемый службой.Target
— FQDN хоста, на котором размещается служба.
Клиент обращается к серверу с наименьшим приоритетом. Если приоритеты одинаковые у нескольких серверов, нагрузка распределяется согласно весам. Укажите приоритет и вес записей, чтобы распределить нагрузку не только между группами серверов, но и внутри групп из нескольких серверов.
Имя | Тип | TTL | Значение |
---|---|---|---|
_sip._tcp.example.com. | SRV | 600 | 10 70 8080 host.example.com. |
_postgresql._tcp.example.com. | SRV | 600 | 10 60 6432 pg-master.example.com. |
_postgresql._tcp.example.com. | SRV | 600 | 10 30 6432 pg-repl1.example.com. |
_postgresql._tcp.example.com. | SRV | 600 | 10 10 6432 pg-repl2.example.com. |
Важно
Сервис Cloud DNS поддерживает только SRV-записи класса IN
. При создании записей указывать префикс IN
не нужно.
Подробнее о SRV-записях см. в RFC-2782.
TXT
TXT
— произвольная запись, позволяющая хранить человекочитаемый текст или структурированные машиночитаемые данные.
В основном применяется для проверки:
-
владения доменом;
-
подлинности сообщений электронной почты:
Реализация работы TXT-записей в Yandex Cloud DNS имеет следующие особенности и ограничения:
-
Сервис использует формат MASTER FILES. Согласно спецификации этого формата, с символа
;
начинается комментарий, т. е. все содержимое после него игнорируется. Если вы хотите использовать символ;
в значении TXT-записи, заключите содержащую его строку в двойные кавычки""
. -
TXT-запись может хранить несколько строк: не длиннее 255 знаков каждая и не длиннее 1024 знаков всего.
-
Символ пробела используется в качестве разделителя. Если во введенной строке есть пробелы, она будет интерпретироваться как несколько строк.
Например, введена строка:
Long string "string with spaces in quotes" #1 and_without_spaces
При сохранении эта строка не изменится, но будет обработана как 5 строк:
"Long" "string" "string with spaces in quotes" "#1" "and_without_spaces"
Если необходимо сохранить пробелы, заключите всю строку в двойные кавычки
""
.
Имя | Тип | TTL | Значение |
---|---|---|---|
example.com. | TXT | 600 | "v=DMARC1; p=none; sp=quarantine; pct=100; rua=mailto: dmarcreports@example.com;" |
big-email._domainkey.example.com | TXT | 6000 | "v=DKIM1; p=76E629F05F70 9EF665853333 EEC3F5ADE69A 2362BECE4065 8267AB2FC3CB 6CBE" |
example.com. | TXT | 6000 | "v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email -all" |