named.conf メモ #1 logging ステートメント (BIND バージョン 9.4.2)
まず、 はじめに を、読んで欲しいです。
++ named.conf メモ #1 logging ステートメント (BIND バージョン 9.4.2) ++
ネット上には、BINDに関するHowtoが、沢山ありますが、その殆どが古い情報になっており、最新版のBINDをインストールした場合、同様に設定すると間違えた設定になることも有ります。
情報サイトのバージョン情報を確認の上、利用するか、BIND本家のリファレンスを参考にするべきです。
本家の最新版リファレンス書庫 https://www.isc.org/software/bind/documentation
BIND9.4リファレンス https://www.isc.org/software/bind/documentation/arm94
ネット上には、BINDに関するHowtoが、沢山ありますが、その殆どが古い情報になっており、最新版のBINDをインストールした場合、同様に設定すると間違えた設定になることも有ります。
情報サイトのバージョン情報を確認の上、利用するか、BIND本家のリファレンスを参考にするべきです。
本家の最新版リファレンス書庫 https://www.isc.org/software/bind/documentation
BIND9.4リファレンス https://www.isc.org/software/bind/documentation/arm94
- logging ステートメント
- channel フレーズの定義
channelだけ定義しても、ロギングそのものは行われない。 どのようなログを出力するかは category フレーズで定義する。
file "出力ファイル(フルパス)" versions 世代数 size サイズ;
例) file "/var/log/named.log" versions 5 size 10m; 10MB 5世代分を残す
severity 出力するログレベル;
debug デバッグ情報 info 情報 notice 通知 warn 警告 err 一般的なエラー crit 致命的なエラー alert 緊急に対処すべきエラー emerg システムが落ちるような状態
print-time 出力ログに時間を出力するかどうか yes
例) print-time yes; 時間を出力する
print-severity 出力ログにseverityを出力するかどうか yes
例) print-severity yes; severityを出力する
print-category 出力ログにカテゴリを出力かどうか yes
例) print-category yes; カテゴリを出力する
記述例 channelの名前をlog_defaultとして定義 channel "log_default" { file "/var/log/named.log" versions 5 size 10m; severity info; print-time yes; print-severity yes; print-category yes; };
- category フレーズの定義
複数のカテゴリ項目の中から、ログにしたい項目を選択してログに出力させる。
category カテゴリ項目 { "channelの名前"; };
カテゴリ内容database ゾーン情報やキャッシュ情報など、データベースに関連する記録 security 要求の承認/否認の記録 config 構成ファイルの構文解析と処理の記録 resolver クライアントに代わって実行されるキャッシュサーバの動作に代表される、再帰検索のようなDNS解決の記録 xfer-in サーバが受信したゾーン転送の記録 xfer-out サーバが送信したゾーン転送の記録 notify NOTIFY(通知)プロトコルの記録 client クライアント要請の処理記録 network ネットワーク操作の記録 update DDNSの記録 queries 問い合わせクエリーの記録 dispatch サーバモジュールへ入ってくるパケットを処理するCPU割り当て(ディスパッチ)の記録 dnssec DNSSECやTSIG処理の記録 lame-servers DNS解決の際にほかのサーバで見つけた設定ミス(lame)の記録 general 上記以外の多くのログはカテゴリが未分類であり、それらはgeneralに分類される default categoryで意図的に指定された以外のカテゴリがここで定義される
例) category security { "log_default"; };
logging ステートメント の記述例logging { // 標準的なログをとるときのchannel 世代 5 サイズ 10MB を指定 channel "log_default" { file "/var/log/named.log" versions 5 size 10m; severity info; print-time yes; print-severity yes; print-category yes; }; /* テスト用に使用するchannel 世代 2 サイズ 10MB を指定 気になるカテゴリをテストで数種類ログ取りするため */ channel "log_temp" { file "/var/log/temp.log" versions 2 size 10m; severity info; print-time yes; print-severity yes; print-category yes; }; category default { "log_default"; }; // 試験的にとってみるログ category database { "log_temp"; }; category security { "log_temp"; }; category config { "log_temp"; }; category resolver { "log_temp"; }; category xfer-in { "log_temp"; }; category xfer-out { "log_temp"; }; category client { "log_temp"; }; category network { "log_temp"; }; category queries { "log_temp"; }; category lame-servers { "log_temp"; }; };
- webmin からの設定方法
# 上記した記述例の channel "log_temp" を、作成してみる ただし、この設定には少々難点があります。
file 節の versions と size の設定項目が、webmin(1.441)には見当たりません。
そこで、次のように[Edit Config File]から、直接 named.conf を修正する事に・・
[サーバ] [BIND DNS サーバ]
[Edit Config File]
channel log_temp { file "/var/log/temp.log" versions 2 size 10m;
ついでに、logging ステートメントの記述が、一番上では無い場合は、logging ステートメント全てをファイルの一番先頭に移動させておきます。
[保存]
サーバが何をログに残すか、そしてどこにログメッセージを送るのかを指定する。
named.conf 中一番先頭に記述すること。(詳細は割愛しますが、この方が後々幸せになれます)
この設定は、あくまでもテスト用にログを摂るための設定ですから、実運用時には適宜項目を変更して、自分の見やすいように設定すること。
スポンサーサイト