DNSサーバでクエリーログを出力する

ALL
スポンサーリンク

DNSサーバに対して、どのような問い合わせがあったかをログ出力する設定です。

named.conf に以下を追加します。
CentOSのChroot環境では、/var/named/chroot/etc/named.conf です。

/var/named/chroot/etc/named.conf

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

file “/var/named/log/query.log” で出力するログファイル名を指定します。
CentOSのChroot環境では、この設定でログは /var/named/chroot/var/named/log/ 下に出力されます。

versions 5 size 10M で、サイズが 10M のログを、5世代のバックアップで出力します。
下記のように、query.log に加えて、query.log.0 ~ query.log.4 の5世代となります。

query.log
query.log.0
query.log.1
query.log.2
query.log.3
query.log.4

設定後、BIND を再起動します。
再起動しないと、ログ出力が開始されないので注意して下さい。

/etc/init.d/named restart

ログは以下のように query: に続けて、問い合わせクエリーが記録されます。

01-Jun-2014 11:40:45.591 client xx.xx.xx.xx#98506: view external: query: www.yahoo.co.jp IN A + (yy.yy.yy.yy)

参考

実用 BIND 9で作るDNSサーバ(10):BIND 9の運用情報収集と分析方法 (1/2) – @IT
cache-config_v1.pptx – cache-config.pdf

コメント