一部の DNS 名クエリは、Windows ベースの DNS サーバーをデプロイした後に失敗します

この記事では、Windows ベースの DNS サーバーをデプロイした後に、一部のドメインに対する DNS クエリが正常に解決されない問題について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 832223

現象

Windows ベースの DNS サーバーをデプロイした後、一部のドメインへの DNS クエリが正常に解決されない可能性があります。

原因

この問題は、Windows Server DNS でサポートされている拡張 DNS (EDNS0) 機能が原因で発生します。

EDNS0 を使用すると、ユーザー データグラム プロトコル (UDP) パケット サイズを大きくできます。 ただし、一部のファイアウォール プログラムでは、512 バイトを超える UDP パケットが許可されない場合があります。 そのため、これらの DNS パケットはファイアウォールによってブロックされる可能性があります。

解決方法

この問題を解決するには、ファイアウォール プログラムを更新して、512 バイトを超える UDP パケットを認識して許可します。 これを行う方法の詳細については、ファイアウォール プログラムの製造元にお問い合わせください。

他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。

回避策

この問題を回避するには、Windows ベースの DNS サーバーで EDNS0 機能をオフにします。 これを行うには、次のアクションを実行します。

コマンド プロンプトで、次のコマンドを入力し、Enter キーを押します。

dnscmd /config /enableednsprobes 0

注:

このコマンドの "enableednsprobes" の後に文字 "O" ではなく、0 (ゼロ) を入力します。

次の情報が表示されます。

レジストリ プロパティ enableednsprobes が正常にリセットされました。
コマンドが正常に完了しました。

注:

Dnscmd.exe は、Windows Server 2003 または Windows Server 2003 R2 を実行しているサーバーを除くすべての Windows ベースの DNS サーバーにインストールされます。 Dnscmd.exe は、Windows Server 2003 サポート ツールからインストールできます。 Windows Server 2003 サポート ツールをダウンロードするには、次の Microsoft ダウンロード センターリンクをクリックします: Setspn

詳細

一部のファイアウォールには、DNS パケットの特定のパラメーターをチェックする機能が含まれています。 これらのファイアウォール機能により、DNS 応答が 512 バイト未満であることが確認される場合があります。 DNS 参照に失敗したネットワーク トラフィックをキャプチャすると、DNS が EDNS0 を要求していることに気付く場合があります。 次のようなフレームは応答を受け取りません。

その他のレコード
<ルート>: OPT 型、クラス不明
名前: <ルート>
型: EDNS0 オプション
UDP ペイロード サイズ: 1280

このシナリオでは、ファイアウォールによってすべての EDNS0 拡張 UDP フレームが削除される可能性があります。