列出在 BIND 中加载的所有区域

DuP*_*Pie 15 domain-name-system linux bind

我正在尝试迁移一个加载了数千个区域的 dns 服务器。named.conf 文件有大约 17 个不同的包含,其中一些文件也包含在其中,还有很多注释掉等等。真是一团糟!

我想获得当前加载到 BIND 的所有区域的列表。我查看了 rndc dumpdb 但它不只显示区域。

有没有更简单的方法来获取 BIND 中的权威区域列表,而不是遵循凌乱的包含文件?谢谢!

Vla*_*kov 17

您可以运行rndc dumpdb -zones以创建一个名为cache_dump.db的文件。该文件将包含所有权威区域,并将在 BIND 的数据目录中创建。

  • 在 Debian jessie 上,文件以 /var/cache/bind/named_dump.db 结尾 (2认同)

小智 5

对于较新版本的 BIND9,自 9.12.0a1 起;它还named-checkconf -l可以以简单的格式列出区域,包括主/从状态和视图。

例子:

$ 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
Run Code Online (Sandbox Code Playgroud)