Настройка динамического выделения портов RPC для работы с брандмауэрами

Эта статья поможет вам изменить параметры удаленного вызова процедур (RPC) в реестре, чтобы убедиться, что динамическое выделение портов RPC может работать с брандмауэрами.

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 154596

Сводка

Динамическое выделение портов RPC используется серверными приложениями и приложениями удаленного администрирования, такими как диспетчер протокола DHCP, диспетчер служб windows INTERNET Name Service (WINS) и т. д. Динамическое выделение портов RPC указывает программе RPC использовать конкретный случайный порт в диапазоне, настроенном для TCP и UDP, на основе реализации используемой операционной системы. Дополнительные сведения см. в справочниках ниже.

Клиентам, использующим брандмауэры, может потребоваться контролировать, какие порты использует RPC, чтобы их маршрутизатор брандмауэра можно было настроить для пересылки только этих портов UDP и TCP.

Многие серверы RPC в Windows позволяют указать порт сервера в пользовательских элементах конфигурации, таких как записи реестра. Если вы можете указать выделенный порт сервера, вы знаете, какой трафик проходит между узлами через брандмауэр. И вы можете определить, какой трафик разрешен более направленным образом.

В качестве порта сервера выберите порт за пределами диапазона, который может потребоваться указать ниже. Полный список портов сервера, используемых в Windows и основных продуктах Майкрософт, см. в статье Общие сведения о службах и требования к сетевым портам для Windows.

В этой статье также перечислены серверы RPC и какие серверы RPC можно настроить для использования пользовательских серверных портов за пределами возможностей, предоставляемых средой выполнения RPC.

Некоторые брандмауэры также позволяют фильтровать UUID, когда он учится из запроса сопоставителя конечных точек RPC для UUID интерфейса RPC. Ответ имеет номер порта сервера, и последующий RPC Bind на этом порте может передаваться.

Важно!

Используйте метод, описанный в этой статье, только если RPC-сервер не предлагает способ определения порта сервера.

Следующие записи реестра относятся к Windows NT 4.0 и более поздних версий. Они не применяются к предыдущим версиям Windows NT. Несмотря на то, что вы можете настроить порт, используемый клиентом для связи с сервером, клиент должен иметь возможность связаться с сервером по его фактическому IP-адресу. DCOM нельзя использовать через брандмауэры, которые выполняют преобразование адресов. Например, клиент подключается к виртуальному адресу 198.252.145.1, который брандмауэр прозрачно сопоставляет с фактическим адресом сервера, например 192.100.81.101. 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), PortsInternetAvailable (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.

Дополнительные сведения см. в разделе: