DNS SERVFAIL Ошибка для нормального копания, но нет ошибки с + trace - PullRequest
0 голосов
/ 14 февраля 2019

Я настроил новую зону (домен IDN) на своем авторитетном DNS-сервере, но она не работает, когда я пытаюсь устранить неполадки с помощью команды DIG, я получаю "SERVFAIL"

dig.exe @8.8.8.8 xn - mgba6g.xn - ngbsg9e a

;<< >> DiG 9.12.3 << >> @ 8.8.8.8 xn ---- zmcaaaqc9f5a4icedb.xn - mgberp4a5d4ar a;(Найден 1 сервер) ;;глобальные параметры: + cmd ;;Получил ответ: ;;- >> HEADER << - код операции: QUERY, статус: SERVFAIL, id: 64359 ;;флаги: qr rd ra;QUERY: 1, ОТВЕТ: 0, АВТОР: 0, ДОПОЛНИТЕЛЬНО: 1 </p>

, но когда я добавляю опцию + trace, она работает отлично!

dig.exe @ 8.8.8.8 xn - mgba6g.xn - ngbsg9e a + trace

Я знаю, что эта опция будет повторяться от корня до моей аутентификации.DNS, но почему не работает нормальное разрешение, я не использую свой распознаватель, я пытаюсь из всех известных DNS, таких как Google (8.8.8.8)

1 Ответ

0 голосов
/ 14 февраля 2019

xn--ngbsg9e не является действительным TLD, он не отображается в корневом списке IANA в https://www.iana.org/domains/root/db.

@ и +trace являются взаимоисключающими: при +trace dig начинается с корняnameservers, поэтому опция @ игнорируется.

Как с, так и без +trace dig даст вам NXDOMAIN для этого домена, так как его TLD не существует.Если вы получите какой-либо другой результат, это означает, что что-то в вашей сети мешает с DNS-пакетами, и, например, переписывает NXDOMAIN, чтобы указать на какой-то подстановочный хост.

Показать ваши полные ответы.

Мой - это

$ dig @8.8.8.8 xn--mgba6g.xn--ngbsg9e a

; <<>> DiG 9.12.0 <<>> @8.8.8.8 xn--mgba6g.xn--ngbsg9e a
; (1 server found)
;; global options: +cmd
;; Sending:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5105
;; flags: rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: a6e60ed1fe2c4eef
;; QUESTION SECTION:
;xn--mgba6g.xn--ngbsg9e.    IN A

;; QUERY SIZE: 63

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 5105
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;xn--mgba6g.xn--ngbsg9e.    IN A

;; AUTHORITY SECTION:
.           23h59m59s IN SOA a.root-servers.net. nstld.verisign-grs.com. (
                2019021400 ; serial
                1800       ; refresh (30 minutes)
                900        ; retry (15 minutes)
                604800     ; expire (1 week)
                86400      ; minimum (1 day)
                )

;; Query time: 122 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Feb 14 09:33:50 EST 2019
;; MSG SIZE  rcvd: 126

Теперь ваш пример, кажется, говорит и о xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar, который совершенно другой.Этот TLD существует.Но, как вы можете видеть на http://dnsviz.net/d/xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar/dnssec/, у вас есть проблема с настройкой DNS.Набор серверов имен, записанных в родительском (реестре) для вашего домена, не соответствует спискам вашей зоны.Вам нужно будет пройти через своего регистратора и исправить проблемы с DNS, убедившись, что вы используете точно такой же список серверов имен.

Реестр содержит:

$ dig @n.nic.net.sa xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar NS | grep "IN NS "
xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar. 1h IN NS nslab1.saudi.net.sa.
xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar. 1h IN NS nslab2.saudi.net.sa.

Но спрашивая эти два сервера имен:

  • nslab1.saudi.net.sa, кажется, не отвечает вообще
  • другой дает: xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar. 5m IN NS nslab1.saudi.net.sa.

(только один NS, а не два).

Таким образом, вам нужно исправить как ваши серверы имен, так и контент, который они обслуживают.

Также у вас есть проблема DNSSEC, ключ DS, опубликованный в parent, не соответствует ни одному DNSKEY в вашей зоне:

$ dig @n.nic.net.sa xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar DS +multi

; <<>> DiG 9.12.0 <<>> @n.nic.net.sa xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar DS +multi

[..]

;; ANSWER SECTION:
xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar. 1h IN DS 23364 7 1 (
                42774D487FB256B3A9DBC9B1ACDBF128F0773C22 )

Но:

$ dig @nslab2.saudi.net.sa xn----zmcaaaqc9f5a4icedb.xn--mgberp4a5d4ar DNSKEY дает NOERROR, но без данных, то есть у вас нет записи DNSKEY в вашей зоне.

Сначала необходимо удалитьзапись DS у родителя, это только помешает вашим усилиям восстановить работоспособность DNS.

PS: 8.8.8.8 - не единственный публичный сервер имен в мире, пожалуйста, используйте другие (или дажелучше местный!) как 1.1.1.1 или 9.9.9.9 или 80.80.80.80 или 64.6.64.6

...