DNS записи простыми словами
Что означают записи A, AAAA, CNAME, MX, TXT, NS, SRV и CAA, что такое TTL и почему CNAME нельзя поставить на корень домена.
Содержание9
Коротко
- DNS отвечает на вопросы, на какой сервер вести имя сайта и куда доставлять почту. Ответы хранятся в записях.
- Запись состоит из имени, типа, значения и TTL.
- A и AAAA ведут на IP-адрес, CNAME делает псевдоним, MX отвечает за почту, TXT хранит текст, NS указывает, кто обслуживает зону.
- CNAME на корне домена обычно нельзя, а Cloudflare обходит это через CNAME flattening.
- После правки подождите от нескольких минут до суток и проверьте результат через
digилиnslookup.
Что такое DNS
DNS работает как телефонная книга интернета. По имени сайта, например example.com, он подсказывает, на каком сервере лежит сайт и куда доставлять почту. Каждая такая подсказка называется записью.
Из чего состоит запись
У записи четыре части: имя (@, www, mail), тип, значение и TTL. Корень домена (example.com, в панелях его часто обозначают @) и поддомен (www.example.com, app.example.com) считаются разными именами, и записи у них свои.
Основные типы
Тип Имя Значение
A example.com 203.0.113.10
AAAA example.com 2001:db8::10
CNAME www.example.com example.com
MX example.com 10 mx.example.com
TXT example.com v=spf1 include:_spf.example.com ~all
NS example.com ns1.dns-provider.example
SRV _sip._tcp.example.com 10 60 5060 sip.example.com
CAA example.com 0 issue "letsencrypt.org"
- A связывает имя с IPv4-адресом, AAAA делает то же для IPv6.
- CNAME делает имя псевдонимом другого имени и берёт все данные у него.
- MX указывает, куда доставлять почту домена. Число задаёт приоритет: чем оно меньше, тем раньше используется сервер. В значении нужно имя сервера, а не IP-адрес.
- TXT хранит произвольный текст. Через него работают SPF, DKIM, DMARC и подтверждения владения.
- NS называет серверы, которые обслуживают DNS-зону домена и отвечают на запросы о ней.
- SRV (кратко) задаёт хост и порт для конкретного сервиса, например SIP или XMPP, а в значении есть приоритет, вес, порт и хост.
- CAA (кратко) перечисляет центры сертификации, которым можно выпускать сертификаты для домена. Если записи нет, ограничений нет.
Почему CNAME нельзя на корне
CNAME говорит, что имя целиком является псевдонимом другого имени, поэтому рядом с ним не может быть других записей. У корня домена всегда есть служебные записи (NS и SOA) и обычно ещё MX и TXT, поэтому стандарт DNS не позволяет поставить туда CNAME.
Обходных путей несколько: A-запись с IP-адресом, запись ALIAS или ANAME там, где провайдер её поддерживает, и CNAME flattening в Cloudflare. В последнем случае вы создаёте CNAME на корне, а при ответе Cloudflare подставляет адреса A и AAAA.
TTL
TTL задаёт время в секундах, на которое чужие серверы запоминают ответ. Маленькое значение (например, 300 секунд) быстрее применяет правки, большое снижает число запросов. Перед переездом на другой сервер заранее уменьшите TTL, а когда всё стабильно, верните прежний.
Подтверждение домена через TXT
Почтовые, рекламные и другие сервисы просят доказать, что домен ваш, и дают строку вроде example-verification=abc123. Вы добавляете TXT-запись с этой строкой на указанное имя (чаще всего @). Сервис запрашивает DNS и, увидев значение, считает, что домен в ваших руках.
Копируйте значение целиком, без лишних пробелов. Не удаляйте запись сразу: некоторые сервисы перепроверяют её позже. У одного имени может быть несколько TXT-записей, но запись SPF (v=spf1) должна быть только одна.
Как проверить и сколько ждать
dig example.com A +short
dig example.com MX +short
dig example.com TXT +short
nslookup -type=NS example.com
Новые записи обычно видны через несколько минут, но старые ответы живут до конца TTL, а при смене NS ожидание может занять до суток. Посмотреть ответы из разных регионов можно на https://dnschecker.org или https://whatsmydns.net. Как подключить домен к серверу, читайте в статье как привязать домен к хостингу, а про почтовые записи в статье почта на своём домене.
Если не получилось
- Запись не видна: проверьте командой
dig example.com NS +short, что вы добавили её там, где сейчас находится DNS домена, а не у прежнего провайдера. - В панелях имя обычно вписывают без домена:
www, а неwww.example.com. Иначе некоторые панели создадут имяwww.example.com.example.com. - CNAME не сохраняется: на этом имени уже есть другая запись. Удалите её или замените CNAME на A.
- Подтверждение через TXT не проходит: проверьте имя записи и значение на лишние пробелы и кавычки, затем подождите обновления.
- Вы видите старый ответ: дождитесь конца TTL или очистите кэш DNS на своём устройстве.
Читайте также
Как и где купить домен
Какую зону выбрать, что проверить перед оплатой, чем регистратор отличается от перепродавца и как не потерять домен.
4 мин чтенияКак подключить домен к Cloudflare
Как добавить домен в Cloudflare, сменить NS, выбрать режим SSL/TLS и понять разницу между оранжевым и серым облаком.
4 мин чтенияКак привязать домен к хостингу
Что такое A-запись и NS, как подключить домен к хостингу или VPS и как проверить, что всё заработало.
4 мин чтения