DNS Server サービス セキュリティ更新プログラム 953230 (MS08-037) をインストールした後に、UDP に依存するネットワーク サービスに関する問題が発生する

適用先
Windows Server 2008 for Itanium-Based Systems Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Microsoft Windows XP Professional x64 Edition Microsoft Windows Server 2003 Service Pack 2 Microsoft Windows XP Professional x64 Edition Microsoft Windows Server 2003 Service Pack 1 Microsoft Windows XP Service Pack 3 Microsoft Windows XP Home Edition Microsoft Windows XP Professional Microsoft Windows XP Service Pack 2 Microsoft Windows XP Home Edition Microsoft Windows XP Professional

現象

ドメイン ネーム システム (DNS) サーバー サービス セキュリティ更新プログラム 953230 (MS08-037) をインストールした後、コンピューターを再起動すると、UDP に依存するネットワーク サービスに関する問題が発生する可能性があります。 セキュリティ更新プログラム 953230 がインストールされた後、UDP ポートに依存するサービスが、Windows 2000、Windows Server 2003、Windows Server 2008 を実行しているコンピューターで起動しない可能性があります。 この問題は、セキュリティ更新プログラム 953230 がインストールされた後にサービスが DNS サーバー サービスに割り当てられている場合に発生します。

原因

この問題は、サービスが正しく機能するために必要なポートを取得できないために発生します。 この問題は、セキュリティ更新プログラム 953230 がインストールされた後に DNS サービスのポート割り当てが変更されたために発生します。

既定では、セキュリティ更新プログラム 953230 がインストールされた後、DNS サーバー サービスはエフェメラル ポート範囲に 2,500 ポートをランダムに割り当てます。 これは、この更新プログラムによって導入された新しい動作です。 これらのランダムに割り当てられたポートのいずれかが、競合するサービスによって使用されるポートである場合、競合が発生する可能性があります。

DNS 機能を含む追加のロールを提供するマルチロール サーバーでは、サービスの競合が発生する可能性が高くなります。 これらのポートはランダムに割り当てられるため、これらのエラーは断続的になる可能性があります。

たとえば、この競合は Windows IPsec Services サービスで発生する可能性があります。 IPsec Services サービスでは、UDP ポート 4500 が使用されます。 IPsec サービスも提供する DNS サーバーでは、ポートの競合によって IPsec サービスが開始できなくなる可能性があります。

回避策

この問題を回避するには、一時的なポート範囲から UDP ポートを予約して、ポートに依存するサービスを開始できることを確認します。

エフェメラル ポートを予約する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。

812873 2003 または Windows 2000 Server を実行しているコンピューターで一時的なポートの範囲Windows Server予約する方法
競合する可能性がある UDP ネットワーク ポートの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

832017 サービスの概要とWindows Server システムのネットワーク ポート要件
前に説明した IPsec サービスの例では、ReservedPorts レジストリ キーを使用してポート 4500 から 4500 を追加できます。

追加情報

詳細な原因

この問題の原因の詳細な説明を次に示します。

DNS サーバー ソース ポートのランダム化と SocketPool の実装

DNS サーバーセキュリティ更新プログラムの実装では、クエリをランダム化するときに一連のポートが予約されます。 この設計上の決定は、Windows ベースのクライアントに比べてクエリの数が大幅に多く処理され、発生する DNS サーバーのパフォーマンスの問題に対処するために行われました。 DNS サーバーによる予約済みポートのセットは、ここから "ソケット プール" と呼ばれます。

Windows ベースのサーバー上のソケット プールの既定のサイズは 2,500 ソケットです。 このサイズは、レジストリ内の次のサブキーの SocketPoolSize レジストリ エントリを変更することで構成できます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\SocketPoolSize
注 SocketPoolSize レジストリ エントリの変更を有効にするには、DNS サービスを再起動する必要があります。

Windows 2000 および Windows Server 2003

  • エフェメラル ポートの割り当てと MaxUserPort レジストリ エントリ
    ソケット プールの一部として割り当てられたポートは、サーバー上で使用可能な一連のエフェメラル ポートからプルされます。 エフェメラル ポートは、目的の送信元ポートが指定されていない "ワイルドカード バインド" 中に TCP/IP スタックによって一時的に割り当てられます。

    Windows ベースのサーバーでは、MaxUserPort レジストリ エントリはエフェメラル ポート範囲を定義し、エフェメラル ポートに割り当てることができる最大のポート番号を定義します。 MaxUserPort レジストリ エントリは、レジストリ内の次のサブキーにあります。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
    MaxUserPort レジストリ エントリの詳細については、次の Microsoft Web ページを参照してください。

    http://technet.microsoft.com/en-us/library/cc938196.aspx

  • MaxUserPort レジストリ エントリの値が明示的に設定されている場合の有効なエフェメラル ポート範囲
    Windows Server 2003 または Windows 2000 Server では、MaxUserPort レジストリ エントリの値によってエフェメラル ポート範囲が定義されます。 範囲は 1024 から MaxUserPort レジストリ エントリによって定義される値までです。

    Windows Server 2003 および下位レベルのプラットフォームにセキュリティ更新プログラム 953230 をインストールした後、次の条件が満たされます。

    • MaxUserPort レジストリ エントリの値が設定されている場合、ポートは [1024, MaxUserPort] 範囲からランダムに割り当てられます。
    • MaxUserPort レジストリ エントリの値が設定されていない場合、ポートは [49152, 65535] 範囲からランダムに割り当てられます。

Windows Server 2008

  • 有効なエフェメラル ポート範囲
    エフェメラル ポートの割り当ては、2008 Windows Serverにセキュリティ更新プログラム 953230 をインストールする前に、[49152-65535] ポート範囲で発生します。 このポート割り当ての動作は、セキュリティ更新プログラム 953230 をインストールした後は変更されません。 現在のエフェメラル ポート範囲を表示するには、次のコマンドを実行します。

    netsh int <ipv4|ipv6> dynamicport <tcp|udp を表示する>

    このセキュリティ更新プログラム、およびこのソフトウェアの特定のリリースで発生する既知の問題の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft サポート技術情報) をクリックしてください。

    929851 TCP/IP の既定のダイナミック ポート範囲が Windows Vista と 2008 Windows Serverで変更されました

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。