Độ phân giải DNS khi không có bản ghi A


1

Có các tên miền, được đăng ký trong DNS chỉ với bản ghi SOA, nhưng không có bất kỳ bản ghi A nào (hoặc bất kỳ bản ghi nào khác):

> dig wien.eu

; <<>> DiG 9.9.7-P3 <<>> wien.eu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51354
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu.           IN  A

;; AUTHORITY SECTION:
wien.eu.        1922    IN  SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400

;; Query time: 134 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Dec 02 19:45:19 CET 2017
;; MSG SIZE  rcvd: 101

Những gì trông giống như một bản ghi A chỉ là một nhận xét (nó bắt đầu bằng dấu chấm phẩy). Ngay cả khi đó không phải là một nhận xét, nó sẽ không đúng định dạng (tức là không phải là bản ghi A) vì nó không chứa địa chỉ IP.

Hầu hết các lệnh, thường giải quyết các tên miền (như ping, telnet và các tên khác) bằng DNS sẽ không thành công nếu không có gì ngoài một mục nhập SOA (và rất nhiều bình luận và các dòng trống).

Ngoài ra, nhiều webbrows không thể mở một trang web trên một miền duy nhất như vậy, như http://wien.eu , trong số đó:

  • Google Chrome
  • Opera
  • Trình duyệt tor

Nhưng có những trình duyệt sẽ mở một trang web nếu bạn nhập một tên miền như vậy:

  • cuộc đi săn, cuộc hành trình
  • Firefox

Tôi không thể kiểm tra Internet Explorer, vì tôi sử dụng Mac OS và nó không khả dụng ở đó.
Trong trường hợp ví dụ đã cho, họ chuyển hướng đến một URL khác (mà btw. Trông giống như một cách có ý nghĩa để giải quyết URL đã cho, điều này khiến tôi tin rằng đó là hành vi mong muốn).

Tôi tự hỏi, Safari và Firefox làm gì để thực hiện điều kỳ diệu này, mà các trình duyệt và công cụ khác không thể làm được.

btw: Tôi nghĩ rằng để biết DNS hoạt động như thế nào và tôi nghĩ, điều này có nghĩa là, các tên miền chỉ dành cho SOA như wien.eu không thể được phân giải thành địa chỉ IP. Nhưng Safari và Firefox chứng minh điều ngược lại.

Phụ lục trong phản ứng với một câu trả lời.

Tất cả 5 trình duyệt được sử dụng trong thử nghiệm của tôi đều là phiên bản mới nhất và tất cả chúng đều chạy trên cùng một máy tính (iMac với Mac OS X 10.13 High Sierra). Vì vậy, tất cả họ đều sử dụng chính xác cùng một Hệ điều hành và họ cũng sử dụng chính xác cùng một Máy chủ DNS.

Và không có Bản ghi AAAA trong tệp vùng (như bạn có thể thấy trong đầu ra được trích dẫn của đào ở trên).

Và nếu bạn không thể tin được: Hãy thử. Sử dụng bất kỳ công cụ nào bạn muốn kiểm tra cài đặt DNS của wien.eu và thử mở nó trong hai trình duyệt khác nhau thuộc về từng nhóm được liệt kê ở trên.


Tôi chỉ cố mở nó trong Safari (Phiên bản 11.0.1 (13604.3.5)) trong macOS 10.13 (High Sierra) và không thể. Tôi đã cố tải nó trong Firefox (phiên bản 57) trên cùng một máy Mac và nó chuyển hướng đến https://www.wien.gv.at/. Có vẻ như bản ghi DNS được quản lý tồi.
JakeGould

@JakeGould: Bạn có thể giải thích chi tiết hơn về ý nghĩa của bạn với "bản ghi DNS được quản lý kém" không? Tại sao nó xấu? Thậm chí quan trọng hơn: Tại sao nó hoạt động trong một số trình duyệt?
Hubert Schölnast

Nó là một bản ghi DNS thiết lập rất xấu. Nó được thiết lập xấu vì không có bản ghi A. Tại sao nó hoạt động là tùy ý dựa trên những gì trình phân giải DNS có thể trả về. Vì vậy, nó giống như đánh bạc để làm việc này. Như tôi đã nói, nó không hoạt động trong Safari đối với tôi. Vì vậy, đây là một bản ghi DNS bị nhập sai hoặc quản lý không đủ năng lực. Đó là nó.
JakeGould

