Чому 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
@Pieter Немає проблем. Дякуємо за те, що не опромінюєте конкретику, що в іншому випадку, як правило, робить такі питання без зайвих труднощів відповісти.
Хокан Ліндквіст
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.