1.4. dnstap を使用した DNS クエリーの記録


Domain Name System (DNS) のトラフィックパターンを分析し、DNS サーバーのパフォーマンスを監視し、関連する問題をトラブルシューティングするには、dnstap インターフェイスを使用して DNS の詳細情報を記録します。dnstap は受信する名前クエリーを監視およびログに記録して Web サイトと IP アドレスの詳細を収集するために、named サービスが送信するメッセージを記録します。

前提条件

  • 管理者権限がある。
  • bind パッケージをインストールした。
警告

すでに BIND がインストールおよび実行されている場合、新しいバージョンの BIND を追加すると、既存のバージョンが上書きされます。

手順

  1. /etc/named.conf ファイルの options ブロックで、dnstap とターゲットファイルを有効にします。

    options
    {
    # ...
    dnstap { all; }; # Configure filter
    dnstap-output file "/var/named/data/dnstap.bin" versions 2;
    # ...
    };
    # end of options
  2. ログに記録する DNS トラフィックの種類を指定するには、/etc/named.conf ファイルの dnstap ブロックに dnstap フィルターを追加します。次のフィルターを使用できます。

    • auth: 権威ゾーンのレスポンスまたは回答。
    • client: 内部クライアントからのクエリーまたは回答。
    • forwarder: 転送されたクエリーまたはレスポンス。
    • resolver: 反復解決のクエリーまたはレスポンス。
    • update: 動的ゾーン更新リクエスト。
    • all: 上記のすべてのオプション。
    • query または response: query または response キーワードを指定しない場合、dnstap は両方を記録します。

      注記

      dnstap フィルターでは、dnstap {} ブロック内に複数の定義をセミコロン (;) で区切って指定します。構文は次のようになります。dnstap { ( all | auth | client | forwarder | resolver | update ) [ ( query | response ) ]; …​ };

  3. 記録されたパケットに対する dnstap ユーティリティーの動作をカスタマイズするには、dnstap-output オプションにパラメーターを追加して変更します。

    • size (unlimited | <size>): dnstap ファイルのサイズが指定された制限に達したときに、ファイルの自動ロールオーバーを有効にします。
    • versions (unlimited | <integer>): 保持する自動ロールオーバーファイルの数を指定します。
    • suffix (increment | timestamp): ロールアウトされたファイルの命名規則を選択します。デフォルトでは、増分は .0 から始まります。ただし、timestamp 値を設定することで、UNIX タイムスタンプを使用することもできます。

      以下の例では、auth 応答のみ、client クエリー、および動的 updates のクエリーと応答の両方を要求します。

      Example:
      
      dnstap {auth response; client query; update;};
  4. 変更を適用するために、named サービスを再起動します。

    # systemctl restart named.service
  5. アクティブなログの定期的なロールアウトを設定します。

    # sudoedit /etc/cron.daily/dnstap
    #!/bin/sh
    rndc dnstap -roll 3
    mv /var/named/data/dnstap.bin.1 /var/log/named/dnstap/dnstap-$(date -I).bin
    
    # use dnstap-read to analyze saved logs
    sudo chmod a+x /etc/cron.daily/dnstap
    • cron スケジューラーは、ユーザーが編集したスクリプトの内容を 1 日に 1 回だけ実行します。
    • roll オプションに 3 という値を指定すると、dnstap が最大 3 つのバックアップログファイルを作成可能になります。
    • この 3 という値により、dnstap-output 変数の version パラメーターがオーバーライドされます。この値によってバックアップログファイルの数が 3 つに制限されます。また、このオプションにより、バイナリーログファイルが別のディレクトリーに移動され、名前が変更されます。バックアップログファイルがすでに 3 つ存在する場合でも、サフィックスが .2 に達することはありません。
    • サイズ制限に基づくバイナリーログの自動ローリングで十分な場合は、このステップを省略できます。
  6. dnstap-read ユーティリティーを使用して、出力ログを YAML ファイルなどの人間が読みやすい形式で読み込んで出力します。

    # dnstap-read -p /var/named/data/dnstap.bin
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る