GNU/Linux >> Linux の 問題 >  >> Cent OS

バインド クエリ ログを有効にして、ネーム サーバーにクエリを実行しているユーザーを特定する方法

質問

どのリゾルバーとネーム サーバーがネーム サーバーにクエリを実行しているかを調べたいと考えています。

答え

問題のトラブルシューティングを行う場合、バインド クエリ ログは非常に便利です。ただし、大量の出力が非常に迅速に生成されます。そのため、ネームサーバーが混雑している場合は、問題を解決するまでの間、ネームサーバーを有効にしておいてください。

バインド クエリのログをオンにする

1. クライアントの DNS クエリを識別するには、バインド クエリ ログを有効にする必要があります。 BIND 9 の場合、次のコマンドでクエリ ログを有効にします。

# rndc querylog

BIND 8 の場合、次のコマンドを使用してクエリ ログを有効にします。

# ndc querylog

2. クエリは /var/log/messages ファイルに記録されます。ネーム サーバーは、クエリを受信するたびに 1 行のメッセージをログに記録します。 BIND 9 の場合、メッセージは次のようになります:

Feb  5 09:12:11 ns1 named[80090]: client 192.168.10.12#3261: query: www.server.example IN A

これは、ネームサーバーがクライアントから 192.168.10.12、ポート 3261 で Internet クラスの www.server.example に添付された A レコードのクエリを受信したことを示しています。

3. BIND 8 ネーム サーバーでは、メッセージは次のようになります。

Feb  5 09:53:52 ns1 named[80323]: XX+/192.168.10.12/www.server.example/A/IN

ここでの情報のほとんどは、フォーマットを除いて Bind 9 の情報と同じです。 「XX+」 先頭の ” は、再帰クエリであることを示します。非再帰クエリは「XX.」のみを表示します。 「.

バインド クエリ ログをオフにする

Bind クエリ ログをオフにするには、有効にしたコマンドと同じコマンドを使用します。

# rndc querylog

構成でクエリログを永続的に有効にする

1. クエリ ロギングは、named.conf のログ セクションでクエリ カテゴリをチャネルに明示的に指定するか、querylog yes を指定することによっても有効にできます。 named.conf のオプション セクションにあります。

# vi /etc/named.conf
...
options {
	    querylog yes;
}

...
logging {
        channel querylog {
                file "/var/log/querylog";
                severity debug 3;
        };
};

クエリは /var/log/querylog に記録されます。

2. クエリが記録されるログファイルを作成します。

touch /var/log/querylog

3. 所有権を変更します。

# chown named.named /var/log/querylog

4. 名前付きサービスを再起動します

# service named restart


Cent OS
  1. MySQL/MariaDBクエリログを有効にする方法

  2. MySQLの低速クエリログを有効にする方法

  3. BIND DNS サーバーを新しいハードウェアに移行する方法は?

  1. VSFTPD の詳細ログを有効にする方法

  2. sudo I/O ロギングを有効にする方法

  3. サーバーに何らかの IPMI があるかどうかを確認するにはどうすればよいですか?

  1. BIND DNSサーバーログを有効にしてクエリを監視し、トラブルシューティングを行うにはどうすればよいですか?

  2. 誰がLINUXサーバーを再起動したかを調べる方法

  3. 特定のサイトで実行されているサーバー OS を確認するにはどうすればよいですか?