web-dev-qa-db-ja.com

BIND9はキャッシュをどこに保存しますか?

Ubuntu 12.04では、apt-get installを介してBIND9をインストールしました。

私はサーバーを非常に簡単な方法で構成し、名前解決で機能します。今、私は(可能であれば)キャッシュを読みたいと思っています。

rndcマンページを読んでrndc flush viewコマンドを使用しようとしましたが、

rndc:「フラッシュ」が失敗しました:見つかりません

一方、単純にrndc flushを実行すると機能します。

では、まず、BIND9キャッシュファイルはどこにあるのでしょうか。

そして、なぜrndc flush viewが失敗するのですか?

5
JustTrying

あなたは2つの異なる質問をしているようです。

まず、キャッシュはRAMにのみ保持されます。ただし、デフォルトでrndc dumpdb --cacheに保存される(DebianおよびUbuntu)_/var/cache/bind/を使用して表示できます。

もう1つは、バインドに関するビューが何であるか、おそらくご存じないと思います。

ビューは、クライアントのサブセットに提示される代替ゾーンです。たとえば、プライベートネットワークとパブリックネットワークがある場合、外部クライアントにはゾーンのパブリックのみのビューを作成し、内部クライアントにはパブリックネットワークとプライベートネットワークのビューを作成できます。フラッシュできるのは、named.conf(または含まれているファイル)で構成されている名前付きビューのみです。

ビューはゾーンと同じものではなく、ゾーンを個別にフラッシュすることはできません。

10
bahamat

たとえば、named.confの場合:

options {
    ...
    dump-file       "/usr/local/etc/namedb/working/named_dump.db";
    ...
}
2
Marek Lisiecki

2018年にdump.dbファイルを表示するために私がしなければならなかったこと:

Sudo rndc reload

RNDCキャッシュをリロードする

Dig website.example

キャッシュするデータを与える

Sudo rndc dumped -cache

キャッシュされたアイテムのリストを開始するように伝えます

cat /var/cache/bind/named_dump.db

キャッシュされたDBを表示します。標準的な応答が表示されます。

ubuntu.com。 143 A 91.189.94.40

データの入力を開始した後は、再読み込みがファイルに影響を与えないように見えることに注意してください。

私の経験では、キャッシュサーバーはただの動作しかしませんが、サーバーが実用的な観点で機能している場合でも、キャッシュファイルを表示すると空になります(例:Dig google.com 100ms、Dig google.com 1msと3分後、解決時間は1ms )。これが役立つことを願っていますが、具体的ではなく、うまくいきます。適切な場合は、この回答を修正していただければ幸いです。
注:これは私のUbuntu 12.04マシンと16.04マシンに適用されました。私はUbuntu 18.04をすぐにテストします。

1
Tmanok