BINDにロードされたすべてのゾーンのリスト


13

数千のゾーンがロードされているDNSサーバーを移行しようとしています。named.confファイルには約17種類のインクルードがあり、それらのファイルの一部にはインクルードがあり、コメントアウトされているなどがあります。

現在BINDにロードされているすべてのゾーンのリストを取得したいです。rndc dumpdbを見ましたが、ゾーンだけが表示されません。

乱雑なインクルードファイルを追跡する代わりに、BIND内の信頼できるゾーンのリストを取得する簡単な方法はありますか?ありがとう!

回答:


15

実行rndc dumpdb -zonesしてcache_dump.dbというファイルを作成できます。このファイルにはすべての権限ゾーンが含まれ、BINDのデータディレクトリに作成されます。


それも私が考えたものですが、逆DNSアルパゾーンだけを見せてくれた
DuPie

ログファイルで詳細を確認します。逆ARPAゾーンのみがダンプファイルにある場合、これらだけがDNSサーバーにロードされていると言えます。
ウラジミールブラスコフ

1
BINDのデータディレクトリはどこにありますか?
銭チェン

ほとんどのディストリビューションでは、/var/namedまたは/var/named/chroot/var/namedchroot「ed BIND」を使用している場合)のいずれかですが、使用しているディストリビューションによってマイレージは異なる場合があります。
ウラジミールブラスコフ16

1
Debian jessieでは、ファイルは/var/cache/bind/named_dump.dbで終了しました
Calimo

2

rndc dumpdbが最良の方法であることを確認しました。

私の場合、同じサーバーで2つの個別のバインドインスタンスが実行されていることを確認しました(1つはフォワードDNSを実行し、もう1つはリバースDNSを実行します)。PIDを指定せずに、リバースDNSのみを実行するPIDに接続し、それだけを示しました。


2

構成(インクルードファイルを含む)を標準形式で印刷したいだけの場合は、単に次のように呼び出すことができます。

named-checkconf -p(オプションで-t /some/chroot/dir、BINDがchrootで実行され、chrootディレクトリから設定を読み取る必要がある場合)

これにより、すべてのインクルードファイルが平坦化され、すべてのコメントが削除され、すべてがきれいにフォーマットされます。

出力には静的に構成されたゾーンが含まれますが、で追加されたような動的なゾーンはリストされませんrndc addzone


1

-allを追加すると、私にとってはうまくいきます(Ubuntu Ubuntu 16.04.2 LTS(xenial))

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

1

9.12.0a1以降のBIND9の新しいバージョン。また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

0

以下は、起動中にロードされるゾーンをリストする正確なコマンドです。これは、RHEL6.7 x86_64でテストされています。

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

例:

[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
もっと説明してください。
スヴェン

編集した回答を参照してください。
サシクマールK

0

別の方法としては、使用されbind'、独自のXML形式の統計ならば、あなたが有効になっているstatistics-channelと(グローバルに例えばゾーン統計が有効になっていますoptions { })。この方法では、ビュー、ゾーンタイプ、ゾーンデータ(シリアル番号など)、およびもちろんゾーンごとの統計を簡単に選択/表示できます。

wgetand xml(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

上記は、_defaultビューのすべてのマスタードメインのリストを示しています。

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

上記は、ゾーン、ビュー、タイプ、シリアルのすべてのゾーンをCSV形式で示しています。

特定のビューゾーンタイプのみを選択するには:

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

(この統計機能は、2008年12月bind-9.6.0以降で利用可能です。/v3/上記で使用されている形式は、2014年4月bind-9.10以降でのみ利用可能です。JSON形式も利用可能ですjot

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.