Как привязать домен к VPS: настройка DNS-записей

Настройка сервера
Как привязать домен к VPS: настройка DNS-записей

Вы арендовали сервер, развернули сайт — осталось привязать домен к серверу, чтобы посетители попадали на него по красивому имени, а не по 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. Дальше браузер подключается уже напрямую к серверу.

Цепочка выглядит так:

  1. Браузер обращается к DNS-резолверу (обычно провайдера или публичному вроде 8.8.8.8).
  2. Резолвер находит NS-серверы вашего домена — они указаны у регистратора.
  3. NS-серверы отдают записи зоны: A, CNAME, MX, TXT и другие.
  4. Ответ кешируется на время 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"
NSDNS-серверы, обслуживающие зону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.

Читайте также