Вы арендовали сервер, развернули сайт — осталось привязать домен к серверу, чтобы посетители попадали на него по красивому имени, а не по IP-адресу. Вся работа сводится к настройке DNS-записей у регистратора: главную роль играет A-запись, которая связывает домен с IPv4-адресом VPS. В этой инструкции разберём, как работает DNS, какие записи нужны (A, CNAME, MX, TXT), как выполнить привязку за 15 минут и проверить результат командами dig и nslookup. Все примеры актуальны для любого регистратора и сервера на Ubuntu 24.04 LTS.
Как работает DNS: коротко и без магии
DNS (Domain Name System) — это распределённая «телефонная книга» интернета. Когда пользователь вводит example.com, его браузер спрашивает у DNS-серверов: «Какой IP у этого имени?» — и получает в ответ адрес вашего VPS, например 203.0.113.10. Дальше браузер подключается уже напрямую к серверу.
Цепочка выглядит так:
- Браузер обращается к DNS-резолверу (обычно провайдера или публичному вроде 8.8.8.8).
- Резолвер находит NS-серверы вашего домена — они указаны у регистратора.
- NS-серверы отдают записи зоны: A, CNAME, MX, TXT и другие.
- Ответ кешируется на время TTL (Time To Live) — поэтому изменения применяются не мгновенно.
Из этого следует практический вывод: все записи вы редактируете там, где размещена DNS-зона домена — в панели регистратора или у стороннего DNS-провайдера, а не на самом VPS.
Какие DNS-записи понадобятся
Для привязки домена к VPS достаточно одной-двух записей, но полезно понимать весь базовый набор:
| Запись | Что делает | Пример значения |
|---|---|---|
| A | Связывает имя с IPv4-адресом сервера | @ → 203.0.113.10 |
| AAAA | То же, но для IPv6 | @ → 2001:db8::1 |
| CNAME | Псевдоним: имя указывает на другое имя | www → example.com. |
| MX | Почтовый сервер домена | 10 mail.example.com. |
| TXT | Текстовые данные: SPF, DKIM, подтверждения | "v=spf1 a mx ~all" |
| NS | DNS-серверы, обслуживающие зону | ns1.registrar.ru. |
Важный нюанс: если у вашего сервера только IPv4 (как на VPS-тарифах Cheap-Host, где каждому серверу выдаётся один выделенный IPv4), AAAA-запись создавать не нужно. Оставленная «на всякий случай» AAAA с чужим или пустым адресом — частая причина того, что у части посетителей сайт не открывается.
Пошаговая привязка домена к серверу
Шаг 1. Узнайте IP-адрес VPS
IP указан в панели хостинга и в письме с доступами. У Cheap-Host сервер разворачивается автоматически за 45–60 секунд, и IPv4 вместе с SSH-доступом выдаётся сразу после оплаты. Проверить адрес можно и на самом сервере:
ip -4 addr show
# или коротко — только внешний адрес:
curl -4 ifconfig.me
Шаг 2. Откройте DNS-редактор у регистратора
Зайдите в личный кабинет регистратора домена и найдите раздел «Управление DNS», «DNS-записи» или «Зона DNS». Если домен делегирован на сторонние NS-серверы (например, Cloudflare), редактировать записи нужно там.
Шаг 3. Создайте A-запись для корня домена
Добавьте запись со следующими параметрами:
- Тип: A
- Имя (хост):
@(означает сам домен, example.com) - Значение: IP вашего VPS, например
203.0.113.10 - TTL: 3600 (на время настройки можно поставить 300, чтобы изменения применялись быстрее)
Шаг 4. Добавьте запись для www
Есть два равнозначных варианта:
- ещё одна A-запись: имя
www, значение — тот же IP; - CNAME-запись: имя
www, значение —example.com.(с точкой в конце).
CNAME удобнее: при смене IP сервера достаточно будет поправить одну A-запись. Помните ограничение: CNAME нельзя ставить на корень домена @ — только на поддомены.
Шаг 5. Дождитесь обновления и проверьте DNS
Обычно записи разъезжаются по миру за 15 минут — 2 часа. Проверить можно с любого компьютера:
# Какой IP отдаёт публичный DNS Google:
dig +short example.com A @8.8.8.8
# То же для www:
dig +short www.example.com @8.8.8.8
# Альтернатива для Windows:
nslookup example.com 8.8.8.8
Если в ответе ваш IP — привязка домена к VPS сработала. Для наглядной проверки из разных стран есть сервисы вроде whatsmydns.net.
Шаг 6. Настройте веб-сервер и выпустите SSL
Чтобы сервер отвечал по имени домена, пропишите его в конфигурации. Для Nginx на Ubuntu 24.04:
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Подробная установка веб-сервера описана в статье об установке и базовой настройке Nginx. Когда DNS уже указывает на сервер, сразу выпустите бесплатный сертификат — инструкция в материале про Let's Encrypt и certbot:
sudo apt update
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Почта и служебные записи: MX, SPF, поддомены
Если планируете почту на домене, добавьте MX-запись, указывающую на почтовый сервис (свой или внешний вроде почты для домена), и TXT-запись SPF, например "v=spf1 a mx ~all". Учтите: на NAT VPS-тарифах Cheap-Host порт 25 (SMTP) закрыт, поэтому собственный почтовый сервер там не поднять — используйте внешний почтовый сервис, а MX-записи направьте на него.
Поддомены создаются так же, как www: A-запись blog со значением IP сервера даст вам blog.example.com. На одном VPS можно держать сколько угодно доменов и поддоменов — как это разводится на уровне веб-сервера, разобрано в статье про несколько сайтов на одном VPS.
Частые проблемы и их решение
- Домен открывает старый сайт. DNS-кеш ещё не истёк. Проверьте актуальный ответ через
dig @8.8.8.8и очистите локальный кеш:ipconfig /flushdnsв Windows илиresolvectl flush-cachesв Ubuntu. - dig возвращает правильный IP, но сайт не открывается. Проблема на сервере: не запущен веб-сервер (
systemctl status nginx) или закрыт порт 80/443. Откройте их:sudo ufw allow 80/tcp && sudo ufw allow 443/tcp. - Работает example.com, но не www. Забыта запись для www — добавьте A или CNAME из шага 4 и укажите оба имени в
server_name. - Ошибка certbot «challenge failed». Сертификат выпускается только после того, как DNS уже указывает на ваш сервер. Дождитесь обновления записей и повторите.
- Часть посетителей видит ошибку подключения. Проверьте, нет ли устаревшей AAAA-записи:
dig +short example.com AAAA. Если сервер без IPv6 — удалите её.
Что делать до и после привязки
Привязка домена — один из первых шагов настройки нового сервера. Если вы только что получили VPS, пройдитесь по чек-листу первых 10 шагов после покупки VPS: обновление системы, пользователь sudo, SSH-ключи, файрвол. А если сайт ещё живёт на старом хостинге, сначала перенесите файлы и базу, и только потом переключайте DNS — так делается переезд с хостинга на VPS без простоя: понизьте TTL до 300 заранее, и окно переключения сожмётся до минут.
FAQ
Сколько времени занимает привязка домена к VPS?
Сама настройка — 5–10 минут. Обновление DNS обычно занимает 15 минут — 2 часа; до 24–48 часов — только если у старых записей был большой TTL.
Можно ли привязать несколько доменов к одному VPS?
Да, без ограничений: каждому домену — A-запись с одним и тем же IP, а на сервере — свой виртуальный хост Nginx или Apache.
Нужна ли AAAA-запись?
Только при наличии IPv6 у сервера. Если VPS работает по IPv4, AAAA не создавайте: запись с несуществующим адресом ломает доступ части посетителей.
Почему домен не открывается, хотя A-запись создана?
Три типовые причины: DNS ещё не обновился, опечатка в IP, на сервере не слушается порт 80. Диагностика: dig +short домен @8.8.8.8, затем ss -tulpn | grep :80 на сервере.
Можно ли привязать домен к NAT VPS с общим IP?
Прямой A-записью — нет: порты 80/443 на общем адресе заняты. Рабочая схема — CDN или реверс-прокси, который проксирует трафик на выделенный порт NAT VPS.
Вывод
Привязать домен к серверу проще, чем кажется: A-запись на корень, запись для www, проверка через dig — и домен показывает ваш сайт. Дальше остаётся прописать server_name в веб-сервере и выпустить SSL-сертификат. Главные грабли — опечатки в IP, забытые AAAA-записи и нетерпение при обновлении DNS-кеша.
Если сервера под сайт ещё нет — у Cheap-Host тариф Start за 450 ₽/мес даёт 6 vCPU, 8 ГБ RAM и 96 ГБ NVMe с выделенным IPv4 и безлимитным трафиком: сервер выдаётся за минуту, так что от оплаты до привязанного домена можно уложиться в один вечер. Тарифы — на cheap-host.onl.