Это не скучная техничка, а основа основ. DNS-записи — это как инструкции для интернета: куда идти за сайтом, куда нести почту, как подтвердить владение. Я сам не раз наступал на грабли с настройкой DNS записей, пока не разложил для себя всё по полочкам. Делиться буду именно этим опытом.
Что вообще такое DNS и зачем мне, веб-мастеру, в этом копаться?
Представь себе огромную телефонную книгу интернета. Ты ищешь красивое имя «мой-сайт.ru», а книга тебе выдает цифровой адрес сервера, где этот сайт живет. Это и есть DNS (Domain Name System). А DNS записи — это конкретные строчки в этой книге. Без них домен — просто красивая вывеска, которая никуда не ведет.
Вот главные «работяги», с которыми ты столкнешься:
- A запись — фундамент, связывает домен с IP-адресом твоего хостинга.
- CNAME — создает псевдонимы, типа «www» для основного домена.
- MX запись — дирижирует всей электронной почтой твоего домена.
- TXT запись — нужна для безопасности (чтобы тебя не подделали) и всяких верификаций.
И еще один важный параметр — TTL (Time To Live). Грубо говоря, это срок годности инструкции в кеше. Меняешь что-то? Поставь TLL поменьше, скажем, 300-900 секунд. Всё стабильно? Оставляй 3600+ для скорости. Иначе будешь сутки ждать, когда обновятся данные у провайдеров.
Запись A: старый добрый указатель на IPv4
Самая базовая штука. A запись просто говорит: «Эй, браузер, если кто-то ищет example.com, веди его на сервер с IP-адресом 192.0.2.1». Всё. Именно по этому принципу открывается 99% сайтов.
Когда её использовать? Да почти всегда! Для основного домена (иногда в панелях пишут символ @) и для поддомена «www». Можно даже создать несколько A записей с одним именем, но разными IP — это примитивный способ балансировки нагрузки.
Вот как это выглядит в панели управления (cPanel, Cloudflare или у твоего регистратора):
Тип: A Имя/Host: @ (или просто оставляем пустым для основного домена) Значение/Address: 192.0.2.1 TTL: 3600
А для «www» создаешь еще одну, где Имя/Host будет «www», а значение — тот же самый IP.
Важный момент! Это IPv4-адрес. Но мир постепенно переходит на IPv6. Для него есть отдельная AAAA запись, где значение — длиннющая штука типа «2001:db8::1». Если твой хостинг поддерживает IPv6, добавь и её тоже. Без неё часть пользователей (с новыми протоколами) может не увидеть сайт.
| Тип записи | Для чего нужна | Пример значения | Насколько важна? |
|---|---|---|---|
| A | Указывает IPv4-адрес сервера | 192.0.2.1 | Обязательна для работы сайта в текущем интернете |
| AAAA | Указывает IPv6-адрес сервера | 2001:db8::1 | Настоятельно рекомендуется для будущей совместимости |
А что с IPv6? Запись AAAA
Не буду грузить деталями, но адреса IPv4 заканчиваются. AAAA запись — это ее аналог для нового пространства адресов IPv6. Если хочешь, чтобы твой сайт был готов к будущему (и некоторые мобильные операторы уже этим будущим живут), настрой и ее. Процесс такой же, как с A-записью, только значение другое.
CNAME: удобные псевдонимы, но с подводными камнями
Любимая и одновременно самая проблемная запись. CNAME (Canonical Name) — это не указатель на IP, а указатель на другое доменное имя. Типа «blog.example.com — это на самом деле тот же самый сайт, что и www.example.com». Удобно! Меняешь IP в одной A записи, а все CNAME на нее автоматически подхватывают изменение.
Но тут начинаются строгие правила протокола DNS, которые все постоянно нарушают, а потом удивляются, почему ничего не работает.
- Нет CNAME на корневой домен! На сам example.com (апекс) CNAME ставить нельзя. Точка. Для этого есть специальные записи ALIAS или ANAME у некоторых DNS-хостеров (типа Cloudflare), которые имитируют поведение CNAME для корня.
- CNAME — эгоист. Если для поддомена создан CNAME, ты не можешь добавить к нему другие записи (MX, TXT, A). Он переопределяет всё.
Пример правильной настройки для поддомена «www»:
Тип: CNAME Имя/Host: www Значение/Target: example.com. (обрати внимание на точку в конце!) TTL: 3600
| Характеристика | A запись | CNAME |
|---|---|---|
| Что указывает | Непосредственно IP-адрес | Другое доменное имя (алиас) |
| Работает на корневом домене? | Да | Нет (только поддомены) |
| Можно ли добавить другие записи рядом? | Да (MX, TXT и т.д.) | Нет, запрещено протоколом |
| Где использовать | Основной сайт, почтовый сервер | Алиасы (www, blog, shop) |
MX-записи: дирижируем доставкой почты
Хочешь почту вида [email protected]? Без правильно настроенных MX записей — никак. Они указывают не на IP, а на hostname почтового сервера. И у них есть приоритеты (цифры). Чем число МЕНЬШЕ — тем приоритет ВЫШЕ. Сервер с приоритетом 10 будет основным, а с приоритетом 20 — резервным на случай падения первого.
Как это выглядит в реальности? Допустим, ты настраиваешь почту на своем хостинге. Тебе нужно две записи:
1. Тип: MX Имя/Host: @ Приоритет: 10 Значение/Адрес: mail.tvoj-domain.ru. TTL: 3600 2. Тип: A Имя/Host: mail Значение: 192.0.2.10 (IP-адрес твоего почтового сервера)
Видишь связку? MX запись ведет на имя «mail.tvoj-domain.ru», а это имя, в свою очередь, уже через A запись связано с конкретным IP. Это важно! Прямой IP в MX впихнуть нельзя.
Если берешь корпоративную почту у Google (Gmail) или Яндекс, они просто дадут тебе свои MX записи. Останется только скопировать их в панель. Например, для Google это будут что-то вроде aspmx.l.google.com с разными приоритетами.
TXT-записи: охранники и верификаторы
На первый взгляд, самая простая — просто текст. Но именно TXT записи защищают твою почту от спама и позволяют подтвердить, что домен твой. Без них письма с твоего домена будут лететь прямиком в спам, а подключить Google Search Console не получится.
Основные сценарии:
- SPF (Sender Policy Framework): Белый список серверов, которым разрешено отправлять письма от твоего имени. Без него любой может слать спам, подделав твой адрес.
- DKIM (DomainKeys Identified Mail): Цифровая подпись для каждого письма. Почтовые сервисы проверяют ее и убеждаются, что письмо не подделали.
- Верификация домена: Когда подключаешь Яндекс.Метрику, Google Search Console, SSL-сертификаты — они просят добавить уникальную TXT запись для подтверждения прав.
Пример SPF-записи для домена, который отправляет почту через Google Workspace:
Тип: TXT Имя/Host: @ Значение: "v=spf1 include:_spf.google.com ~all" TTL: 3600
Обрати внимание на кавычки! Обычно значение TXT записи нужно вводить в двойных кавычках. Это частая ошибка.
Как выглядит полный набор для простого сайта с почтой?
Давай соберем всё вместе. Вот типичный набор DNS записей для домена example.com с сайтом на хостинге и почтой на том же сервере:
@ A 192.0.2.1 (сайт) www CNAME example.com. (алиас www) @ MX 10 mail.example.com. (почта, приоритет 10) mail A 192.0.2.1 (тот же IP для почтового сервера) @ TXT "v=spf1 a ~all" (разрешаем отправку с этого IP) _dmarc TXT "v=DMARC1; p=none;" (настраиваем политику DMARC)
Частые косяки и как их избежать (личный опыт)
Поверь, я наделал кучу ошибок, пока во всем разобрался. Ловушки, в которые попадают все:
- Терпение, только терпение. Изменения в DNS распространяются (пропагируются) от 1 до 48 часов. Не паникуй, если сразу не работает. Заранее снизь TTL, чтобы в будущем ждать меньше.
- CNAME на корень. Повторюсь, потому что это главная ошибка. Нельзя. Для корня — только A/AAAA или ALIAS.
- Несколько провайдеров. Если домен куплен у Рег.ру, а DNS-серверы прописаны от Cloudflare, настройки надо менять в Cloudflare, а не в Рег.ру. Где NS-серверы — там и зона.
- Бэкап! Перед любыми изменениями сделай скриншоты или экспорт текущих записей. Откатиться будет проще.
- Тестируй. Используй команды в командной строке (nslookup, dig) или онлайн-сервисы (типа MXToolbox), чтобы проверить, что видят другие серверы.
FAQ: короткие ответы на больные вопросы
Можно ли использовать CNAME для корневого домена (example.com)?
Нет, напрямую — нельзя. Протокол DNS это запрещает. Но многие продвинутые DNS-хостеры (Cloudflare, DNSMadeEasy) предлагают запись ALIAS/ANAME, которая для корня работает как CNAME. Ищи такую опцию у своего провайдера.
Сколько MX записей нужно минимум?
Достаточно одной. Но для надежности лучше две с разными приоритетами. Если упадет основной почтовый сервер, почта пойдет на резервный.
TXT запись для SPF/DKIM — это обязательно?
Если хочешь, чтобы письма с твоего домена доставлялись в inbox, а не в спам — да, абсолютно обязательно. Без SPF и DKIM почтовые системы считают твои письма подозрительными.
Что лучше для www: A запись или CNAME?
С точки зрения удобства — CNAME. Поменял IP в A-записи для основного домена — и www автоматически переведется на новый адрес. С A-записью придется менять два значения.
Сайт будет работать без AAAA записи (IPv6)?
Да, будет. Но для тех пользователей, чье интернет-соединение работает через IPv6, сайт может не открыться или открываться медленно. Так что лучше добавить, если хостинг поддерживает.
Надеюсь, этот разбор был полезным и не слишком запутанным. Настройка DNS записей — это как сборка конструктора: раз понял логику, всё становится просто. Главное — не бояться и проверять каждый шаг.
Информация в статье основана на официальных технических спецификациях и документации ведущих хостинг-провайдеров и CDN-сетей, а также на личном практическом опыте администрирования доменов.
