重要本文包含有關如何修改登錄的資訊。請確定您在修改之前,請先備份登錄。請確定您知道如何還原登錄,如果發生問題。如需有關如何備份、 還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

Microsoft Windows 登錄256986說明

徵狀

當 Microsoft 網際網路安全性並加速伺服器 (ISA) 在重度負載條件下操作 2004年架構的電腦中時,您可能會遇到 CPU 使用率升高。例如,CPU 的使用,ISA Server 電腦上可能會超過 50%。

原因

發生這個問題可能會因為 TCP/IP 的最大傳輸單位 (MTU) 設定會套用在 ISA Server 安裝期間。若要防止攻擊者變更 MTU 值,ISA Server 2004 會停用路徑 MTU (PMTU) 探索。Microsoft 安全性公告 MS05-019 中,會說明這項設定。若要查看本公告,請造訪下列 Microsoft 網站:

http://www.microsoft.com/technet/security/Bulletin/MS05-019.mspx注意事項

  • 根據預設,Windows 會使用的 1,480 位元組的 MTU 設定,並接受要求較小的封包大小的網際網路控制訊息通訊協定 (ICMP) 訊息。

  • 如果 MTU 探索已停用 Windows 為基礎的伺服器上,伺服器會使用 576 位元組的 MTU] 設定。

解決方案

警告如果您不當修改登錄使用登錄編輯程式或使用另一個方法,可能會發生嚴重的問題。這些問題可能會要求您重新安裝作業系統。Microsoft 不保證,就可以解決這些問題。自行承擔風險承擔修改登錄。要解決這個問題所造成的安裝 ISA 伺服器時設定的 MTU 設定,請依照下列步驟執行。重要您必須進行這個變更,如果您已安裝 Windows Server 2003 Service Pack 1 (SP1) 或 hotfix,是在下列的 「 Microsoft 知識庫 」 文件中所述的登錄:

