không liên kết / nsd trả về SERVFAIL giải quyết DNS LAN cục bộ. một mình nsd hoạt động tốt


9

Tôi đã sử dụng không liên kết như một máy chủ DNS đệ quy cục bộ. Chỉ cần thêm nsd để thiết lập DNS LAN cục bộ. nsd đang nghe trên cổng 53530 và nó hoạt động tốt:

$ dig @127.0.0.1 data2.datanet.home -p 53530

; <<>> DiG 9.9.2-P2 <<>> @127.0.0.1 data2.datanet.home -p 53530
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59577
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;data2.datanet.home.            IN      A

;; ANSWER SECTION:
data2.datanet.home.     600     IN      A       192.168.1.62

;; AUTHORITY SECTION:
datanet.home.           600     IN      NS      ns1.datanet.home.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53530(127.0.0.1)
;; WHEN: Mon Jun 15 07:16:24 2015
;; MSG SIZE  rcvd: 81

Khi đi qua địa phương không liên kết, nó không hoạt động:

$ dig @127.0.0.1 data2.datanet.home

; <<>> DiG 9.9.2-P2 <<>> @127.0.0.1 data2.datanet.home
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 47645
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;data2.datanet.home.            IN      A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun 15 07:18:02 2015
;; MSG SIZE  rcvd: 47

Đây là những gì tôi nhận được trong nhật ký không ràng buộc với tính dài dòng: 4

Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: validator operate: query router.datanet.home. A IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: validator: pass to next module
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: mesh_run: validator module exit state is module_wait_module
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: iterator[module 1] operate: extstate:module_state_initial event:
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: process_request: new external request event
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: iter_handle processing q with state INIT REQUEST STATE
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: resolving router.datanet.home. A IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: request has dependency depth of 0
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: use stub datanet.home. NS IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: cache delegation returns delegpt
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: DelegationPoint<datanet.home.>: 0 names (0 missing), 1 addrs (0 r
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug:    ip4 127.0.0.1 port 53530 (len 16)
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: iter_handle processing q with state INIT REQUEST STATE (stage 2)
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: resolving (init part 2):  router.datanet.home. A IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: use stub datanet.home. NS IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: iter_handle processing q with state INIT REQUEST STATE (stage 3)
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: resolving (init part 3):  router.datanet.home. A IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: iter_handle processing q with state QUERY TARGETS STATE
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: processQueryTargets: router.datanet.home. A IN
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: processQueryTargets: targetqueries 0, currentqueries 0 sentcount
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] info: DelegationPoint<datanet.home.>: 0 names (0 missing), 1 addrs (0 r
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug:    ip4 127.0.0.1 port 53530 (len 16)
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: attempt to get extra 3 targets
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: skip addr on the donotquery list ip4 127.0.0.1 port 53530 (len 1
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: No more query targets, attempting last resort
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: configured stub servers failed -- returning SERVFAIL
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: store error response in message cache
Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: return error response SERVFAIL

Cụ thể là cái gì với cái này? [1947: 0] debug: bỏ qua addr trong danh sách donotquery ip4 127.0.0.1 port 53530 (len 1 Điều đó có vẻ là chính, nhưng tôi thực sự không chắc tại sao nó lại nói như vậy.

Đây là toàn bộ unbound.conf của tôi:

server:
  interface: 127.0.0.1
  interface: 192.168.1.50
  use-syslog: yes
  username: "unbound"
  directory: "/etc/unbound"
  trust-anchor-file: trusted-key.key
  access-control: 192.168.1.0/24 allow
  verbosity: 2
  local-zone: "1.168.192.in-addr.arpa" nodefault
remote-control:
  control-enable: yes
  control-interface: 127.0.0.1
  control-port: 8953
  server-key-file: "/etc/unbound/unbound_server.key"
  server-cert-file: "/etc/unbound/unbound_server.pem"
  control-key-file: "/etc/unbound/unbound_control.key"
  control-cert-file: "/etc/unbound/unbound_control.pem"

stub-zone:
  name: "datanet.home"
  stub-addr: 127.0.0.1@53530
#  stub-first: yes
stub-zone:
  name: "1.168.192.in-addr.arpa"
  stub-addr: 127.0.0.1@53530

nsd.conf có rất nhiều bình luận nên không chắc tôi có nên dán hay không nhưng trong mọi trường hợp, nsd dường như hoạt động tốt. Nó khá giống với ví dụ bao gồm ngoại trừ thay đổi cổng, bật công cụ điều khiển và thêm các vùng.

Tôi bị bối rối bởi điều này, vì vậy bất kỳ ý tưởng sẽ được đánh giá cao!

Câu trả lời:


12

Dòng này từ nhật ký chỉ ra vấn đề:

Jun 15 06:12:39 pizza.yoderdev.com unbound[1947]: [1947:0] debug: skip addr on the donotquery list ip4 127.0.0.1 port 53530 (len 1

Không bị ràng buộc theo mặc định từ chối gửi bất kỳ truy vấn DNS nào đến localhost. Để kích hoạt nó để truy vấn localhost, thiết lập do-not-query-localhostđể notrong server-section của cấu hình Unbound:

server:
  interface: 127.0.0.1
  interface: 192.168.1.50
  [...]
  do-not-query-localhost: no

Xem tài liệu về unbound.conf để biết mô tả về tùy chọn.


cũng có vẻ đúng nhưng thử nghiệm nhanh của tôi không cho thấy điều đó như giải quyết nó. Bây giờ tôi đang làm việc và sẽ nhìn nhiều hơn khi tôi về nhà. Cảm ơn!
Micah Yoder

Đây thực sự là một điều kỳ quặc: Với sự thay đổi đó, phần đào trên không bị ràng buộc (phần thứ hai) trả về kết quả chính xác cho người dùng (SERVFAIL). Nhưng khi tôi nhìn vào nhật ký không liên kết được tạo ngay khi truy vấn đó, nó cho thấy rằng nó đã có câu trả lời chính xác từ phía thượng nguồn. Không có dấu hiệu nào trong nhật ký của phản hồi SERVFAIL!
Micah Yoder

Thật không may, không có đề xuất từ ​​tôi. Tất cả những gì tôi có thể nói là việc loại bỏ do-not-query-localhosttùy chọn trên máy chủ tên của tôi mang lại cho tôi DỊCH VỤ khi tìm kiếm một vùng còn sơ khai, trong khi chèn lại nó sẽ khiến nó hoạt động trở lại.
olav

đoán tôi sẽ chấp nhận điều này và đào thêm một số thứ nữa và có lẽ hỏi tiếp theo về những gì vẫn đang diễn ra ....
Micah Yoder

1
+1 để trả lời: Nâng cao vì câu trả lời này đã đưa ra một số lời khuyên rõ ràng có ích. Có thể tình huống của tôi không giống với bài đăng gốc, nhưng lời khuyên vẫn giúp dẫn đến giải quyết nhanh chóng về điều gì đó không hiệu quả.
TUYỆT VỜI

0

Đối với các câu hỏi về Không liên kết và NSD, bạn có thể sử dụng danh sách gửi thư do NLnet Labs điều hành ( https://www.nlnetlabs.nl/support/mailing-lists/ ). Trên các danh sách gửi thư này, có một cộng đồng tuyệt vời rất nhanh nhạy (bao gồm cả các nhà phát triển phần mềm của Unbound và NSD).

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.