@JakeGould: Ok. Những gì tôi nghĩ khi tôi thấy bản ghi DNS này là: Điều này không bao giờ có thể giải quyết với bất kỳ địa chỉ IP nào, điều này có lẽ được thực hiện chỉ để dự trữ tên miền này để sử dụng trong tương lai. Nhưng nó giải quyết trong một số trình duyệt và sau đó (sau khi giải quyết) nó chuyển hướng đến https://www.wien.gv.at/. Tôi hiểu chuyển hướng, nhưng tôi không hiểu cách giải quyết tên miền hoạt động trong trường hợp này.
Hubert Schölnast

1
Tôi là cử tri xuống. Tôi thực sự không rõ mục tiêu của bạn là gì khi đăng câu hỏi này. Bây giờ bạn đã tự giải quyết, tất cả trở nên khá rõ ràng. Cuối cùng, đó vẫn là một vấn đề về bản ghi DNS được cấu hình kém / mặc dù, nhưng lời giải thích của bạn thực sự làm sáng tỏ lý do tại sao những thứ không nên hoạt động đột ngột lại hoạt động trong thời đại trình duyệt web này điền vào chỗ trống của bạn.
JakeGould

Câu trả lời:


1

Tôi không tin các trình duyệt khác sẽ có thể phân giải tên miền (trừ khi có các bản ghi CNAME hoặc AAAA giúp DNS tìm ra nơi tiếp theo và sẽ được bất kỳ trình duyệt nào nhận ra như nhau).

Một số giải thích có thể có của hành vi nhìn thấy -

  • Kết quả được lưu trong bộ nhớ cache đang được sử dụng làm dự phòng, nhưng không có sẵn trong tất cả các trình duyệt.
  • Các máy chủ tên khác nhau được chọn với thông tin tệp vùng khác nhau (có thể phân tách bộ đệm ẩn DNS hoặc DNS)

  • Lưu trữ các mục nhập tệp trên một số máy tính nhưng không phải các mục khác hoặc miền tìm kiếm có thể sửa đổi các mục dự phòng DNS.

  • Sử dụng nếu proxy lưu trữ - có thể là proxy minh bạch ở cấp độ ISP.

  • Một chút nếu đoán, nhưng nếu có bản ghi AAAA, có thể có giới hạn trình duyệt và / hoặc hệ điều hành xử lý tài nguyên IPV6.

Điều liên quan là các trình duyệt web không tự giải quyết DNS, thay vào đó họ thực hiện cuộc gọi IS và để IS xử lý. AFAIK điều này đúng nếu tất cả các trình duyệt.

Cập nhật câu trả lời cụ thể cho máy chủ này và thông tin bổ sung

Một trong những lời giải thích có thể có trong câu trả lời trước đây của tôi "Các máy chủ tên khác nhau được chọn với thông tin tệp vùng khác nhau (có thể phân tách bộ đệm ẩn DNS hoặc DNS)" là chính xác.

Thực hiện truy vấn giống hệt nhau hai lần cho cùng một máy chủ tên có thẩm quyền mang lại kết quả khác nhau như sau:

davidgo @ davidgo-Chính xác-T1500: ~ $ dig @ dns1.wien.at wien.at

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.at
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47939
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.at.           IN  A

;; ANSWER SECTION:
wien.at.        300 IN  A   217.149.229.10

;; AUTHORITY SECTION:
wien.at.        86400   IN  NS  ns11.govix.at.
wien.at.        86400   IN  NS  ns5.univie.ac.at.
wien.at.        86400   IN  NS  dns1.magwien.gv.at.
wien.at.        86400   IN  NS  dns1.wien.at.

;; ADDITIONAL SECTION:
dns1.magwien.gv.at. 86400   IN  A   217.149.228.128
dns1.wien.at.       86400   IN  A   217.149.229.128

;; Query time: 278 msec
;; SERVER: 217.149.229.128#53(217.149.229.128)
;; WHEN: Sun Dec 03 11:27:55 NZDT 2017
;; MSG SIZE  rcvd: 186

davidgo@davidgo-Precision-T1500:~$ dig @dns1.wien.at wien.eu -t any 

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @dns1.wien.at wien.eu -t any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56418
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wien.eu.           IN  ANY

;; ANSWER SECTION:
wien.eu.        86400   IN  SOA dns1.magwien.gv.at. hostmaster.magwien.gv.at. 2013082700 10800 3600 604800 86400
wien.eu.        86400   IN  NS  dns1.magwien.gv.at.
wien.eu.        86400   IN  NS  dns1.wien.at.

;; ADDITIONAL SECTION:
dns1.magwien.gv.at. 86400   IN  A   217.149.228.128
dns1.wien.at.       86400   IN  A   217.149.229.128

;; Query time: 277 msec
;; SERVER: 217.149.229.128#53(217.149.229.128)
;; WHEN: Sun Dec 03 11:28:15 NZDT 2017
;; MSG SIZE  rcvd: 171

