Если после смены NS-серверов сайт не открывается, главное — не паниковать. Чаще всего причина одна: изменение ещё не разошлось по всем резолверам. Но иногда проблема действительно в настройках: на новых серверах нет зоны, неверная A-запись, домен не добавлен на хостинг или осталась старая запись DNSSEC. Приведённый ниже список помогает найти причину по порядку, начиная с самой вероятной. На каждом шаге вы смотрите на результат команды и переходите к следующему, и обычно ответ находится за 10–15 минут.
Быстрая диагностика по симптому
То, что показывает браузер, заметно сужает круг причин. Таблица ниже собирает самые частые случаи:
| Что видно в браузере | Вероятная причина |
|---|---|
| Открывается старый сайт | Кэш или изменение ещё не распространилось |
| «Сайт не найден», ошибка DNS_PROBE | Нет A-записи в новой зоне, ошибка в NS или проблема DNSSEC |
| Стандартная страница хостинга | Домен не добавлен в хостинг-аккаунт |
| Предупреждение о сертификате | SSL на новом сервере ещё не выпущен |
| Ошибка 500 или ошибка подключения к базе | DNS работает, проблема в самом сайте |
1. Дошло ли изменение до реестра
Сначала выясните, какие NS-серверы отдаёт реестр для вашего домена. Самый надёжный способ — dig +trace: он сам проходит путь запроса от корневых серверов и не зависит от кэша. В выводе whois видно текущее состояние у регистратора и статус домена:
dig +trace maktab-misol.uz
whois maktab-misol.uz | grep -iE "name server|status|expir"
Если trace всё ещё показывает старые NS, изменение не попало в реестр или не было сохранено в панели регистратора. Проверьте в кабинете, что NS действительно сохранены. Если whois показывает, что срок домена истёк или он приостановлен, проблема вовсе не в DNS — домен нужно сначала продлить.
2. Правильно ли написаны имена NS
Одна опечатка выводит из строя весь домен. Проверьте, что каждый указанный NS-сервер существует и имеет IP-адрес:
dig +short A ns1.provayder.uz
dig +short A ns2.provayder.uz
Пустой ответ означает ошибку в имени. Также убедитесь, что NS старого и нового провайдера не перемешаны: в таком случае у одних пользователей сайт открывается, у других нет, и проблема выглядит случайной.
3. Есть ли зона на новых серверах
Если делегирование перешло на новые серверы, но зона для домена на них не создана, резолверы не получат ответа. Такая ситуация называется «lame delegation». Спросите каждый NS-сервер напрямую:
dig @ns1.provayder.uz maktab-misol.uz SOA
dig @ns2.provayder.uz maktab-misol.uz SOA
Посмотрите на поле status в ответе. NOERROR с SOA-записью означает, что зона на месте. REFUSED или SERVFAIL — домен не добавлен в новый DNS-сервис или в имени ошибка. В этом случае домен нужно добавить в панели хостинга или DNS.
4. Верны ли записи A и www
Зона может существовать, но в ней может не оказаться записей, ведущих на сайт. Проверьте отдельно основной домен и www, потому что многие добавляют только одну из них:
dig @ns1.provayder.uz maktab-misol.uz A +short
dig @ns1.provayder.uz www.maktab-misol.uz +short
Полученный IP должен совпадать с адресом сервера вашего хостинга. Если виден IP старого сервера, значит при переносе записи не обновили.
5. Очистите кэш и проверьте из другой сети
Если на уровне DNS всё верно, а у вас сайт всё ещё не открывается, старый ответ сохранился в кэше компьютера, браузера или интернет-провайдера. Кэш операционной системы очищается так:
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
resolvectl flush-caches
У Chrome есть собственный DNS-кэш, его можно сбросить на странице chrome://net-internals/#dns. Самая простая проверка — открыть сайт через мобильный интернет или спросить публичный резолвер: dig @8.8.8.8 maktab-misol.uz A +short и dig @1.1.1.1 maktab-misol.uz A +short. Если они отдают правильный IP, остаётся только подождать.
6. Добавлен ли домен в хостинг-аккаунт
Даже если DNS ведёт на нужный сервер, но сервер не знает этот домен, откроется стандартная страница или чужой сайт. Проверьте в обход DNS, отправив запрос прямо на IP сервера (вместо 203.0.113.10 подставьте IP вашего хостинга):
curl -I --resolve maktab-misol.uz:80:203.0.113.10 http://maktab-misol.uz/
curl -I --resolve maktab-misol.uz:443:203.0.113.10 https://maktab-misol.uz/
Если ответ содержит заголовки нужного сайта, сервер готов и дело в кэше DNS. Если возвращается стандартная страница или 404, домен не добавлен как сайт в панели хостинга. Клиенты sayt.uz в таком случае привязывают домен к хостингу через личный кабинет.
7. Не выпущен ли ещё SSL-сертификат
Сертификат Let's Encrypt на новом сервере выпускается только после того, как DNS домена начнёт указывать на этот сервер, ведь проверочный запрос приходит именно туда. В этот промежуток браузер может показывать предупреждение «подключение не защищено». Если на сайте ранее был включён HSTS, браузер даже не позволит обойти предупреждение. Обычно после распространения сертификат выпускается автоматически, проверить его можно так:
openssl s_client -connect maktab-misol.uz:443 -servername maktab-misol.uz </dev/null | openssl x509 -noout -subject -dates
8. Не осталась ли старая запись DNSSEC
Если домен раньше был подписан DNSSEC, в реестре остаётся DS-запись. Если новый провайдер зону не подписывает, проверяющие резолверы считают ответ поддельным и возвращают SERVFAIL. В итоге сайт открывается в одних сетях и не открывается в других:
dig DS maktab-misol.uz +short
dig @8.8.8.8 maktab-misol.uz A +dnssec
Если DS-запись есть, а новая зона не подписана, удалите DS у регистратора или включите DNSSEC у нового провайдера.
Пример: сайт школы в Намангане
Частная школа в Намангане перенесла сайт на новый хостинг и сменила NS. На следующий день часть родителей сайт открывала, а другие видели ошибку «сайт не найден». Trace правильно показывал новые NS, зона тоже была на месте. Проблема обнаружилась командой dig DS: в реестре осталась DS-запись от DNSSEC, включённого у старого провайдера. У пользователей провайдеров, проверяющих DNSSEC, сайт не открывался. После удаления DS-записи проблема полностью исчезла в течение нескольких часов.
Этот пример показывает, что ситуация «у кого-то открывается, у кого-то нет» — не всегда просто кэш. Пройдя список выше по порядку, вы точно найдёте, на каком этапе причина, и не потеряете время на бесполезное ожидание.