マルチホームサーバーのSLES10(現在は9.6をバインド)にDNSサーバーを設定しました。このサーバーは、すべての内部ネットワークからクエリを実行でき、すべての内部ネットワークに応答を提供します。2つの別個のDNS「マスター」ゾーンがあります。これらの各ゾーンは、いくつかの信頼できるWindows-DNSサーバーによってサービスされています。
現在、私のlinux-serverは、これらのゾーンの1つ(プライベート内部ゾーン)のセカンダリDNSサーバーであり、他のゾーン(パブリック内部ゾーン)のフォワーダーとして機能しています。
最近まで、このセットアップは問題なく機能していました。今私は-パブリック内部ゾーンをクエリすると(例えばhost
、Linuxクライアントのコマンドによって)エラーメッセージが表示されます
;; 切り捨て、TCPモードで再試行
Wiresharkダンプが原因を明らかにしました:最初のクエリはUDPモードで送信され、回答はUDPに適合しません(信頼できるNSのリストが長いため)、TCPモードで再試行され、正しい回答が提供されます。
ここで質問: 最初にUDPを試行せずにTCPモードでフォワーダーをクエリするようにバインドを構成できますか?
更新:ASCIIアートを試してみる...
+--------------+ +--------------+ +-----------------+
| W2K8R2 DNS | | SLES 10 DNS | | W2K8R2 DNS |
| Zone private +---+ All internal +---+ Zone public |
| internal 2x | | Zones | | internal 30+ x |
+--------------+ +-+----------+-+ +-----------------+
| |
+--+---+ +--+---+
|Client| |Client|
+------+ +------+
host
コマンドを実行しているホストと送信されているクエリとの間がはっきりしていませんが、多少改善されています。
minimal-responses: yes
SLES 10のBIND構成に追加することをお勧めします-応答サイズが小さくなる可能性があります。いずれにしても、ほとんどの通常のクエリは512バイトの制限を超えません。