Почему 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 может снова разрешить правильно?


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
@ Питер Нет проблем. Спасибо за то, что не запутываете специфику, которая в противном случае делает такие вопросы излишне трудными для ответа.
Хокан Линдквист,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.