有没有办法在我的BIND DNS服务器上获得A和CNAMElogging的完整列表?
我有权访问区域文件。 但是在我的服务器上有很多的区域文件,手工完成这些文件需要很长的时间。 有没有列出这个信息的命令,还是我必须自己写一个脚本?
而不是在所有的区域文件上使用grep
,使用:
% rndc dumpdb -zones
这将创build名为named_dump.db
的服务器授权数据的named_dump.db
,可能位于/var/named/data
(或类似)中。
这个文件比原来的区域文件更容易parsing,因为每一行都以它所应用的域名开始。 原始区域文件可能会缩写。
从你的var/named/data
(或者等价的目录)grep通过db。*文件和一个适当的正则expression式,例如:
grep '\(. *A *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.*
请注意,最后的“db。*”包含所有的db文件。 重复每个你有区域文件的目录。
为我在我的域名列表; 做dig -t axfr $ i @localhost; DONE
必须先允许从本地主机进行区域传输。