Liệt kê tất cả các vùng được tải trong BIND


13

Tôi đang cố gắng di chuyển một máy chủ dns có vài nghìn vùng được tải trên đó. Tệp tên.conf có khoảng 17 bao gồm khác nhau và một số tệp cũng bao gồm trong đó và rất nhiều bình luận, v.v ... Đó là một mớ hỗn độn!

Tôi muốn nhận danh sách tất cả các khu vực hiện được tải vào BIND. Tôi đã xem rndc dumpdb nhưng nó không chỉ cho tôi thấy các khu vực.

Thay vì theo dõi các tập tin bao gồm lộn xộn, có cách nào dễ dàng hơn để có được danh sách các vùng có thẩm quyền trong BIND không? Cảm ơn!

Câu trả lời:


15

Bạn có thể chạy rndc dumpdb -zonesđể tạo một tệp có tên cache_dump.db . Tệp này sẽ chứa tất cả các vùng có thẩm quyền và sẽ được tạo trong thư mục dữ liệu của BIND.


Đó cũng là những gì tôi nghĩ nhưng nó chỉ cho tôi thấy khu vực dns arpa ngược
DuPie

Tôi sẽ kiểm tra các tệp nhật ký để biết thêm thông tin. Nếu chỉ có các vùng ARPA đảo ngược nằm trong tệp kết xuất, tôi sẽ nói rằng chỉ những vùng này được tải trong máy chủ DNS.
Vladimir Blaskov

1
Thư mục dữ liệu của BIND ở đâu?
Qian Chen

Đó là /var/namedhoặc /var/named/chroot/var/named(nếu bạn đang sử dụng chroot'BIND) trên hầu hết các bản phân phối, nhưng số dặm của bạn có thể thay đổi tùy thuộc vào bản phân phối bạn đang sử dụng.
Vladimir Blaskov

1
Trên Debian jessie, tập tin kết thúc bằng /var/cache/bind/named_dump.db
Calimo

2

Xác nhận rndc dumpdb là phương pháp tốt nhất.

Trong trường hợp của tôi, tôi phát hiện ra rằng có 2 trường hợp liên kết riêng biệt đang chạy trên cùng một máy chủ (không hỏi), một lần thực hiện chuyển tiếp và một thực hiện ngược lại. Không chỉ định PID, nó được gắn vào cái chỉ làm dns ngược và chỉ cho tôi thấy điều đó.


2

Nếu bạn chỉ muốn cấu hình (bao gồm mọi tệp bao gồm) được in ở dạng chính tắc, bạn chỉ cần gọi:

named-checkconf -p(tùy chọn với -t /some/chroot/dirnếu BIND chạy chroot và cấu hình cần phải được đọc từ thư mục chroot)

Điều này làm phẳng tất cả các tệp bao gồm, loại bỏ tất cả các bình luận và định dạng mọi thứ gọn gàng.

Mặc dù đầu ra sẽ bao gồm các vùng được cấu hình tĩnh, nhưng nó sẽ không liệt kê các vùng động, giống như các vùng được thêm vào rndc addzone.


1

Thêm -all thực hiện thủ thuật cho tôi (trên Ubuntu Ubuntu 16.04.2 LTS (xenial))

sudo rndc dumpdb -all && cat /var/cache/bind/named_dump.db

1

Đối với các phiên bản mới hơn của BIND9, kể từ 9.12.0a1; cũng named-checkconf -lcó thể liệt kê các vùng theo một định dạng dễ dàng, bao gồm các trạng thái và chế độ chủ / nô lệ.

Thí dụ:

$ sudo /usr/sbin/named-checkconf -l -t /chroot/bind/
example.com IN external master
otherdomain.com IN external slave
internal.example.com IN internal master
example.com IN internal in-view external
otherdomain.com IN internal in-view external

# this has 2 views: external, internal
# and 3 zones: example.com, otherdomain.com, internal.example.com
# the external view contains: example.com, and slaves otherdomain.com
# the internal view uses in-view statements to show
# the same version of external zones, plus contains a unique zone

0

Sau đây là lệnh chính xác để liệt kê các vùng được tải trong khi khởi động. Điều này đã được thử nghiệm trên RHEL6.7 x86_64.

/usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded

Thí dụ:

[root@dnsserver ~]# /usr/sbin/named-checkconf -z -t /var/named/chroot | grep loaded
zone 0.0.127.in-addr.arpa/IN: loaded serial 2008040700
zone 19.58.10.in-addr.arpa/IN: loaded serial 2008040701
zone 11.54.10.in-addr.arpa/IN: loaded serial 2008040700
zone example.com/IN: loaded serial 2008040702
zone ./IN: loaded serial 2008040700

2
Xin giải thích thêm.
Sven

Vui lòng tham khảo câu trả lời được chỉnh sửa.
Sasikumar K

0

Một cách khác là sử dụng bind'số liệu thống kê định dạng XML của riêng bạn , nếu bạn đã bật statistics-channelvà bật tính năng thống kê vùng (ví dụ: trên toàn cầu options { }). Phương pháp này cũng cho phép bạn dễ dàng chọn / hiển thị chế độ xem, loại vùng và dữ liệu vùng (ví dụ số sê-ri), cũng như thống kê trên mỗi vùng của khóa học.

Sử dụng wgetxml(xmlstarlet):

wget -O - http://127.0.0.1:1080/xml/v3/zones | 
  xml select -I -t -m '/statistics/views/view[@name="_default"]/zones/zone[type="master"]' \
    -v @name -nl

Các chương trình trên một danh sách của tất cả các bậc thầy tên miền trong _default xem.

wget ... |
  xml select -I -t -m '/statistics/views/view/zones/zone' \
   -v @name -o , -v ../../@name -o , -v type -o , -v serial -nl

Ở trên hiển thị tất cả các vùng ở dạng CSV: vùng, dạng xem, loại, nối tiếp.

Để chỉ chọn một chế độ xemloại vùng cụ thể :

 wget ... |
   xml select -I -t -m '/statistics/views/view[@name="_bind"]/zones/zone[type="builtin"]' \
     -v @name -nl

(Cơ sở thống kê này có sẵn kể từ bind-9.6.0, tháng 12 năm 2008. /v3/Định dạng được sử dụng ở trên chỉ khả dụng kể từ bind-9.10, tháng 4 năm 2014. Định dạng JSON cũng có thể có sẵn, vì vậy có thể có một cái gì đó tương tự jot.)

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.