重要本文包含有關如何修改登錄的資訊。請確定您在修改之前,請先備份登錄。請確定您知道如何還原登錄,如果發生問題。如需有關如何備份、 還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視 「 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 之後
-
按一下 [開始],按一下 [執行]、 輸入regedit,然後按一下[確定]。
-
找出並用滑鼠右鍵按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnablePMTUDiscovery實值型別: REG_DWORDValue: 0、 1 (False,則為 True) ISA 預設值: 0 (False)附註如果EnablePMTUDiscovery項目無法使用,建立項目。
-
如果適當的話,請設定,或變更的值,根據下列資訊:
-
值 = 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的值。
-
-
-
若要加入探索程序,請為 ISA Server 中建立的 ICMP MTU 存取規則。要執行這項操作,請依照下列步驟所述的下列章節中,視您的組態而定。
-
結束 [登錄編輯程式],然後重新啟動電腦。
ISA Server 2004 標準版
-
按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理。
-
在左窗格中,請展開ArrayName,,,然後按一下 [防火牆原則。
-
在工作窗格中,按一下 [工具箱] 索引標籤,然後按一下通訊協定。
-
在 [通訊協定中,按一下 [新增],然後按一下通訊協定。
-
在 [通訊協定定義名稱] 方塊中,輸入ICMP MTU 探索,然後按一下 [下一步]。
-
按一下 [新增],然後按一下 [通訊協定類型] 清單中的 [ ICMP 。
-
在 [方向] 清單中,按一下 [傳送接收。
-
在 [ ICMP 代碼] 方塊中輸入 「 4 」 ,在ICMP 類型] 方塊中,鍵入3 ,然後按一下[確定]。
-
按一下 [下一步,按一下 [完成],然後按一下 [套用]。
-
在左窗格中,以滑鼠右鍵按一下 [防火牆原則,按一下 [新增],然後按一下存取規則。
-
在 [存取規則名稱] 方塊中,輸入允許 ICMP MTU 探索,然後按一下 [下一步]。
-
按一下 [允許],然後按一下 [下一步]。
-
在此規則會套用至] 清單中,按一下 [選取的通訊協定,,然後按一下 [新增]。
-
通訊協定] 清單中,展開 [使用者定義]。
-
按一下 [ ICMP MTU 探索,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]。
-
按一下 [新增]。
-
在 [網路實體] 清單中,展開 [網路]。
-
按一下 [外部,,,然後按一下 [新增]。
-
按一下 [內部,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]。
-
按一下 [新增]。
-
在 [網路實體] 清單中,展開 [網路]。
-
按一下 [本機主機,按一下 [新增]、 按一下 [關閉],然後按兩次 [下一步] 。
-
按一下 [完成],然後按一下 [套用]。
ISA Server 2004 企業版
ISA Server 2004 企業版,參與 ICMP MTU 探索程序中,在企業層級中,建立 ICMP 通訊協定,然後建立 ICMP MTU 的存取規則在陣列層級。
如何在企業層級建立 ICMP 通訊協定
-
按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理。
-
在左窗格中,展開 [企業],然後按一下企業原則。
-
在工作窗格中,按一下 [工具箱] 索引標籤,然後按一下通訊協定。
-
在 [通訊協定中,按一下 [新增],然後按一下通訊協定。
-
在 [通訊協定定義名稱] 方塊中,輸入ICMP MTU 探索,然後按一下 [下一步]。
-
按一下 [新增],然後按一下 [通訊協定類型] 清單中的 [ ICMP 。
-
在 [ ICMP 代碼] 方塊中輸入 「 4 」 ,在ICMP 類型] 方塊中,鍵入3 ,然後按一下[確定]。
-
按一下 [下一步,按一下 [完成],然後按一下 [套用]。附註當您使用 「 規則建立精靈 」 時,無法建立企業存取規則的使用者定義的 ICMP 通訊協定。
如需有關如何在 ISA Server 2004 中使用使用者定義的 ICMP 通訊協定的詳細資訊,企業版原則中,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
902348使用者定義的 ICMP 通訊協定不會顯示在新的存取規則精靈,在 ISA Server 2004 企業版
如何手動建立 ICMP MTU 的存取規則,如果您在網路中有單一的陣列
-
按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理。
-
在左窗格中,展開陣列,然後再展開ArrayName。
-
防火牆原則上按一下滑鼠右鍵,按一下 [新增],然後按一下 [存取規則。
-
在 [存取規則名稱] 方塊中,輸入允許 ICMP MTU 探索,然後按一下 [下一步]。
-
按一下 [允許],然後按一下 [下一步]。
-
在此規則會套用至] 清單中,按一下 [選取的通訊協定,,然後按一下 [新增]。
-
通訊協定] 清單中,展開 [使用者定義]。
-
按一下 [ ICMP MTU 探索,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]。
-
按一下 [新增]。
-
在 [網路實體] 清單中,展開 [網路]。
-
按一下 [外部,,,然後按一下 [新增]。
-
按一下 [內部,按一下 [新增]、 按一下 [關閉],然後按一下 [下一步]。
-
按一下 [新增]。
-
在 [網路實體] 清單中,展開 [網路]。
-
按一下 [本機主機,按一下 [新增]、 按一下 [關閉],然後按兩次 [下一步] 。
-
按一下 [完成],然後按一下 [套用]。
如何建立 ICMP MTU 的存取規則,如果您在網路中有多個陣列成員
方法 1
-
手動建立第一個陣列上的 ICMP MTU 的存取規則。若要這麼做,請依照所述,若要建立單一的陣列存取規則。
-
將複製的 ICMP MTU 存取規則。若要這麼做,請依照下列步驟執行:
-
按一下 [開始],指向 [程式集、 指向Microsoft ISA Server,,然後按一下 [ ISA Server 管理。
-
在左窗格中,展開陣列,然後再展開ArrayName。ArrayName是第一個陣列,您可以為其建立 ICMP MTU 的存取規則。
-
按一下 [防火牆原則,以滑鼠右鍵按一下 [防火牆原則規則] 下的允許 ICMP MTU 探索規則,然後按一下 [複製。
-
-
ICMP MTU 的存取規則貼到每一個陣列中。若要這麼做,請依照下列步驟執行:
-
在 ISA Server 管理 Microsoft 管理主控台 (MMC),展開您要貼上 ICMP MTU 存取規則中,的陣列,,然後按一下 [防火牆原則。
-
在中間窗格中,以滑鼠右鍵按一下您要立即遵循 ICMP MTU 存取規則中,陣列原則規則,然後按一下 [貼。附註如果沒有陣列原則規則存在,您必須先建立新的陣列原則規則,您可以將 ICMP MTU 的存取規則貼入陣列原則之前。
-
按一下 [套用]。
-
-
重複步驟 3a 到 3 的 c,直到複製所有的陣列成員的 ICMP MTU 的存取規則。
方法 2
-
手動建立第一個陣列上的 ICMP MTU 的存取規則。要執行這項操作,請依照下列步驟所述,若要建立一個陣列的 ICMP MTU 存取規則。
-
匯出 ICMP MTU 的存取規則。若要這麼做,請依照下列步驟執行:
-
在 ISA Server 管理 MMC 中,展開您要為其建立 ICMP MTU 存取規則中,陣列,然後按一下 [防火牆原則。
-
以滑鼠右鍵按一下 [防火牆原則規則] 下的允許 ICMP MTU 探索規則,然後按一下 [匯出選取的。
-
在 [匯出精靈] 中,按一下 [下一步]。
-
在 [匯出喜好設定] 頁面中,按一下 [下一步]。
-
在匯出檔案位置] 頁面中,按一下 [瀏覽]。
-
選取的位置,您會用它來匯出 ICMP MTU 探索規則,在檔案名稱] 方塊中,輸入MtuDiscoveryRule ,,然後按一下 [開啟]。
-
按一下 [下一步,,然後按一下 [完成] 以結束精靈。
-
當進度列指示器顯示一則訊息,設定已成功匯出時,請按一下[確定] 。
-
-
ICMP MTU 的存取規則匯入每一個陣列。若要這麼做,請依照下列步驟執行:
-
在 ISA Server 管理 MMC 中,展開您想要匯入 ICMP MTU 存取規則中,的陣列,然後以滑鼠右鍵按一下 [防火牆原則。
-
按一下 [匯入]。
-
在匯入精靈] 中,按一下 [下一步]。
-
按一下 [瀏覽,,然後找出您在步驟 2f 儲存MtuDiscoveryRule檔案的資料夾。
-
按一下 [ MtuDiscoveryRule檔案中],然後按一下 [開啟。
-
按兩次 [下一步]。
-
按一下 [完成]。
-
當進度列指示器顯示一則訊息已成功匯入組態時,請按一下[確定] 。
-
按一下 [套用]。
-
參考
如需有關 PMTU 探索登錄設定,在 Microsoft Windows 2000 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
在 Windows 2000 中的315669如何強化 TCP/IP 堆疊以對抗拒絕服務攻擊如需有關 PMTU 探索登錄設定,在 Microsoft Windows Server 2003 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
324270如何強化 TCP/IP 堆疊以對抗拒絕服務攻擊,Windows Server 2003 中