Jak skonfigurować dynamiczną alokację portów RPC do pracy z zaporami

Ten artykuł ułatwia modyfikowanie parametrów zdalnego wywołania procedury (RPC) w rejestrze, aby upewnić się, że dynamiczna alokacja portów RPC może działać z zaporami.

Dotyczy: Windows Server 2012 R2
Oryginalny numer KB: 154596

Podsumowanie

Dynamiczna alokacja portów RPC jest używana przez aplikacje serwera i aplikacje administracji zdalnej, takie jak Menedżer protokołu DHCP (Dynamic Host Configuration Protocol), Menedżer usługi nazw internetowych systemu Windows (WINS) itd. Dynamiczna alokacja portów RPC nakazuje programowi RPC użycie określonego losowego portu w zakresie skonfigurowanym dla protokołów TCP i UDP w oparciu o implementację używanego systemu operacyjnego. Aby uzyskać więcej informacji, zobacz poniższe odwołania.

Klienci korzystający z zapór mogą chcieć kontrolować, których portów używa RPC, aby można było skonfigurować router zapory do przekazywania tylko tych portów protokołu kontroli transmisji (UDP i TCP).

Wiele serwerów RPC w systemie Windows umożliwia określenie portu serwera w niestandardowych elementach konfiguracji, takich jak wpisy rejestru. Gdy możesz określić dedykowany port serwera, wiesz, jaki ruch przepływa między hostami przez zaporę. Możesz też określić, jaki ruch jest dozwolony w bardziej ukierunkowany sposób.

Jako port serwera wybierz port spoza zakresu, który możesz określić poniżej. Pełną listę portów serwera używanych w systemie Windows i głównych produktach firmy Microsoft można znaleźć w temacie Omówienie usługi i wymagania dotyczące portów sieciowych dla systemu Windows.

W tym artykule wymieniono również serwery RPC i serwery RPC, które można skonfigurować do używania niestandardowych portów serwera poza obiektami, które oferuje środowisko uruchomieniowe RPC.

Niektóre zapory umożliwiają również filtrowanie identyfikatorów UUID, których uczy się na podstawie żądania mapowania punktu końcowego RPC dla identyfikatora UUID interfejsu RPC. Odpowiedź ma numer portu serwera, a następnie można przekazać kolejne powiązanie RPC na tym porcie.

Ważna

Użyj metody opisanej w tym artykule tylko wtedy, gdy serwer RPC nie oferuje sposobu definiowania portu serwera.

Następujące wpisy rejestru dotyczą systemu Windows NT 4.0 lub nowszego. Nie mają one zastosowania do poprzednich wersji systemu Windows NT. Mimo że można skonfigurować port używany przez klienta do komunikacji z serwerem, klient musi mieć możliwość dotarcia do serwera za pomocą jego rzeczywistego adresu IP. Nie można używać modelu DCOM za pośrednictwem zapór, które wykonują tłumaczenie adresów. Na przykład klient łączy się z adresem wirtualnym 198.252.145.1, który zapora mapuje w sposób przezroczysty na rzeczywisty adres serwera, na przykład 192.100.81.101. Usługa DCOM przechowuje nieprzetworzone adresy IP w interfejsie marshalingu pakietów. Jeśli klient nie może nawiązać połączenia z adresem określonym w pakietze, nie będzie działać.

Więcej informacji

Wartości (i klucz internetowy) omówione poniżej nie są wyświetlane w rejestrze. Należy je dodać ręcznie przy użyciu Redaktor rejestru.

Ważna

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Dla większego bezpieczeństwa przed zmodyfikowaniem rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji, zobacz Jak utworzyć kopię zapasową i przywrócić rejestr w systemie Windows.

Za pomocą Redaktor rejestru można zmodyfikować następujące parametry dla RPC. Omówione poniżej wartości klucza portu RPC znajdują się w następującym kluczu w rejestrze:

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

  • Porty REG_MULTI_SZ

    Określa zestaw zakresów portów IP składający się ze wszystkich portów dostępnych z Internetu lub wszystkich portów niedostępnych z Internetu. Każdy ciąg reprezentuje pojedynczy port lub inkluzywny zestaw portów.

    Na przykład pojedynczy port może być reprezentowany przez 5984, a zestaw portów może być reprezentowany przez 5000–5100. Jeśli jakiekolwiek wpisy znajdują się poza zakresem od 0 do 65535 lub jeśli nie można interpretować żadnego ciągu, środowisko uruchomieniowe RPC traktuje całą konfigurację jako nieprawidłową.

  • PortsInternetAvailable REG_SZ Y lub N (bez uwzględniania wielkości liter)

    Jeśli wartość Y, porty wymienione w kluczu Porty są wszystkimi portami dostępnymi w Internecie na tym komputerze. Jeśli N, porty wymienione w kluczu Porty są wszystkie te porty, które nie są dostępne w Internecie.

  • UseInternetPorts REG_SZ Y lub N (bez uwzględniania wielkości liter

    Określa zasady domyślne systemu.

    Jeśli wartość Y, procesy używające wartości domyślnej zostaną przypisane do portów z zestawu portów dostępnych w Internecie, zgodnie z wcześniejszymi definicjami. Jeśli N, procesy używające wartości domyślnej zostaną przypisane do portów z zestawu portów tylko intranet.

Przykład

W tym przykładzie porty od 5000 do 6000 włącznie zostały dowolnie wybrane, aby zilustrować sposób konfigurowania nowego klucza rejestru. Nie jest to zalecenie dotyczące minimalnej liczby portów wymaganych dla określonego systemu.

  1. Dodaj klucz internetowy w obszarze HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  2. W obszarze klucza internetowego dodaj wartości Porty (MULTI_SZ), PortsInternetAvailable (REG_SZ) i UseInternetPorts (REG_SZ).

    Na przykład nowy klucz rejestru jest wyświetlany w następujący sposób:

    Porty: REG_MULTI_SZ: 5000–6000
    PortsInternetAvailable: REG_SZ: Y
    UseInternetPorts: REG_SZ: Y

  3. Uruchom ponownie serwer. Wszystkie aplikacje korzystające z dynamicznej alokacji portów RPC używają portów od 5000 do 6000 włącznie.

Należy otworzyć zakres portów powyżej portu 5000. Numery portów poniżej 5000 mogą być już używane przez inne aplikacje i mogą powodować konflikty z aplikacjami DCOM. Ponadto wcześniejsze środowisko pokazuje, że należy otworzyć co najmniej 100 portów, ponieważ kilka usług systemowych korzysta z tych portów RPC, aby komunikować się ze sobą.

Uwaga

Minimalna wymagana liczba portów może różnić się w zależności od komputera. Komputery z większym ruchem mogą występować w sytuacji wyczerpania portów, jeśli porty dynamiczne RPC są ograniczone. Weź to pod uwagę podczas ograniczania zakresu portów.

Ostrzeżenie

Jeśli w konfiguracji portu wystąpi błąd lub w puli nie ma wystarczających portów, usługa mapper punktów końcowych nie będzie mogła rejestrować serwerów RPC za pomocą dynamicznych punktów końcowych. W przypadku wystąpienia błędu konfiguracji kod błędu to 87 (0x57) ERROR_INVALID_PARAMETER. Może to mieć również wpływ na serwery RPC systemu Windows, takie jak Netlogon. W tym przypadku będzie on rejestrować zdarzenie 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.

Więcej informacji można znaleźć w następujących artykułach: