bind9をインストールしlinuxのクエリログを確認する

ノートパソコン

chromebookのlinux開発環境に、bind9を構築し
アプリケーションからのdnsクエリログを確認したいと思います。

bind9のインストール

sudo apt install bind9
sudo apt install bind9-dnsutils

bind9の設定ファイルやnamed.confやオプション設定のパスの確認

sudo rndc status

を実行しますと、/etc/bind/named.conf が設定ファイルとして読み込まれていることがわかります。
今どきは、/etc/named.conf ではないんですね。

また、/etc/init.d/named を見てみますと、namedのオプション設定として、
/etc/default/named が読み込まれていることがわかりました。

bind9のログ設定

bind9が起動できない等のトラブル用に、ログ出力の設定をします。
ログフォルダとかが出来ていないので、作成しましょう。

sudo mkdir /var/named
sudo chown bind:bind /var/named

そして、namedの起動オプションを/etc/default/namedに書き設定します。

上のnamedファイルのように、OPTIONSに起動オプションを設定できます。
ログ出力のオプションは、「-L ログファイル」になります。

bind9を8.8.8.8でforworders設定する

/etc/bind/named.conf には、namedの設定はほぼなく、
別の設定ファイルをincludeで読み込んでいるだけです。

今回のDNSフォワーダー設定では、named,conf.localも、named.conf.default-zonesも不要なのでコメントアウトしてしまいます。

そして、/etc/bind/named.conf.options ファイルには

         forwarders {
                8.8.8.8;
         };

8.8.8.8にDNSフォワードする設定と

//      dnssec-validation auto;
        dnssec-validation no;

上のセキュリティの設定を行います。

香車
香車

【注意】

上のセキュリティ設定を行わないと、8.8.8.8がクエリを返してくれません。

これで、最低限のbind9の設定が終わりました。

sudo systemcrl restart named

で、namedサービスを再起動すると

digコマンド等でDNSの名前解決が出来きまして、bind9の動作確認OKです。

クエリログ取得のbind9設定をする

query logging is OFF

デフォルト設定では、bind9はクエリログが無効になっていますので、
以下のコマンドで、DNSクエリログを有効にします。

sudo rndc querylog

query logging is ON

あとは、bind9のクエリログ出力設定を行えば、bind9のDNSクエリログが取得できるようになります。
named.conf.query ファイルを作成し、クエリログの取得設定をします。

logging {
        channel "queries-log"{
                file "/var/named/queries.log" versions 10 size 5M;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
        category queries{
                "queries-log";
        };
};

そして、named.confにincludeで読み込むような設定を入れます。

再度、namedデーモンを再起動すれば、クエリログが取得できるようになります。

sudo systemcrl restart named

resolv.confのnameserverに127.0.0.1を設定して、クエリログが出力され目的のDNSクエリを解析できました!

コメント

タイトルとURLをコピーしました