Проверка NS — DNS-серверы домена
Проверка NS любого домена: NS-записи, которые выдаёт его реестр, с glue и TTL, а рядом — то, что говорит о себе каждый DNS-сервер. Lame-серверы, расхождения и устаревший glue названы прямо, с советом, что исправить.
Сначала спрашиваем реестр, затем каждый DNS-сервер, который он называет. Подойдут URL, адрес e-mail или поддомен.
Что такое NS-запись?
NS-запись называет сервер, на котором хранится зона: место, где живут записи домена. В зоне по одной NS-записи на сервер, поэтому у google.com их четыре, от ns1 до ns4.google.com (RFC 1035 §3.3.11).
Одни и те же NS-записи существуют в двух экземплярах. Родительская зона, здесь .com, хранит копию на границе зон, чтобы отправлять резолверы дальше; эта копия не авторитетна. Сама зона хранит свою копию в начале, и вот она авторитетна (RFC 1034 §4.2.1, RFC 2181 §6.1). Два списка должны совпадать полностью.
Значение — всегда имя хоста, никогда не адрес и никогда не псевдоним: у имени должны быть собственные записи A или AAAA (RFC 2181 §10.3).
Как выполнить проверку NS: DNS-серверы домена
Введите домен выше и нажмите Проверить DNS-серверы: мы спрашиваем реестр, а затем каждый названный им сервер, до которого может добраться наш сервер. Из терминала: dig NS example.com в macOS и Linux, nslookup -type=ns example.com в Windows, Resolve-DnsName -Name example.com -Type NS в PowerShell.
Эти три команды спрашивают ваш собственный резолвер, поэтому показывают копию в кэше. Чтобы увидеть список реестра, спросите его сервер с выключенной рекурсией: dig @a.gtld-servers.net example.com NS +norec. Чтобы проверить один DNS-сервер, запросите у него SOA с +norec и поищите aa во флагах. whois тоже показывает список реестра, а не зоны.
dig NS example.com +shortКопия вашего резолвера, по одному DNS-серверу на строку. Добавьте @a.gtld-servers.net и +norec, чтобы получить собственный список реестра .com.
$ dig @l.gtld-servers.net google.com NS +norec ;; ->>HEADER<<- opcode: QUERY, status: NOERROR ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 91 ;; AUTHORITY SECTION: google.com. 172800 IN NS ns2.google.com.2 google.com. 172800 IN NS ns1.google.com. … ;; ADDITIONAL SECTION: ns1.google.com. 172800 IN A 216.239.32.103 … $ dig @216.239.32.10 google.com NS +norec ;; flags: qr aa; QUERY: 1, ANSWER: 4, AUTHORITY: 04 google.com. 345600 IN NS ns1.google.com.5 …
- Нет aa: перенаправление. Реестр не обслуживает google.com, а лишь говорит, куда идти.
- Список родителя и его TTL: 2 дня, его задаёт реестр .com.
- Glue: ns1.google.com находится внутри google.com, поэтому .com выдаёт его адрес.
- aa: сама зона. Авторитетный ответ сервера.
- Собственный TTL зоны: 4 дня, его задаёт Google, а не реестр.
$ nslookup -type=ns google.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: google.com nameserver = ns3.google.com. google.com nameserver = ns1.google.com. …
# копия вашего резолвера PS> Resolve-DnsName -Name google.com -Type NS # один сервер, рекурсия выключена PS> Resolve-DnsName -Name google.com -Type SOA -Server ns1.google.com -NoRecursion
$ whois google.com Registrar: MarkMonitor Inc. Name Server: NS1.GOOGLE.COM … DNSSEC: unsigned
Как читать результат
Вывод называет DNS-хостинг и регистратора; вид «Делегирование» ставит список реестра рядом со списком зоны, сервер за сервером, с ответом каждого и временем по TCP (с учётом установки соединения, то есть примерно два обмена).
Тёмно-синий столбец — путь, который проходит резолвер: корень, реестр с его TTL и DS, затем каждый DNS-сервер. Сервер, который не обслуживает зону, обозначен обрывом.

