Почему DNS не разрешается после изменения сервера имен, несмотря на успешность рекурсивного поиска DNS?

12

Я недавно перенес свой домен из Cloudflare в Netlify DNS, поэтому мне пришлось обновить свои серверы имен. Когда я запускаю рекурсивный поиск DNS, который обходит кэш DNS, кажется, что все настроено правильно:

$ dig howtogit.net +trace
(output truncated)
howtogit.net.       20  IN  A   159.65.199.87
;; Received 57 bytes from 198.51.44.1#53(dns1.p01.nsone.net) in 18 ms

Тем не менее, обычный поиск DNS не удается:

$ nslookup howtogit.net                                                                               
Server:     192.168.1.1
Address:    192.168.1.1#53

** server can't find howtogit.net: SERVFAIL

Я предполагаю, что если бы кеширование было ошибочным, Cloudflare все равно разрешил бы поиск, который он не делает. Поиск по 8.8.8.8 (DNS от Google) также не выполняется:

$ dig @8.8.8.8 howtogit.net

; <<>> DiG 9.10.6 <<>> @8.8.8.8 howtogit.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 63809
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;howtogit.net.          IN  A

;; Query time: 43 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Sep 23 13:05:50 CEST 2018
;; MSG SIZE  rcvd: 41

Поскольку записи DNS кэшируются, я также попытался очистить кэш DNS Google для моих записей NS и A. Я все еще получаю тот же результат, несмотря на то, что изменения произошли более 10 часов назад.

Моя конфигурация неверна? Как мне убедиться, что мой DNS может снова разрешить правильно?

Pieter
источник
1
В подобных случаях инструмент, подобный этому, dnsviz.netдолжен легко показать вам, что существует проблема DNSSEC. На самом деле вы можете ясно увидеть проблему здесь: dnsviz.net/d/howtogit.net/W6d5WA/dnssec, которую вы можете сравнить с текущей рабочей: dnsviz.net/d/howtogit.net/W6kJlg/dnssec
Патрик Мевзек
Да, я понял это. В конечном итоге я решил вернуться к Cloudflare, потому что Netlify DNS не поддерживает DNSSEC. Но приятно знать!
Питер
DNSSEC действительно сложно. Компромисс между функциями, которые он предоставляет, и необходимыми шагами. В связанных случаях совет по устранению неполадок: если происходит digсбой с SERVFAIL, но если вы повторяете одно +cdи то же добавление, и это больше не дает сбоя, то это, вероятно, означает, что проблема связана с DNSSEC. +cdотключить проверки DNSSEC, отсюда и возможная разница. Но SERVFAIL может случиться из-за множества проблем, в DNS нет (на данный момент) расширенных кодов ошибок ...
Патрик Мевзек,

Ответы:

24

Похоже, что howtogit.netзона, к которой он был подписан, и что после переключения серверов имен она больше не подписывается.

Однако вы оставили старую DSзапись на месте, что указывает на то, что зона должна быть подписана каким-то конкретным ключом.

Удалите DSзапись или подпишите зону еще раз и обновите ее, DSесли необходимо ( DSзапись ведется через вашего регистратора).

Если вы посмотрите на конец соответствующего dig +traceвывода, на самом деле совершенно ясно, что это должно иметь место ( DSкак часть реферала, но не DNSKEYна официальном конце, или просто нет подписей, если вы запрашиваете какой-то другой тип):

$ dig +trace +all howtogit.net DNSKEY

...

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63298
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;howtogit.net.                  IN      DNSKEY

;; AUTHORITY SECTION:
howtogit.net.           172800  IN      NS      dns1.p01.nsone.net.
howtogit.net.           172800  IN      NS      dns2.p01.nsone.net.
howtogit.net.           172800  IN      NS      dns3.p01.nsone.net.
howtogit.net.           172800  IN      NS      dns4.p01.nsone.net.
howtogit.net.           86400   IN      DS      2371 13 2 F7822E035739507BFB9ED504B65FFE7A95698E58C069EF1DE754EED0 55E6799F
howtogit.net.           86400   IN      RRSIG   DS 8 2 86400 20180927051931 20180920040931 7934 net. POLNdGPgCCeF6ClG4ro1mkUI5DpqUuuLLeR4WCly1L5GbOTgPnzg02Nx 2Sse2dYDLJLB1EQYotZkvVm8GNFS5iE8UQlmp4GA3yxTgUeifw5PX6Eh kiJSip37/CyGCTy6OMPoVeMgQjLnrxt1aAOsnO5BszeGY7gD6ee/XHMO zc4=

;; ADDITIONAL SECTION:
dns1.p01.nsone.net.     172800  IN      A       198.51.44.1
dns2.p01.nsone.net.     172800  IN      A       198.51.45.1
dns3.p01.nsone.net.     172800  IN      A       198.51.44.65
dns4.p01.nsone.net.     172800  IN      A       198.51.45.65

;; Query time: 159 msec
;; SERVER: 2001:503:231d::2:30#53(2001:503:231d::2:30)
;; WHEN: Sun Sep 23 11:35:52 UTC 2018
;; MSG SIZE  rcvd: 402

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53062
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;howtogit.net.                  IN      DNSKEY

;; AUTHORITY SECTION:
howtogit.net.           3600    IN      SOA     dns1.p01.nsone.net. hostmaster.nsone.net. 1537613509 43200 7200 1209600 3600

;; Query time: 1 msec
;; SERVER: 198.51.45.65#53(198.51.45.65)
;; WHEN: Sun Sep 23 11:35:52 UTC 2018
;; MSG SIZE  rcvd: 103

$
Хокан Линдквист
источник
1
Вы находитесь на ... похоже, я забыл отключить DNSSEC перед миграцией. Я удалил запись DS с моим регистратором, и 8.8.8.8 немедленно начал правильно разрешать домен.
Питер
5
@ Питер Нет проблем. Спасибо за то, что не запутываете специфику, которая в противном случае делает такие вопросы излишне трудными для ответа.
Хокан Линдквист,