Русский (Russian)

Как направить домен на ваш Linux VPS через DNS

3 min
VPS/VDS-хостинг

Доменное имя становится полезным только тогда, когда его DNS-записи указывают, где находится ваш сервер. В этом руководстве вы привяжете домен к своему VPS Linux Infrawire, добавите записи IPv4, IPv6 и www и убедитесь, что всё разрешается правильно.

📋 Требования

  • VPS с публичным адресом IPv4 (и при желании IPv6). В личном кабинете вы найдёте IP-адрес и пароль root вашего VPS.
  • Зарегистрированный домен (example.com) и доступ к его DNS-зоне у регистратора или DNS-провайдера.
  • dig и nslookup на вашем компьютере или на VPS:
Bash
# Ubuntu 24.04 / Debian 12 sudo apt update && sudo apt install -y dnsutils # AlmaLinux 9 / Rocky 9 sudo dnf install -y bind-utils

🧭 Типы записей

ТипНазначениеПример значения
AИмя в адрес IPv4VPS_IP
AAAAИмя в адрес IPv6VPS_IPV6
CNAMEПсевдоним другого имениexample.com.

CNAME нельзя ставить на корневой домен (example.com, так называемый apex): он конфликтовал бы с остальными записями зоны. Там используйте A/AAAA, а CNAME оставьте для поддоменов вроде www.

✍️ Создание записей A и AAAA

В редакторе DNS-зоны у регистратора добавьте эти записи. Значение @ в поле хоста означает сам домен.

TEXT
Тип Хост Значение TTL A @ VPS_IP 3600 AAAA @ VPS_IPV6 3600

Некоторые интерфейсы требуют полное имя (example.com.) вместо @. Конечную точку оставляйте, только если редактор просит полное доменное имя. Если IPv6 вы пока не используете, не создавайте AAAA: неверная AAAA хуже, чем её отсутствие, ведь многие клиенты сначала пробуют IPv6.

🔗 Добавление www через CNAME

Пусть www следует за основным именем, тогда IP придётся менять только в одном месте:

TEXT
Тип Хост Значение TTL CNAME www example.com. 3600

Остальные поддомены настраиваются так же. Используйте запись A, если поддомен должен указывать на другой сервер (например, api на другой IP).

⏱️ TTL и распространение

TTL (время жизни, в секундах) сообщает резолверам, как долго можно хранить ответ в кеше. Новая запись обычно появляется за несколько минут, но изменение существующей записи не видно, пока не истечёт прежний TTL.

  • Перед миграцией за сутки снизьте TTL до 300, а затем меняйте IP.
  • Когда всё стабильно, верните TTL на 3600 или больше.
  • Полное распространение никогда не бывает мгновенным: рассчитывайте от нескольких минут до нескольких часов.

✅ Проверка с помощью dig и nslookup

Спросите свой резолвер, затем публичный, и сравните ответы:

Bash
dig +short example.com A dig +short example.com AAAA dig +short www.example.com CNAME # Запрос к конкретному публичному резолверу dig @1.1.1.1 +short example.com A dig @8.8.8.8 +short example.com A # Прямой запрос к авторитетным серверам (без кеша) dig +short NS example.com dig @NAMESERVER +short example.com A

Та же проверка через nslookup:

Bash
nslookup example.com nslookup -type=AAAA example.com nslookup www.example.com 1.1.1.1

Ответ должен совпадать с VPS_IP. Затем проверьте путь до сервера:

Bash
ping -c 3 example.com curl -I http://example.com

🔁 Обратный DNS (PTR)

Прямой DNS превращает имя в IP. Обратный DNS (запись PTR) делает наоборот: сопоставляет VPS_IP с именем хоста. Он настраивается не в зоне вашего домена, а владельцем блока IP-адресов, поэтому попросите хостинг-провайдера задать его. Почтовые серверы сильно на него полагаются, так что укажите имя, с которого отправляете почту, например mail.example.com, и убедитесь, что у этого имени есть соответствующая запись A.

Bash
dig -x VPS_IP +short host VPS_IP

☁️ Особый случай: прокси Cloudflare

Если запись проксируется (оранжевое облако), публичный DNS возвращает адреса Cloudflare, а не VPS_IP. Это нормально: dig никогда не покажет IP вашего сервера.

  • Веб-трафик (80/443) идёт через Cloudflare, а другие службы, такие как SSH, почта или игровые серверы, нет.
  • Для всего, что не HTTP(S), создайте запись в режиме только DNS (серое облако), например ssh.example.com на VPS_IP.
  • Почтовые записи (mail, цели MX) всегда должны быть только в режиме DNS.
  • Оставьте режим SSL Full (strict) и установите на VPS действующий сертификат, иначе получите циклы перенаправления или ошибку 525.

🛠️ Устранение неполадок

Всё ещё виден старый IP. Прежний TTL не истёк. Запросите авторитетный сервер командой dig @NAMESERVER, чтобы убедиться, что зона верна, и подождите. При необходимости очистите локальный кеш:

Bash
sudo resolvectl flush-caches

NXDOMAIN или нет ответа. Запись находится не в той зоне, в имени хоста опечатка, либо домен использует другие серверы имён, не те, что вы редактировали. Сравните вывод dig NS example.com с серверами имён, указанными у регистратора.

Домен разрешается, но сайт не открывается. С DNS всё в порядке, проблема в службе. Проверьте, что веб-сервер слушает порт и что брандмауэр его разрешает:

Bash
sudo ss -tlnp | grep -E ':80|:443'

🎉 Теперь ваш домен указывает на VPS: можно устанавливать веб-сервер и выпускать сертификат.

Следите за последними предложениями, скидками и специальными акциями.

Смотреть акции

Мы используем файлы cookie

Аналитические cookie улучшают работу сайта. Данные не продаются третьим лицам. Подробнее в политике конфиденциальности.