Чтобы привязать домен к VPS, в DNS-зоне домена создают запись A с IPv4-адресом сервера, а при наличии IPv6 добавляют запись AAAA. Для поддомена вроде www обычно используют запись CNAME, которая ссылается на другое доменное имя. После сохранения записей браузеры начинают находить сервер не сразу, а через время распространения, которое зависит от TTL. Ниже разобраны типы записей, порядок настройки и проверка командами dig и nslookup.
Что означают основные записи
DNS хранит не только IP-адреса. Для привязки сайта чаще всего нужны четыре типа записей, и каждый отвечает за свою задачу.
- A связывает имя с IPv4-адресом, например example.com → 203.0.113.10. Это основная запись для сайта.
- AAAA связывает имя с IPv6-адресом. Ее добавляют, если у сервера есть публичный IPv6. Клиенты без IPv6 используют A-запись, поэтому A оставляют в любом случае.
- CNAME делает имя псевдонимом другого имени: www.example.com → example.com. У CNAME не может быть других записей на том же имени.
- TXT хранит текст. Его используют для подтверждения владения доменом, проверки почты (SPF, DKIM) и выпуска некоторых сертификатов.
Запись MX для почты и NS для серверов имен тоже существуют, но для привязки сайта к VPS они обычно не меняются.
TTL и время распространения
TTL, или время жизни записи, задает в секундах, сколько резолверы имеют право хранить ответ в кэше. Значение 3600 означает один час. Пока старая запись закэширована, часть пользователей будет попадать на старый IP. Поэтому перед переездом сервера на другой адрес полезно заранее уменьшить TTL, например до 300 секунд, дождаться истечения старого значения и только потом менять IP.
Распространение DNS не имеет гарантированного срока. Новая запись обычно видна за несколько минут, но у некоторых провайдеров кэш может держаться дольше значения TTL. Не меняйте записи несколько раз подряд: каждый раз начинается новый отсчет.
Шаг 1. Узнайте IP сервера
Адрес сервера виден в панели управления VPS. Его же можно узнать командой на сервере. Важно различать адрес, который видит сервер, и публичный адрес. На тарифах с NAT внутри сервера может быть частный адрес, а публичный адрес принадлежит общему шлюзу.
ip -4 addr show
ip -6 addr show scope global
curl -4 ifconfig.meЕсли последняя команда и адрес на интерфейсе совпадают, сервер имеет публичный IPv4. Если они отличаются, сервер находится за NAT, и об этом подробнее ниже.
Шаг 2. Добавьте записи у регистратора или DNS-хостинга
Записи создаются в панели того сервиса, где ведется DNS-зона домена: у регистратора или у отдельного DNS-хостинга. Интерфейсы отличаются, но поля одинаковые: тип записи, имя (host), значение и TTL. Для корневого домена имя обычно пишут как @ или оставляют пустым.
- Тип A, имя @, значение IPv4 сервера, TTL 300 или 3600: сайт открывается по example.com.
- Тип A, имя www, значение IPv4 сервера: сайт открывается по www.example.com.
- Тип AAAA, имя @ и www, значение IPv6 сервера: добавляется, если у VPS есть публичный IPv6.
- Тип CNAME, имя www, значение example.com. Это альтернатива A-записи для www.
www или корневой домен
Корневой домен example.com и поддомен www.example.com это разные имена, и их нужно настроить оба, если вы хотите, чтобы открывались оба варианта. Удобнее выбрать один основной вариант и сделать второй перенаправлением на сервере. В Nginx это делается отдельным server block, как показано в статье как разместить сайт на VPS с Nginx и SSL.
Есть ограничение: на корневом имени нельзя поставить CNAME, потому что CNAME исключает любые другие записи на том же имени, а у корня обязательно есть записи NS и SOA. Поэтому корень указывает на сервер записью A или AAAA. Некоторые DNS-хостинги умеют ALIAS или ANAME для корня, но это их собственные расширения, и поведение зависит от провайдера.
Шаг 3. Проверка с dig и nslookup
Проверяйте записи не через браузер, а через DNS-запросы. Так вы увидите, что именно отдает DNS, без кэша браузера. Утилита dig входит в пакет dnsutils на Debian и bind-utils на некоторых других системах. Для Ubuntu и Debian установите ее одной командой.
sudo apt install -y dnsutils
dig +short example.com A
dig +short www.example.com A
dig +short example.com AAAA
dig +short www.example.com CNAME
dig @8.8.8.8 +short example.com AКлюч +short выводит только ответ. Последняя команда спрашивает публичный DNS-сервер Google, и это удобно, когда локальный резолвер еще держит старое значение. Для полной картины запустите dig example.com A без +short: во второй колонке ответа будет оставшееся время жизни записи в секундах.
nslookup example.com
nslookup -type=A www.example.com 8.8.8.8Если dig или nslookup показывают нужный IP, а браузер нет, очистите кэш DNS на компьютере или подождите до истечения TTL. Если и публичный резолвер показывает старый адрес, проверьте, сохранилась ли запись в панели и не осталась ли в зоне дубликат со старым значением.
VPS с NAT и выделенный IPv4
Для сайта поэтому удобнее выделенный IPv4 или публичный IPv6, если они доступны на тарифе. Выделенный IPv4 дает прямое подключение по A-записи без правил проброса. Тариф Nano в Pulsar включает выделенный IPv4, тариф NAT использует общий IPv4 с проброшенными портами и IPv6. Подробнее о разнице читайте в статье NAT VPS или выделенный IP.
IPv6 тоже работает, но AAAA-запись помогает только тем посетителям, у которых есть IPv6. Поэтому для открытого сайта A-запись с IPv4 остается обязательной.
Итоги
Чтобы привязать домен к VPS, создайте A-запись для корня и для www, добавьте AAAA, если есть IPv6, и выберите CNAME для www при желании. Проверяйте результат через dig или nslookup, учитывайте TTL и помните, что корень не может быть CNAME. Если сервер за NAT, сначала проверьте проброс портов. Домены вы также можете найти в разделе Домены на сайте Pulsar. Дальше сервер можно подготовить по инструкции как подключиться к VPS по SSH.