Tại sao máy chủ và nslookup có thể giải quyết một tên nhưng không thể đào?


27

Bất cứ ai có thể cho tôi biết tại sao điều này đang xảy ra? Tôi có thể giải quyết tên máy chủ bằng cách sử dụng máy chủ và / hoặc nslookup nhưng tra cứu chuyển tiếp không hoạt động với đào; tra cứu ngược lại làm:

musashixxx@box:~$ host someserver
someserver.somenet.internal has address 192.168.0.252
musashixxx@box:~$ host 192.168.0.252
252.0.168.192.in-addr.arpa domain name pointer someserver.somenet.internal.
musashixxx@box:~$ nslookup someserver
Server:     192.168.0.253
Address:    192.168.0.253#53

Name:   someserver.somenet.internal
Address: 192.168.0.252
musashixxx@box:~$ nslookup 192.168.0.252
Server:     192.168.0.253
Address:    192.168.0.253#53

252.0.168.192.in-addr.arpa  name = someserver.somenet.internal.

musashixxx@box:~$ dig someserver

; <<>> DiG 9.8.1-P1 <<>> someserver
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55306
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;someserver.            IN  A

;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct  3 15:47:38 2012
;; MSG SIZE  rcvd: 27

musashixxx@box:~$ dig -x 192.168.0.252

; <<>> DiG 9.8.1-P1 <<>> -x 192.168.0.252
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28126
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;252.0.168.192.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
252.0.168.192.in-addr.arpa. 3600 IN PTR someserver.somenet.internal.

;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct  3 15:49:11 2012
;; MSG SIZE  rcvd: 86

Đây là những gì độ phân giải của tôi trông giống như:

nameserver 192.168.0.253
search somenet.internal

Hành vi này có bình thường không? Có suy nghĩ gì không?

Câu trả lời:


36

Đó là hành vi mặc định của đào không sử dụng tùy chọn tìm kiếm.

Từ trang hướng dẫn:

   +[no]search
       Use [do not use] the search list defined by the searchlist or
       domain directive in resolv.conf (if any). The search list is not
       used by default.

Chỉnh sửa: Chỉ cần thêm +searchđể làm cho nó hoạt động, như dig +search myhost.


Tôi có phải là người duy nhất thấy điều đó hơi phản cảm không? :-) Dù sao đi nữa, cảm ơn rất nhiều!
musashiXXX

5
@musashiXXX Vâng, điều đó phụ thuộc vào :-) Hầu hết mọi người sử dụng digđể gỡ lỗi DNS và trong trường hợp này, bạn nên vô hiệu hóa mọi thứ có thể làm rối tung các câu trả lời từ DNS. Tôi nghĩ rằng đó là một ý tưởng khá tốt; Hầu hết mọi người sử dụng hostnslookupsau khi tất cả. :-)
Alexander Janssen

7

Tôi đã có cùng một vấn đề. Sau khi kiểm tra các gói được gửi từ cả nslookup và đào bằng wireshark, tôi đã tìm thấy vấn đề.

đào đã thiết lập bit dữ liệu xác thực trong truy vấn. Theo trang man, "Điều này yêu cầu máy chủ trả về việc tất cả các phần câu trả lời và quyền hạn đều đã được xác thực là an toàn theo chính sách bảo mật của máy chủ." Bằng cách chạy đào với + noadflag, nó trả về kết quả tương tự như nslookup.


3
Có cùng một vấn đề, nhưng kết quả khác nhau là do ednsmở rộng. Khi tôi thực hiện truy vấn với +noendsđào trả về kết quả tương tự như máy chủ.
Slava Bacherikov

7

Trong trường hợp của tôi, đó là một lỗi trong Microsoft DNS Server, nơi nó trả về FORMERRphản hồi (lỗi định dạng yêu cầu) cho các yêu cầu với EDNS Cookietùy chọn được đặt. Các phiên bản mới hơn dig(9,11 trở lên) sử dụng dns-cookies theo mặc định. Điều này có thể được ngăn chặn bởi +nocookiehoặc +noednscờ để đào:

$ dig +nocookie DOMAIN @SERVER

Nguồn: https://kevinlocke.name/bits/2017/01/20/formerr-from-microsoft-dns-server-for-dig/


1

Bạn có thể sử dụng tệp .digrc trong thư mục chính của mình với dòng

+ tìm kiếm

để có cơ hội hành vi mặc định


0

Tôi đã gặp sự cố này trên mạng wi-fi tại nhà của mình khi cố gắng giải quyết vấn đề tốt google.comtrong máy ảo Ubuntu chạy trên máy chủ Windows 7 dig, đã hết thời gian, nhưng nslookupngay lập tức trả về kết quả.

Giải pháp cho tôi là thêm +noedns: $ dig +noedns google.com.

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.