Домены и DNS
Что такое домен, как DNS находит IP и как привязать домен из Namecheap к Vercel напрямую или через Cloudflare.
Обновлено
Домен: имя вашего сайта
У сервера есть IP-адрес (216.198.79.1), который никто не хочет запоминать. Домен (webroad.online) — человеческое имя поверх него, а DNS — система, которая связывает имя с IP.
blog.webroad.onlineblogподдоменwebroadдомен второго уровня.onlineTLD
| Часть | Что это | Примеры |
|---|---|---|
| TLD (домен верхнего уровня) | окончание, им управляет регистратура | .com, .ro, .online, .dev |
| домен второго уровня | часть, которую вы покупаете | webroad, example |
| поддомен | всё, что впереди; создаётся бесплатно одной DNS-записью | www, blog, api |
Apex (или «корень», обозначается @) — голый домен: webroad.online. www.webroad.online технически поддомен со своей записью. Обычно один вариант выбирают основным, а второй перенаправляют на него.
Три роли, иногда три компании
| Роль | Что делает | Примеры |
|---|---|---|
| Регистратор | продаёт домен и продлевает его каждый год | Namecheap, Porkbun, GoDaddy, Reg.ru |
| DNS-провайдер | хранит записи и отвечает на вопросы о них | Cloudflare, DNS регистратора, Vercel DNS |
| Хостинг | сервер, который на самом деле отдаёт сайт | Vercel, Netlify, VPS |
Регистратор сообщает миру, кто DNS-провайдер, через nameserver-ы. Как только вы прописали в Namecheap nameserver-ы Cloudflare (agustin.ns.cloudflare.com, martha.ns.cloudflare.com), значение имеют только записи в Cloudflare. Записи в панели Namecheap игнорируются.
Как находится IP
браузерсмотрит в свой кеш и в кеш системыне нашёл→резолвервашего провайдера или 1.1.1.1 / 8.8.8.8спрашивает→корневые серверы«про .online спросите серверы TLD»перенаправляют→серверы TLD .online«домен использует nameserver-ы Cloudflare»перенаправляют→авторитетный nameserverотвечает: 216.198.79.1Резолвер хранит ответ в кеше столько, сколько указано в TTL, чтобы не проходить весь путь при каждом визите.
Типы записей
| Тип | Что делает | Пример |
|---|---|---|
| A | имя → IPv4-адрес | @ → 216.198.79.1 |
| AAAA | имя → IPv6-адрес | @ → 2001:db8::1 |
| CNAME | имя → другое имя (псевдоним) | www → 74f2f97474b26c57.vercel-dns-017.com |
| MX | серверы, принимающие почту | @ → aspmx.l.google.com |
| TXT | произвольный текст: подтверждения, правила почты | google-site-verification=... |
| NS | nameserver-ы домена | agustin.ns.cloudflare.com |
| CAA | какие центры сертификации могут выпускать HTTPS-сертификаты | 0 issue "letsencrypt.org" |
CNAME нельзя ставить на apex. Стандарт DNS запрещает имени, у которого уже есть записи NS и SOA (у apex они есть всегда), быть ещё и CNAME. Поэтому на apex ставят запись A с IP от хостинга или используют CNAME flattening / ALIAS: провайдер (например, Cloudflare) сам разрешает псевдоним и отвечает IP-адресами.
TTL и «распространение»
TTL (time to live), в секундах, говорит, сколько резолверы могут хранить ответ в кеше. С TTL 3600 после смены IP часть посетителей ещё до часа попадает на старый сервер. Ничего активно не «распространяется»: вы просто ждёте, пока истекут кеши.
- Перед переездом снизьте TTL (до
300) за день. - Смена nameserver-ов занимает дольше (часы, иногда до 48 ч), потому что серверы TLD тоже кешируют.
Реальный пример: webroad.online на Vercel
Домен куплен в Namecheap, сайт работает на Vercel. Первый шаг всегда на стороне хостинга: Vercel → проект → Settings → Domains → Add, вводите webroad.online и отмечаете редирект с www. Vercel покажет, какие именно записи добавить. Копируйте их оттуда, потому что значения могут отличаться от проекта к проекту (старые проекты использовали 76.76.21.21 и cname.vercel-dns.com).
Вариант 1: DNS у регистратора. Namecheap → Domain List → Manage → Advanced DNS:
| Тип | Host | Значение |
|---|---|---|
| A | @ |
216.198.79.1 |
| CNAME | www |
74f2f97474b26c57.vercel-dns-017.com |
Вариант 2: через Cloudflare DNS (именно так настроен этот сайт):
- Cloudflare → Add a domain →
webroad.online. Cloudflare выдаст два nameserver-а. - Namecheap → Manage → Nameservers → Custom DNS → вставьте оба.
- Дождитесь, пока Cloudflare покажет домен как Active.
- В Cloudflare → DNS → Records добавьте те же A и CNAME с Proxy status: DNS only (серое облако).
DNS only или proxied. С оранжевым облаком (proxied) Cloudflare перестаёт отдавать настоящий IP и сам встаёт перед сайтом: CDN, кеш, файрвол. Но Vercel уже сам является CDN и сам выпускает HTTPS-сертификат. Два CDN друг за другом — это сертификаты, которые не продлеваются, циклы редиректов, двойной кеш и логи, где все посетители будто приходят из Cloudflare. Vercel рекомендует DNS only: Cloudflare только отвечает на DNS-запросы.
Подтверждение домена
Сервисы вроде Google Search Console просят доказать, что домен ваш: вы добавляете TXT-запись на @ со значением google-site-verification=.... TXT-записей у домена может быть сколько угодно. Эту не удаляйте после подтверждения, потому что Google периодически перепроверяет её.
Почта: SPF, DKIM, DMARC
Если вы отправляете письма с contact@webroad.online, три TXT-записи уберегут их от спама:
| Запись | Где | Что говорит |
|---|---|---|
| SPF | @ |
какие серверы могут отправлять почту от имени домена (v=spf1 include:_spf.google.com ~all); только одна на домен |
| DKIM | selector._domainkey |
публичный ключ для проверки подписи писем |
| DMARC | _dmarc |
что получателю делать с письмами, не прошедшими SPF/DKIM (v=DMARC1; p=none) |
Как проверить
dig webroad.online A +short # IP-адреса apex
dig www.webroad.online CNAME +short # куда указывает www
dig webroad.online NS +short # кто DNS-провайдер
dig @1.1.1.1 webroad.online TXT # спросить конкретный резолвер
nslookup -type=TXT webroad.online # то же самое, работает и в WindowsБез терминала: Google Admin Toolbox Dig или dnschecker.org, который показывает, что видят резолверы по всему миру.
Частые ошибки
- Править записи у регистратора после того, как nameserver-ы перенесены в другое место.
- Ставить CNAME на apex у провайдера без flattening.
- Оставлять старые записи, которые противоречат друг другу: две A на разные серверы, забытую AAAA.
- Оставлять оранжевое облако включённым перед Vercel.
- Иметь CAA-запись, которая не разрешает
letsencrypt.org, из-за чего хостинг не может выпустить сертификат. - Писать
webroad.onlineв поле Host. Большинство панелей сами дописывают домен, и получаетсяwebroad.online.webroad.online. Для apex пишите@.
Коротко
- Регистратор продаёт домен, nameserver-ы выбирают DNS-провайдера, записи указывают на хостинг.
- A/AAAA для IP, CNAME для псевдонимов (не на apex), TXT для подтверждений и почты.
- Если за Cloudflare стоит Vercel, ставьте DNS only; проверяйте через
dig.