898060用戶端和伺服器之間的網路連線可能會失敗安裝安全性更新 MS05-019 或 Windows Server 2003 的 Service Pack 1 之後

  1. 按一下 [開始],按一下 [執行]、 輸入regedit,然後按一下[確定]

  2. 找出並用滑鼠右鍵按一下下列登錄子機碼:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnablePMTUDiscovery實值型別: REG_DWORDValue: 0、 1 (False,則為 True) ISA 預設值: 0 (False)附註如果EnablePMTUDiscovery項目無法使用,建立項目。

  3. 如果適當的話,請設定,或變更的值,根據下列資訊:

    • 值 = 1當您將EnablePMTUDiscovery設定為 1 時,TCP 就會嘗試探索 MTU 或最大的封包大小,在遠端主機的路徑。在 [連線使用不同 Mtu 的網路路徑,TCP 可以減少路由器的分散程度。TCP 這麼做是藉由探索路徑 MTU,並藉由限制 TCP 區段為這個大小。分散程度對 TCP 輸出量有不利的影響。

    • 值 = 0當您將EnablePMTUDiscovery設定為 0 時,到本機子網路上的主機與不相關的所有連線使用 576 位元組的 MTU。如果您不設定這個值為 0,攻擊者可能會強制使 MTU 值很小的值,並變堆疊。備忘稿

      • 當您將EnablePMTUDiscovery設定為 0 時,會影響 TCP/IP 效能和產量。您可以設定此值為 0 之前,您必須是完全瞭解效能輸送量。

      • 當您安裝 ISA Server 2004 或 ISA Server 2004 的 Service Pack 1 時,這個值也會重設為 0。

      • ISA Server 2004 的 Service Pack 2 並不會變更EnablePMTUDiscovery的值。

  4. 若要加入探索程序,請為 ISA Server 中建立的 ICMP MTU 存取規則。要執行這項操作,請依照下列步驟所述的下列章節中,視您的組態而定。

  5. 結束 [登錄編輯程式],然後重新啟動電腦。

ISA Server 2004 標準版

  1. 按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理

  2. 在左窗格中,請展開ArrayName,,,然後按一下 [防火牆原則

  3. 在工作窗格中,按一下 [工具箱] 索引標籤,然後按一下通訊協定

  4. 在 [通訊協定中,按一下 [新增],然後按一下通訊協定

  5. 在 [通訊協定定義名稱] 方塊中,輸入ICMP MTU 探索,然後按一下 [下一步]

  6. 按一下 [新增],然後按一下 [通訊協定類型] 清單中的 [ ICMP

  7. 在 [方向] 清單中,按一下 [傳送接收

  8. 在 [ ICMP 代碼] 方塊中輸入 「 4 」 ,在ICMP 類型] 方塊中,鍵入3 ,然後按一下[確定]

  9. 按一下 [下一步,按一下 [完成],然後按一下 [套用]

  10. 在左窗格中,以滑鼠右鍵按一下 [防火牆原則,按一下 [新增],然後按一下存取規則

  11. 在 [存取規則名稱] 方塊中,輸入允許 ICMP MTU 探索,然後按一下 [下一步]

  12. 按一下 [允許],然後按一下 [下一步]

  13. 此規則會套用至] 清單中,按一下 [選取的通訊協定,,然後按一下 [新增]

  14. 通訊協定] 清單中,展開 [使用者定義]。

  15. 按一下 [ ICMP MTU 探索,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]

  16. 按一下 [新增]

  17. 在 [網路實體] 清單中,展開 [網路]。

  18. 按一下 [外部,,,然後按一下 [新增]

  19. 按一下 [內部,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]

  20. 按一下 [新增]

  21. 在 [網路實體] 清單中,展開 [網路]。

  22. 按一下 [本機主機,按一下 [新增]、 按一下 [關閉],然後按兩次 [下一步]

  23. 按一下 [完成],然後按一下 [套用]

ISA Server 2004 企業版

ISA Server 2004 企業版,參與 ICMP MTU 探索程序中,在企業層級中,建立 ICMP 通訊協定,然後建立 ICMP MTU 的存取規則在陣列層級。

如何在企業層級建立 ICMP 通訊協定

  1. 按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理

  2. 在左窗格中,展開 [企業],然後按一下企業原則。

  3. 在工作窗格中,按一下 [工具箱] 索引標籤,然後按一下通訊協定

  4. 在 [通訊協定中,按一下 [新增],然後按一下通訊協定

  5. 在 [通訊協定定義名稱] 方塊中,輸入ICMP MTU 探索,然後按一下 [下一步]

  6. 按一下 [新增],然後按一下 [通訊協定類型] 清單中的 [ ICMP

  7. 在 [ ICMP 代碼] 方塊中輸入 「 4 」 ,在ICMP 類型] 方塊中,鍵入3 ,然後按一下[確定]

  8. 按一下 [下一步,按一下 [完成],然後按一下 [套用]。附註當您使用 「 規則建立精靈 」 時,無法建立企業存取規則的使用者定義的 ICMP 通訊協定。

如需有關如何在 ISA Server 2004 中使用使用者定義的 ICMP 通訊協定的詳細資訊,企業版原則中,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

902348使用者定義的 ICMP 通訊協定不會顯示在新的存取規則精靈,在 ISA Server 2004 企業版

如何手動建立 ICMP MTU 的存取規則,如果您在網路中有單一的陣列

  1. 按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理

  2. 在左窗格中,展開陣列,然後再展開ArrayName

  3. 防火牆原則上按一下滑鼠右鍵,按一下 [新增],然後按一下 [存取規則

  4. 在 [存取規則名稱] 方塊中,輸入允許 ICMP MTU 探索,然後按一下 [下一步]

  5. 按一下 [允許],然後按一下 [下一步]

  6. 此規則會套用至] 清單中,按一下 [選取的通訊協定,,然後按一下 [新增]

  7. 通訊協定] 清單中,展開 [使用者定義]。

  8. 按一下 [ ICMP MTU 探索,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]

  9. 按一下 [新增]

  10. 在 [網路實體] 清單中,展開 [網路]。

  11. 按一下 [外部,,,然後按一下 [新增]

  12. 按一下 [內部,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]

  13. 按一下 [新增]

  14. 在 [網路實體] 清單中,展開 [網路]。

  15. 按一下 [本機主機,按一下 [新增]、 按一下 [關閉],然後按兩次 [下一步]

  16. 按一下 [完成],然後按一下 [套用]

如何建立 ICMP MTU 的存取規則,如果您在網路中有多個陣列成員

方法 1

  1. 手動建立第一個陣列上的 ICMP MTU 的存取規則。若要這麼做,請依照所述,若要建立單一的陣列存取規則。

  2. 將複製的 ICMP MTU 存取規則。若要這麼做,請依照下列步驟執行:

    1. 按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理

    2. 在左窗格中,展開陣列,然後再展開ArrayNameArrayName是第一個陣列,您可以為其建立 ICMP MTU 的存取規則。

    3. 按一下 [防火牆原則,以滑鼠右鍵按一下 [防火牆原則規則] 下的允許 ICMP MTU 探索規則,然後按一下 [複製

  3. ICMP MTU 的存取規則貼到每一個陣列中。若要這麼做,請依照下列步驟執行:

    1. 在 ISA Server 管理 Microsoft 管理主控台 (MMC),展開您要貼上 ICMP MTU 存取規則中,的陣列,,然後按一下 [防火牆原則

    2. 在中間窗格中,以滑鼠右鍵按一下您要立即遵循 ICMP MTU 存取規則中,陣列原則規則,然後按一下 [。附註如果沒有陣列原則規則存在,您必須先建立新的陣列原則規則,您可以將 ICMP MTU 的存取規則貼入陣列原則之前。

    3. 按一下 [套用]。

  4. 重複步驟 3a 到 3 的 c,直到複製所有的陣列成員的 ICMP MTU 的存取規則。

方法 2

  1. 手動建立第一個陣列上的 ICMP MTU 的存取規則。要執行這項操作,請依照下列步驟所述,若要建立一個陣列的 ICMP MTU 存取規則。

  2. 匯出 ICMP MTU 的存取規則。若要這麼做,請依照下列步驟執行:

    1. 在 ISA Server 管理 MMC 中,展開您要為其建立 ICMP MTU 存取規則中,陣列,然後按一下 [防火牆原則

    2. 以滑鼠右鍵按一下 [防火牆原則規則] 下的允許 ICMP MTU 探索規則,然後按一下 [匯出選取的

    3. 在 [匯出精靈] 中,按一下 [下一步]。

    4. 在 [匯出喜好設定] 頁面中,按一下 [下一步]。

    5. 匯出檔案位置] 頁面中,按一下 [瀏覽]。

    6. 選取的位置,您會用它來匯出 ICMP MTU 探索規則,在檔案名稱] 方塊中,輸入MtuDiscoveryRule ,,然後按一下 [開啟]。

    7. 按一下 [下一步,,然後按一下 [完成] 以結束精靈。

    8. 當進度列指示器顯示一則訊息,設定已成功匯出時,請按一下[確定]

  3. ICMP MTU 的存取規則匯入每一個陣列。若要這麼做,請依照下列步驟執行:

    1. 在 ISA Server 管理 MMC 中,展開您想要匯入 ICMP MTU 存取規則中,的陣列,然後以滑鼠右鍵按一下 [防火牆原則

    2. 按一下 [匯入]。

    3. 在匯入精靈] 中,按一下 [下一步]。

    4. 按一下 [瀏覽,,然後找出您在步驟 2f 儲存MtuDiscoveryRule檔案的資料夾。

    5. 按一下 [ MtuDiscoveryRule檔案中],然後按一下 [開啟

    6. 按兩次 [下一步]。

    7. 按一下 [完成]

    8. 當進度列指示器顯示一則訊息已成功匯入組態時,請按一下[確定]

    9. 按一下 [套用]。

參考

如需有關 PMTU 探索登錄設定,在 Microsoft Windows 2000 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

在 Windows 2000 中的315669如何強化 TCP/IP 堆疊以對抗拒絕服務攻擊如需有關 PMTU 探索登錄設定,在 Microsoft Windows Server 2003 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

324270如何強化 TCP/IP 堆疊以對抗拒絕服務攻擊,Windows Server 2003 中

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。