#Что происходит и как отличить проблему
SERVFAIL при запросе подписанного DNSSEC-домена может возникать, когда рекурсивный сервер не способен подтвердить цепочку подписей: например, у регистратора осталась прежняя запись DS после смены поставщика DNS. Но SERVFAIL бывает и при недоступности авторитетных серверов, поэтому DNSSEC нужно подтвердить диагностикой, а не выключать наугад.
#Возможные причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Несогласованная DS/DNSKEY-цепочкаПроверяющий сервер отвечает SERVFAIL, а запрос с флагом CD получает данные. | Недавно менялись DNS-провайдер или ключи подписи. | Сверить DS регистратора и ключи действующей зоны. |
| Недоступный авторитетный DNSЧасть рекурсивных запросов истекает по тайм-ауту независимо от подписи. | Сбой у нескольких DNS-серверов даже без проверки DNSSEC. | Проверить NS и доступность авторитетных серверов. |
#Пошаговая проверка и устранение
- Сохраните данные о домене и недавних измененияхЗапишите точное имя, время ошибок, DNS-сервер и менялись ли NS или DNSSEC у регистратора. Если вы обычный посетитель, ничего не исправляйте в домене — отправьте эту информацию администратору. Если вы владелец, до любой правки сохраните снимок действующих NS, DS, DNSKEY и настроек подписания зоны.
- Подтвердите SERVFAIL обычным запросомНа Windows нажмите Win+X → «Терминал» и откройте PowerShell. Выполните Resolve-DnsName -Name example.com -Type A -Server 1.1.1.1 -DnsOnly, заменив имя своим; затем запросите тот же домен через другой доверенный рекурсивный сервер. Запишите текст ошибки и время. Сам SERVFAIL ещё не доказывает ошибку DNSSEC.
- Сравните результат с отключённой проверкой ТОЛЬКО на отдельном запросеЕсли на диагностическом компьютере установлен dig (в Linux обычно из пакета dnsutils или bind-utils), запустите в терминале dig example.com A @1.1.1.1, затем dig example.com A @1.1.1.1 +cd. Замените example.com своим именем. Параметр +cd просит резолвер не выполнять проверку подписи только для этого теста; он не отключает DNSSEC в системе. Когда первый запрос SERVFAIL, а второй возвращает IP, вероятна ошибка цепочки DNSSEC.
- Сверьте DS и действующие NS с администраторомВ панели регистратора посмотрите запись DS делегированного домена. В панели действующего DNS-провайдера откройте DNSSEC и посмотрите актуальный DS/DNSKEY; параметры должны соответствовать инструкции поставщика. Если вы только что сменили NS, старые DS могут указывать на ключи прежнего провайдера. Не удаляйте DS и не выключайте DNSSEC автоматически: неверная последовательность может надолго сделать домен недоступным.
- Дополнительная команда по темеLinux · Терминал (Bash)КомандаДиагностическая команда для терминала Linux/macOS при наличии dig; example.com заменить своим доменом. +cd запрашивает отсутствие проверки подписи только для этого отдельного запроса. Никаких системных настроек команда не меняет.
dig example.com A @1.1.1.1 +cd - Внесите согласованную поправку и повторите проверкуДействовать должен уполномоченный администратор по пошаговой процедуре конкретного регистратора и DNS-провайдера, предварительно сохранив текущие значения и учтя TTL DS. После исправления дождитесь обновления кэшей, повторите оба запроса dig и откройте сайт по HTTPS. Если SERVFAIL остался и при +cd, проверьте доступность авторитетных серверов, делегирование и сетевые ошибки.
#Проверка результата и дальнейшие действия
Успех — обычные проверяющие DNS возвращают корректный A/AAAA без SERVFAIL, а сайт открывается. Отсутствие SERVFAIL только в тесте +cd не является устранением: оно означает, что проверка была пропущена именно в этом запросе.