Điều này chắc chắn có nghĩa là có vấn đề với việc thiết lập máy chủ tên, nhưng có thể là bất kỳ số lượng nào, bao gồm các sự cố với máy chủ tên chính bị ẩn, sự cố với máy chủ tên thực tế, sự cố với một số thành viên của cụm DNS hoặc kết hợp ở trên . Đáng lưu ý rằng các bản ghi máy chủ tên trả về cũng khác nhau.

Tôi cũng tin rằng một số bộ nhớ đệm máy chủ tên đang diễn ra trong HĐH, vì truy vấn trả về kết quả thực sự trả về trình duyệt khá hiếm khi.

Một điều đáng chú ý là truy vấn đào của bạn không được thực hiện đối với một máy chủ tên có thẩm quyền - và nhiều / hầu hết các ISP sử dụng các nhóm máy chủ tên được xếp sau một địa chỉ IP duy nhất - mỗi địa chỉ có thể có thông tin khác nhau do bộ nhớ đệm vùng. Điều này là hiển nhiên nếu bạn thực hiện một truy vấn đối với (ví dụ) 8.8.8.8 - Máy chủ tên "chính" của Google, nhiều lần và xem độ nảy nảy của TTL tùy thuộc vào máy chủ tên phụ mà bạn nhận được. (TTL là số giữa tên miền và "IN" trong bản ghi SOA, nhưng nó tồn tại trên tất cả các bản ghi. Nếu chỉ có một máy chủ duy nhất, số đó sẽ giảm khi giây trôi qua cho đến khi nó nhảy 0 và thực hiện tra cứu mới.


Tôi sẽ đánh giá thấp bạn nếu tôi có đủ danh tiếng: Tất cả các trình duyệt chạy trên cùng một máy tính. Điều này có nghĩa là: Tất cả 5 trình duyệt sử dụng cùng một HĐH và do đó, cùng một máy chủ DNS. Tài nguyên wien.eu trước đây không có bộ đệm và chỉ có một bản ghi SOA trong tệp vùng, không có gì khác (ngoại trừ một số bình luận), cũng có nghĩa là: không có bản ghi AAAA. Hãy thử nó! đào wien.eu và thử mở nó trong firefox và Chrome.
Hubert Schölnast

3
Bạn không nên cắn tay cố gắng cho bạn ăn - có vẻ thô lỗ khi bạn nghĩ rằng câu trả lời của tôi là sai, nhưng sau đó bạn sửa đổi bài đăng của mình do thiếu sót mà câu trả lời của tôi thể hiện rõ trong câu hỏi của bạn. Bạn có thể hoặc không quan tâm rằng sự nghiệp 20 năm của tôi bao gồm xây dựng ISP và quản trị hệ thống Internet. Tôi đã nhận được một máy tính và cập nhật bài viết của mình sau khi rõ ràng tìm ra nguyên nhân gốc rễ của vấn đề.
davidgo

Tôi đã đánh dấu rõ ràng chỉnh sửa của mình là "phụ lục" và "Phản ứng với câu trả lời". Tôi đã không thay đổi bất cứ điều gì trên nhóm này. Và tôi cũng kiếm được tiền từ việc làm việc với máy tính từ năm 1993, trong số nhiều thứ khác tôi cũng phải quản trị một số máy chủ cho khách hàng của mình từ năm 2001, và bây giờ, ở tuổi 52 tôi thậm chí bắt đầu học lại (bảo mật CNTT). Và câu trả lời của bạn vẫn sai, và thật không thô lỗ khi nói điều này nếu nó đúng!. Xin vui lòng đọc kỹ những gì tôi thực sự đã viết. Tôi không hỏi về wien.AT . Tôi hỏi về wien.EU . EU như E ur âu U nion.
Hubert Schölnast

btw: Bây giờ tôi có thể chứng minh rằng câu trả lời của bạn sai và do đó cần phải hạ cấp xuống, bởi vì trong lúc đó tôi đã tìm thấy câu trả lời đúng: superuser.com/a/1273824/175792
Hubert Schölnast

1

Tôi đã tìm thấy câu trả lời cho câu hỏi của riêng mình bằng cách nắm bắt lưu lượng IP.

Tóm lại

Khi firefox không nhận được địa chỉ IP wien.eu, nó đã hỏi (không có bất kỳ đơn đặt hàng nào từ người dùng hoặc bất kỳ ai khác) www.wien.euthay vào đó (nó đã nối tiền tố www.với tên miền ban đầu). Vì có một bản ghi A hợp lệ cho tên miền khác này, nó đã nhận được câu trả lời (tức là địa chỉ IP), gửi a HTTP GETđến trang web này, nhận 301 redirectvà sau đó tải tài nguyên được chuyển hướng.

Rõ ràng các trình duyệt khác không thực hiện thủ thuật www này.


Chi tiết

Tôi đã sử dụng Kali Linux làm Hệ điều hành và ở đó tôi đã khởi động Firefox. Tôi đã sử dụng Wireshark để nắm bắt giao thông. Dưới đây là những phát hiện của tôi một cách chi tiết:

Firefox yêu cầu AAAAAcác bản ghi DNS cho wien.euvà cho wien.eu.localdomainvà luôn nhận được câu trả lời No such name. Nó hỏi cổng mặc định của nó, mà rõ ràng cũng là một máy chủ DNS.

Firefox sends (time = 0.000):
1: Standard DNS-Query: wien.eu: type A, class IN
2: Standard DNS-Query: wien.eu: type AAAA, class IN

Firefox receives (time = 0.030):
3: (Response to 1): Standard DNS-Response: No such name A wien.eu
4: (Response to 2): Standard DNS-Response: No such name AAAA wien.eu

Firefox sends (time = 0.030):
5: Standard DNS-Query: wien.eu.localdomain: type A, class IN
6: Standard DNS-Query: wien.eu.localdomain: type AAAA, class IN

Firefox receives (time = 0.031):
7: (Response to 5): Standard DNS-Response: No such name A wien.eu.localdomain
8: (Response to 6): Standard DNS-Response: No such name AAAA wien.eu.localdomain

Sau đó, Firefox lặp lại chính xác bốn truy vấn giống nhau và nhận được chính xác các câu trả lời giống nhau (tin nhắn # 9 đến # 16, time = 0,047, 0,053, 0,054, 0,054)

Và một lần nữa (tin nhắn # 17 đến # 24, thời gian = 0,057 đến 0,083)

Và một lần nữa (tin nhắn # 25 đến # 32, thời gian = 0,083 đến 0,095)

Trong vòng 5, Firefox thêm tiền tố www.vào tên miền và bây giờ, nó nhận được câu trả lời hữu ích:

Firefox sends (time = 0.113):
33: Standard DNS-Query: www.wien.eu: type A, class IN
34: Standard DNS-Query: www.wien.eu: type AAAA, class IN

Firefox receives (time = 0.140):
35: (Response to 33): Standard DNS-Response: 
Answers:
www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at
redirector.magwien.gv.at: type A class IN, addr 217.149.229.45
Authorative nameservers
magwien.gv.at: type NS, class IN, ns ns11.govix.at.
magwien.gv.at: type NS, class IN, ns dns1.magwien.gv.at.
magwien.gv.at: type NS, class IN, ns ns5.univie.ac.at.
magwien.gv.at: type NS, class IN, ns dns1.wien.at.
Additional records
ns11.govix.at: type A, class IN, addr 192.76.243.11
ns11.govix.at: type AAAA, class IN, addr 2001:67c:133c::11
dns1.wien.at: type A, class IN, addr 217.149.229.128
dns1.magwien.gv.at: type A, class IN, addr 217.149.228.128
ns5.univie.ac.at: type A, class IN, addr 193.171.255.77
ns5.univie.ac.at: type AAAA, class IN, addr 2001:628:453:4305::53

36: (Response to 34): Standard DNS-Response:
Answers:
www.wien.eu: type CNAME, class IN, cname redirector.magwien.gv.at
Authorative nameservers
magwien.gv.at: type SOA, class IN, mname dns1.magwien.gv.at.

Vì hiện tại Firefox có địa chỉ IP, nó tạo ra kết nối TCP đến địa chỉ này (bắt tay TCP, tin nhắn # 37-39). Sau đó, trong thông báo # 40, nó sẽ gửi yêu cầu HTTP GET đến đích này:

GET / HTTP1.1
Host: www.wien.eu
(and some additional HTTP headers)

Máy chủ thừa nhận yêu cầu này (tin nhắn # 41) và sau đó gửi câu trả lời này trong tin nhắn # 42:

301 Moved Permanently
Location: https://www.wien.gv.at/

Phần còn lại là rõ ràng:

  • Firefox gửi xác nhận TCP (tin nhắn # 43)
  • Firefox yêu cầu độ phân giải DNS cho www.wien.gv.at(A và AAAA, tin nhắn # 44 và # 45)
  • Firefox nhận được câu trả lời (tin nhắn # 46 và # 47)
  • Sau đó, Firefox bắt đầu hộp thoại HTTPS phức tạp để tải trang html mà nó sẽ hiển thị.
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.