Tại sao DNS không giải quyết sau khi máy chủ tên thay đổi, mặc dù việc tra cứu DNS đệ quy đang thành công?


12

Gần đây tôi đã di chuyển một tên miền mà tôi sở hữu từ Cloudflare sang Netlify DNS, vì vậy tôi phải cập nhật máy chủ tên của mình. Khi tôi chạy tra cứu DNS đệ quy bỏ qua bộ đệm DNS, mọi thứ dường như được thiết lập chính xác:

$ 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

Tuy nhiên, việc tra cứu DNS thông thường không thành công:

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

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

Tôi cho rằng nếu bộ nhớ đệm bị lỗi, Cloudflare vẫn sẽ giải quyết việc tra cứu mà nó không có. Việc tra cứu tại 8.8.8.8 (DNS của Google) cũng không thành công:

$ 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

Vì các bản ghi DNS được lưu trong bộ nhớ cache, tôi cũng đã thử xóa bộ đệm DNS của Google cho các bản ghi NS và A của mình. Tôi vẫn nhận được kết quả tương tự, mặc dù sự thay đổi đã xảy ra hơn 10 giờ trước.

Là cấu hình của tôi không chính xác? Làm cách nào để đảm bảo DNS của tôi có thể giải quyết lại đúng cách?


1
Trong những trường hợp như thế này, một công cụ như dnsviz.netsẽ dễ dàng cho bạn thấy có vấn đề về DNSSEC. Trong thực tế, bạn có thể thấy rõ vấn đề ở đây: dnsviz.net/d/howtogit.net/W6d5WA/dnssec mà bạn có thể so sánh với công việc hiện tại: dnsviz.net/d/howtogit.net/W6kJlg/dnssec
Patrick Mevzek

Đúng, tôi đã tìm ra nó. Cuối cùng, tôi quyết định chuyển trở lại Cloudflare vì Netlify DNS không hỗ trợ DNSSEC. Nhưng tốt để biết!
Pieter

DNSSEC thật khó. Một sự thỏa hiệp giữa các tính năng mà nó cung cấp và các bước cần thiết có nó. Trong các trường hợp liên quan, mẹo khắc phục sự cố: nếu digthất bại với SERVFAIL nhưng nếu bạn làm lại chính xác cùng một lần thêm +cdvà nó không thất bại nữa, thì điều đó có thể có nghĩa là sự cố liên quan đến DNSSEC. +cdvô hiệu hóa kiểm tra DNSSEC, do đó có thể có sự khác biệt. Nhưng SERVFAIL có thể xảy ra với rất nhiều vấn đề, không có mã lỗi mở rộng (hiện tại) trong DNS ...
Patrick Mevzek

Câu trả lời:


24

Có vẻ như howtogit.netkhu vực được sử dụng để anh ấy ký và sau khi chuyển đổi máy chủ tên thì nó không còn được ký.

Tuy nhiên, bạn đã để lại DSbản ghi cũ , chỉ ra rằng khu vực đó phải được ký với một số khóa cụ thể.

Xóa DSbản ghi hoặc ký lại vùng đó và cập nhật DSbản ghi khi cần thiết ( DSbản ghi được quản lý thông qua công ty đăng ký của bạn).

Nếu bạn nhìn vào phần đuôi của dig +traceđầu ra có liên quan thì thực sự khá rõ ràng rằng đây phải là trường hợp ( DSnhư một phần của giới thiệu nhưng không có DNSKEYở phần cuối có thẩm quyền hoặc chỉ không có chữ ký nếu bạn truy vấn một số loại khác):

$ 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
Bạn đang ở trên ... có vẻ như tôi đã quên tắt DNSSEC trước khi di chuyển. Tôi đã xóa bản ghi DS với công ty đăng ký của mình và 8.8.8.8 bắt đầu giải quyết tên miền chính xác ngay lập tức.
Pieter

5
@Pieter Không có vấn đề. Cảm ơn vì đã không làm xáo trộn các chi tiết cụ thể, điều này có xu hướng làm cho các loại câu hỏi này khó trả lời một cách không cần thiết.
Håkan Lindqvist
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.