共用方式為


如何設定 RPC 動態連接埠配置以使用防火牆

本文可協助您修改登錄中的遠端過程調用 (RPC) 參數,以確保 RPC 動態埠配置可以使用防火牆。

原始 KB 編號: 154596

摘要

伺服器應用程式和遠端系統管理應用程式會使用 RPC 動態埠配置,例如動態主機設定通訊協定 (DHCP) 管理員、Windows 因特網名稱服務 (WINS) 管理員等等。 RPC 動態埠配置會根據所使用的操作系統實作,指示 RPC 程式在針對 TCP 和 UDP 設定的範圍中使用特定的隨機埠。 如需詳細資訊,請參閱下方的參考。

使用防火牆的客戶可能會想要控制 RPC 所使用的埠,以便將其防火牆路由器設定為只轉送這些傳輸控制通訊協定 (UDP 和 TCP) 埠。

Windows 中的許多 RPC 伺服器可讓您在自定義組態專案中指定伺服器埠,例如登錄專案。 當您可以指定專用伺服器埠時,您知道主機之間的流量在防火牆之間流動。 而且您可以定義以更導向的方式允許哪些流量。

作為伺服器埠,請選擇您想要在範圍以外的埠,如下所示指定。 您可以在 Windows 的服務概觀和網路埠需求中找到 Windows 和主要Microsoft產品中使用的伺服器埠完整清單。

本文也會列出 RPC 伺服器,以及哪些 RPC 伺服器可以設定為使用 RPC 運行時間所提供的設施以外的自訂伺服器埠。

某些防火牆也允許 UUID 篩選,從 RPC 介面 UUID 的 RPC 端點對應程式要求學習。 回應具有伺服器埠號碼,然後允許此埠上的後續 RPC 系結通過。

重要

只有在 RPC 伺服器不提供定義伺服器埠的方式時,才使用本文中所述的方法。

下列登錄專案適用於 Windows NT 4.0 和更新版本。 它們不適用於舊版 Windows NT。 雖然您可以設定用戶端用來與伺服器通訊的埠,但客戶端必須能夠透過實際的IP位址連線到伺服器。 您無法透過進行地址轉譯的防火牆使用DCOM。 例如,用戶端會聯機到虛擬位址 192.168.1.2,防火牆會以透明方式對應至伺服器的實際位址,例如 192.168.1.3。 DCOM 會將原始IP位址儲存在介面封送處理封包中。 如果客戶端無法連線到封包中指定的位址,將無法運作。

其他相關資訊

下面討論的值(和因特網機碼)不會出現在登錄中。 必須使用註冊表編輯器手動新增它們。

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需詳細資訊,請參閱 如何在 Windows 中備份和還原登錄。

使用註冊表編輯器,您可以修改 RPC 的下列參數。 以下討論的 RPC 連接埠金鑰值全都位於登錄中的下列機碼中:

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet\Entry name Data Type

  • 埠REG_MULTI_SZ

    指定一組IP埠範圍,由因特網提供的所有埠或因特網無法使用的所有埠組成。 每個字串都代表單一埠或一組包含的埠。

    例如,單一埠可能以 5984 表示,而一組埠可能以 5000-5100 表示。 如果有任何專案超出 0 到 65535 的範圍,或無法解譯任何字串,RPC 運行時間會將整個組態視為無效。

  • PortsInternetAvailable REG_SZ Y 或 N (不區分大小寫)

    如果為 Y,埠金鑰中列出的埠就是該電腦上所有因特網可用的埠。 如果為 N,則埠密鑰中列出的埠都是無法使用因特網的埠。

  • UseInternetPorts REG_SZ Y 或 N (不區分大小寫

    指定系統默認原則。

    如果為 Y,使用預設值的進程將會從因特網可用的埠集指派埠,如先前所定義。 如果為 N,則使用預設值的進程將會從一組僅限內部網路埠指派埠。

範例

在此範例中,已任意選取埠 5000 到 6000,以協助說明如何設定新的登錄機碼。 這不是任何特定系統所需的最小埠數目建議。

  1. 在底下新增因特網密鑰 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  2. 在 [因特網密鑰] 底下,新增 [埠][MULTI_SZ]、[埠 ][ 因特網][Available ] 和 REG_SZ [UseInternetPorts ] 值(REG_SZ)。

    例如,新的登錄機碼隨即出現,如下所示:

    埠:REG_MULTI_SZ:5000-6000
    PortsInternetAvailable:REG_SZ:Y
    UseInternetPorts:REG_SZ:Y

  3. 重新啟動伺服器。 所有使用 RPC 動態埠配置的應用程式都會使用埠 5000 到 6000,包括埠。

您應該開啟埠 5000 以上的埠範圍。 5000 以下的埠號碼可能已由其他應用程式使用,而且可能會與您的 DCOM 應用程式發生衝突。 此外,先前的體驗顯示至少應該開啟 100 個埠,因為數個系統服務依賴這些 RPC 埠彼此通訊。

注意

所需的埠數目下限可能會與計算機不同。 如果 RPC 動態埠受到限制,具有較高流量的電腦可能會遇到埠耗盡的情況。 在限制埠範圍時,請將這一點納入考慮。

警告

如果埠設定發生錯誤,或集區中埠不足,端點對應程式服務將無法向動態端點註冊 RPC 伺服器。 發生設定錯誤時,錯誤碼會是87 (0x57) ERROR_INVALID_PARAMETER。 這也會影響 Windows RPC 伺服器,例如 Netlogon。 在此情況下,它會記錄事件 5820:

Log Name: System  
Source: NETLOGON  
Event ID: 5820  
Level: Error  
Keywords: Classic  
Description:  
The Netlogon service could not add the AuthZ RPC interface. The service was terminated. The following error occurred: The parameter is incorrect.

如需詳細資訊,請參閱