ВыводКто обслуживает зону, кто её зарегистрировал и совпадают ли реестр и зона.Реестр рядом с зонойКаждое имя из списка реестра и из списка зоны, с glue и ответом.Ответ каждого сервераAA и время по TCP, код, которым ответил отказавший сервер, или «через 1.1.1.1», когда наш сервер не может подключиться.ДелегированиеКорень, реестр, затем собственный ответ каждого сервера, так, как проходит его резолвер.Родительские и дочерние DNS-серверы: почему они различаются
Два списка хранят две разные стороны. Реестр публикует список родителя, когда его об этом просит ваш регистратор; ваш DNS-хостинг обслуживает собственный список зоны. Измените один без другого, и они разойдутся.
Резолверы доверяют собственному ответу зоны больше, чем перенаправлению (RFC 2181 §5.4.1), поэтому, спросив зону, они хранят её список и её TTL. 2026-10-23 резолвер Cloudflare держал набор NS google.com с остатком 340 859 с: больше, чем 172 800 у .com, значит, копия пришла с 4-дневным TTL зоны.
Имя, которое есть только в списке реестра, всё равно получает трафик от резолверов, которые начинают с чистого листа. Имя, которое есть только в зоне, для них невидимо. Исправить стоит и то и другое; само по себе ни то ни другое не вызывает сбоя.
Реестр .jp1 дн.
- ns1.xserver.jp
- ns2.xserver.jp
- ns3.xserver.jp
- ns4.xserver.jpтолько в реестре
- ns5.xserver.jpтолько в реестре
Зона1 ч
- ns1.xserver.jp
- ns2.xserver.jp
- ns3.xserver.jp
ns4.xserver.jp и ns5.xserver.jp есть только в реестре. Оба отвечают авторитетно, поэтому ничего не ломается; списки всё же различаются.
Реестр .com2 дн.
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net
Зона15 мин · 1 ч
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net
Те же имена, но разные часы: копия реестра живёт 2 дня, у Route 53 — 15 минут, у NS1 — 1 час.
Реестр .net2 дн.
- ns1.domaindirect.comтолько в реестре
- ns2.domaindirect.comREFUSED
- ns3.domaindirect.comтолько в реестре
Зона15 мин
- ns1.hover.comтолько в зоне
- ns2.hover.comтолько в зоне
Реестр всё ещё перечисляет старые имена. Два из них делят адреса с серверами Hover и отвечают; третий отвечает отказом.
Что такое glue-записи?
Glue — это адрес, который родитель выдаёт вместе с перенаправлением, чтобы резолвер мог добраться до DNS-сервера, чьё имя находится внутри обслуживаемой им зоны. Без него поиск ns1.google.com потребовал бы спросить серверы google.com, а это и есть вопрос, с которого вы начали (RFC 1034 §4.2.1).
RFC 9471 делает это правилом: перенаправление ДОЛЖНО (MUST) содержать glue для каждого сервера внутри домена (ns1.google.com для google.com) и СЛЕДУЕТ (SHOULD) содержать его для соседних серверов под тем же родителем (ns-421.awsdns-52.com для github.com). Посторонние имена, такие как ns-520.awsdns-01.net, ищутся отдельно.
Glue задаётся у регистратора как хост-записи, дочерние DNS-серверы или личные DNS-серверы. Когда сервер переезжает, glue нужно перенести вместе с ним: устаревший glue отправляет резолверы по адресу, который больше не отвечает.
Внутри домена · google.com
- .com: спросите ns1.google.com
- Его адрес находится в самом google.com
- без glue поиск ходит по кругу
- Поэтому .com добавляет ns1.google.com A 216.239.32.10 · MUST: обязательно
Соседние и посторонние · github.com
- .com: спросите ns-421.awsdns-52.com, ns-520.awsdns-01.net, …
- awsdns-52.com тоже в .com: glue 205.251.193.165 · SHOULD: включается
- awsdns-01.net в другом месте: резолвер ищет его в .net · нет glue
Что такое lame-делегирование и как его исправить
Делегирование называют lame, когда родитель отправляет резолверы к серверу, который не обслуживает зону: он отказывает, молчит или отвечает без авторитетности. Если lame все указанные серверы, домен перестаёт разрешаться; если один из нескольких, запросы замедляются, пока резолверы повторяют попытки.
RFC 9499 отмечает, что «lame delegation» стало обозначать несколько разных неисправностей, поэтому инструмент называет каждую: отказывает для зоны (REFUSED), нет ответа (спросили дважды), отвечает без авторитетности (нет aa), ошибка сервера (SERVFAIL). Молчание только по TCP не считается lame, пока Google и Cloudflare всё ещё разрешают домен: оно называется нет ответа по TCP, ведь сервер может отвечать по UDP.
Исправить можно всегда с одной из двух сторон: добавить зону у DNS-хостинга, на который указывает реестр, или направить реестр на хостинг, где зона есть. После исправления резолверы могут помнить сбой до 5 минут (RFC 9520).
Отказывает для зоны
ns63 · ns64.domaincontrol.com
Оба сервера GoDaddy, названные в .com, отвечают REFUSED: зона там не настроена.
$ dig @ns63.domaincontrol.com \ example.com SOA +norec ;; … status: REFUSED ;; flags: qr; … ANSWER: 0
Тайм-аут, затем REFUSED
ns1 · ns2.eftydns.com
Один сервер один раз не ответил вовремя, а при повторном запросе ответил REFUSED. Один тайм-аут — не вердикт: прежде чем назвать состояние, инструмент спрашивает ещё раз.
$ dig @ns1.eftydns.com \ example.com SOA +norec ;; connection timed out # спросили ещё раз ;; … status: REFUSED
Один из трёх
ns1 · ns2 · ns3.domaindirect.com
Два сервера отвечают авторитетно, третий отказывает. Домен работает, но медленнее.
$ dig @ns2.domaindirect.com \ example.net SOA +norec ;; … status: REFUSED # ns1, ns3: NOERROR, flags qr aa
- Узнайте, куда указывает реестрВид «Делегирование» перечисляет серверы реестра и ответ каждого.
- Исправьте одну сторонуДобавьте зону у этого хостинга или смените DNS-серверы у регистратора.
- Проверьте сноваОтветы возвращаются сразу; кэшированный сбой живёт до 5 минут.
Что видят посетители, когда lame все серверы:Google SERVFAILCloudflare SERVFAIL
Сколько DNS-серверов нужно домену?
Не меньше двух: «The DNS specification and domain name registration rules require at least two servers for every zone» (RFC 2182 §5, BCP 16). Тот же раздел рекомендует три для большинства организаций, один из которых — вдали от остальных, и четыре-пять там, где надёжность важнее.
Считайте сети, а не имена. Серверы должны стоять там, куда один сбой не дотянется до всех (RFC 2182 §3.1): шесть серверов в одной /22 делят одну судьбу в маршрутизации. Anycast распределяет один адрес по многим точкам и обычно решает задачу, но оператор всё равно один; второй провайдер переживёт сбой первого (RFC 8901).
Больше — тоже можно. Старый предел RFC 1912 в семь серверов происходил от UDP-ответов в 512 байт; сегодня крупные зоны держат восемь (github.com, bbc.co.uk).
| Домен | Серверы по сетям | NS | Сети | Вывод |
|---|---|---|---|---|
| google.com | Google · AS15169 · anycast-сеть | 4 | 1 | Anycast, один оператор |
| github.com | NS1 · AS62597Route 53 · AS16509 · anycast-сеть | 8 | 2 | Два провайдера |
| bbc.co.uk | NetActuate · AS63911NS1 · AS62597 | 8 | 2 | Две сети |
| xserver.ne.jp | Xserver · AS131965Amazon · AS16509 | 5 | 2 | Две сети |
| craigslist.org | craigslist · AS22414 | 6 | 1 | Один /22 |
«Рекомендуется предоставлять три сервера для большинства зон уровня организации, причём по меньшей мере один из них должен быть хорошо удалён от остальных» (перевод цитаты)
RFC 2182 §5 · BCP 16, июль 1997 · два обязательны, три рекомендуются
Как сменить DNS-серверы и сколько это занимает
Меняйте их там, где зарегистрирован домен, а не у DNS-хостинга: регистратор отправляет новый список в реестр, а реестр его публикует. Сначала добавьте зону у нового хостинга со всеми записями, чтобы новые серверы отвечали в ту же минуту, как их назовут.
Дальше идут два отсчёта. Резолверы, сохранившие перенаправление реестра, держат старый список до истечения TTL родителя: 2 дня в .com, 1 день в .de и .jp, 1 час в .org. Резолверы, которые уже спрашивали зону, держат старый собственный набор NS зоны в течение её TTL, а он может быть дольше: у google.com это 4 дня. Google Public DNS хранит NS не дольше 6 часов.
Поэтому «24–48 часов» — не универсальный срок. Пусть старый DNS-хостинг отвечает теми же записями, пока не истечёт более долгий отсчёт, а у подписанного домена удалите DS до переезда (RFC 6781).
У регистратора: собственное руководство каждого
- GoDaddyDNS → Nameservers
- NamecheapDomain List → Manage → Nameservers
- Squarespace DomainsDNS → Domain Nameservers
- PorkbunDetails → Nameservers
- Onamae.comネームサーバー/DNS → ネームサーバー設定
- XServer Domainネームサーバー設定
- MuuMuu Domainドメイン管理 → ネームサーバー設定変更
- Cloudflare Registrarостаётся на DNS-серверах Cloudflare
Как долго живёт копия реестра (TTL NS родителя)
- .ru4 дня345 600 s
- .com2 дня172 800 s
- .uk2 дня172 800 s
- .de1 день86 400 s
- .jp1 день86 400 s
- .tr12 часов43 200 s
- .dev3 часа10 800 s
- .org1 час3 600 s
- .io1 час3 600 s
- .in15 минут900 s
Отсчёты после смены
- Старое перенаправление в кэшахTTL родителя.com: до 2 дня
- Старый набор NS зоны в кэшахTTL старой зоныgoogle.com: до 4 дня
- Google Public DNSего предел для NSне дольше 6 часов
NS, SOA и glue-записи: в чём разница
На делегировании встречаются три записи. NS называет серверы: копия родителя указывает путь, копия зоны — источник авторитета. Glue — запись A или AAAA, которую родитель хранит только для серверов, названных внутри зоны. SOA есть один раз на зону, в её начале: первичный сервер, контактный адрес, серийный номер и таймеры.
Сервер, который отвечает на запрос SOA с флагом aa, хранит зону, поэтому инструмент спрашивает SOA у каждого сервера. Серийный номер показывает, одинаковая ли версия на серверах; Route 53 начинает с 1 и сам его не меняет, а у зоны у двух провайдеров два серийных номера, и оба нормальны.
Зона .comеё ведёт Verisign
- NSgoogle.com. 172800 NS ns1.google.com.Делегирование: куда идти дальше · не авторитетно
- Ans1.google.com. 172800 A 216.239.32.10Glue: адрес сервера, чтобы до него можно было добраться
- DSнет DS: google.com не подписанDS: указывает на ключ подписи дочерней зоны; только у подписанных зон (cloudflare.com DS 2371 13 2)
граница зон · google.com
Зона google.comеё ведёт Google
- NSgoogle.com. 345600 NS ns1.google.com.Собственный список зоны · авторитетно
- SOAns1.google.com. dns-admin.google.com. 1003797344 900 900 1800 60Одна на зону: первичный сервер, контакт, серийный номер, таймеры
- Ans1.google.com. 345600 A 216.239.32.10Собственный адрес сервера: glue должен с ним совпадать
Проверка NS и команда nslookup: в чём разница
По запросу «проверка ns» ищут две разные вещи: DNS-серверы домена и команду nslookup, которая входит в Windows, macOS и Linux. nslookup спрашивает ваш резолвер и печатает то, что у него в кэше; с -type=ns она выводит набор NS зоны в том виде, в каком его хранит ваш резолвер.
Эта копия может быть старой на несколько часов, и она никогда не показывает список реестра, glue и то, хранит ли каждый сервер зону. Эта страница спрашивает напрямую каждого, до кого может добраться.
| Эта проверка NSdnsrobot.net | nslookup-type=ns | digNS · +norec | |
|---|---|---|---|
| Спрашивает | реестр, затем каждый сервер | ваш резолвер | любой один названный вами сервер |
| Реестр и зона | оба, имя за именем | копию в кэше | один список на команду |
| aa каждого сервера | каждый IPv4-адрес (A и glue) | Нет | один сервер на команду |
| Glue и TTL | оба TTL | с -debug | в выводе |
| Диагноз | названа причина и способ исправить | Нет | Нет |
| Работает | в любом браузере | WindowsmacOSLinux | macOSLinux |
Проверка NS: частые вопросы
Что такое проверка NS?
Как узнать, кто мой DNS-провайдер?
Почему реестр и зона перечисляют разные DNS-серверы?
Что такое lame-делегирование?
Сколько занимает смена DNS-серверов?
Сколько DNS-серверов должно быть у домена?
Что такое glue-записи и когда они нужны?
Почему разные инструменты показывают разные DNS-серверы?
Что значит «напрямую не опрашивался»?
Проверка NS — это то же самое, что nslookup?
Почему моя смена DNS-серверов пока не видна?
Нужно ли удалять DNSSEC перед сменой DNS-серверов?
Другие инструменты DNS
Проверка DNS
Все DNS-записи прямо с серверов имён домена рядом с кешем Google и Cloudflare
WHOIS Поиск
Поиск данных о регистрации домена, регистраторе и владельце через RDAP
Проверка хостинга
Узнайте, кто хостит любой сайт: хостинг, CDN, CMS, почтовый провайдер, регистратор и издатель SSL
MX Поиск
Поиск записей mail exchange и данных почтового сервера
Домен в IP
Преобразование любого доменного имени в IP адрес с геолокацией и определением CDN
Обратный DNS
Поиск имён хостов по IP адресу через записи PTR
Поиск поддоменов
Поиск всех поддоменов любого домена
Возраст домена
Проверка даты регистрации домена, возраста, срока действия и данных регистратора через WHOIS