UbuntuでBINDサーバーを実行していますが、www.Microsoft.comまたはMicrosoftのレコードを検索できません。 google.comやyahoo.comのような他のすべてのドメインは問題なく動作しているようです。 BINDがこのドメインで問題を抱えている理由を理解するためにロギングを改善する方法に関するいくつかの提案を探しています。
クエリチャネルをdefault_syslogに既にキャプチャしており、サーバーに送信されるクエリを確認していますが、これらの名前のIPアドレスを見つけようとするBINDサーバーの努力の結果は確認できません。
症状
> ping www.Microsoft.com
ルックアップに失敗し、ホストが見つからないことを示します
> Dig @A.B.C.D www.Microsoft.com
もタイムアウトします。A.B.C.Dはこの内部DNSサーバーのIPアドレスです。
他のクエリは正常に動作するようです
現時点では、ルートサーバーにdb.rootを使用しており、この構成ではフォワーダーを設定していません。このサーバーがMicrosoft.comのルートサーバーを決定し、そこからレコードを見つけることができると思います。 BINDのログの詳細を改善する方法、およびログメッセージを探す場所に関する提案をありがとうございます。
何が起こっているかを確認する方法:
rndc
が構成されている場合、サーバーがライブで実行していることを表示するには、rndc trace x
を実行します(x
は、表示するデバッグレベルです)。
サーバーがrndc
なしでライブで実行していることを表示するには、サーバーをフォアグラウンドモードnamed -g -d x
で実行する必要があります(x
はデバッグレベルです)。
ファイルへのロギングを設定するには、named.confを開き、次のようなロギングセクションを編集/追加します。
logging {
channel default_file {
file "/var/log/named.log" size 10m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category default{ default_file; };
};
これにより、「情報」レベル以上のログが設定されます。これは、ライブサーバーのかなりの情報をダンプします。可能な値には、「extra」、「debug」、「info」、「error」、「fatal」、および「dynamic」が含まれます(-dの値は、dynamicのコマンドラインで指定する必要があります)。
サーバーの何が問題になっていますか:
ドメインを再帰的に解決しようとしているときに、サーバーがループバックしています。これは、知っている1つのドメインでのみ発生しているため、hosts
ファイルまたはnamed.conf
ファイル(おそらく後者)に問題がある可能性があります。
request failed: duplicate query
の取得は、ほとんどの場合、サーバーにループバックするforwarders
ディレクティブの問題です。
これはキャッシュの問題である可能性があります。キャッシュをフラッシュしようとしましたか?
rndc flush # all entries
rndc flushname Microsoft.com # all entries for Microsoft.com supported from bind 9.3