Настройка динамического выделения портов RPC для работы с брандмауэром
Эта статья поможет изменить параметры удаленного вызова процедур (RPC) в реестре, чтобы убедиться, что динамическое распределение портов RPC может работать с брандмауэрами.
Исходный номер базы знаний: 154596
Итоги
Динамическое распределение портов RPC используется серверными приложениями и приложениями удаленного администрирования, например диспетчером динамической конфигурации узла (DHCP), диспетчером доменных имен Windows (WINS) и т. д. Динамическое выделение портов RPC указывает программе RPC использовать определенный случайный порт в диапазоне, настроенном для TCP и UDP, на основе реализации используемой операционной системы. Дополнительные сведения см. в приведенных ниже ссылках.
Клиенты, использующие брандмауэры, могут контролировать, какие порты RPC используют, чтобы маршрутизатор брандмауэра мог быть настроен для пересылки только этих портов протокола управления передачей (UDP и TCP).
Многие серверы RPC в Windows позволяют указать порт сервера в пользовательских элементах конфигурации, таких как записи реестра. Если можно указать выделенный порт сервера, вы знаете, какие потоки трафика между узлами через брандмауэр. И вы можете определить, какой трафик разрешен более направленным образом.
В качестве порта сервера выберите порт вне диапазона, который может потребоваться указать ниже. Полный список портов сервера, используемых в Windows и основных продуктах Майкрософт, см. в обзоре службы и требованиях к сетевому порту для Windows.
В статье также перечислены серверы RPC и которые серверы RPC можно настроить для использования пользовательских портов сервера за пределами возможностей, предоставляемых средой выполнения RPC.
Некоторые брандмауэры также позволяют фильтровать UUID, где он узнает из запроса RPC Endpoint Mapper для интерфейса RPC UUID. Ответ имеет номер порта сервера, а последующий RPC Bind на этом порту затем разрешено передавать.
Внимание
Используйте метод, описанный в этой статье, только если сервер 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 обрабатывает всю конфигурацию как недопустимую.
ПортыInternetAvailable REG_SZ Y или N (не учитывает регистр)
Если Y, порты, перечисленные в ключе портов, являются всеми доступными в Интернете портами на этом компьютере. Если N, порты, перечисленные в ключе портов, являются всеми портами, которые недоступны в Интернете.
UseInternetPorts REG_SZ Y или N (не учитывает регистр)
Указывает политику по умолчанию системы.
Если Y, процессы, использующие значение по умолчанию, будут назначены портам из набора доступных в Интернете портов, как определено ранее. Если N, процессы, использующие значение по умолчанию, будут назначены портам из набора портов, доступных только для интрасети.
Пример
В этом примере порты 5000–6000 включительно были выбраны произвольно, чтобы продемонстрировать, как можно настроить новый раздел реестра. Это не рекомендация минимального количества портов, необходимых для любой конкретной системы.
Добавление ключа Интернета в раздел
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
В разделе "Интернет-ключ" добавьте значения портов (MULTI_SZ), ПортыInternetAvailable (REG_SZ) и UseInternetPorts (REG_SZ).
Например, новый раздел реестра отображается следующим образом:
Порты: REG_MULTI_SZ: 5000-6000
PortsInternetAvailable: REG_SZ: Y
UseInternetPorts: REG_SZ: YПерезапустите сервер. Все приложения, использующие динамическое выделение портов RPC, используют порты 5000–6000 включительно.
Вы должны открыть диапазон портов выше порта 5000. Номера портов ниже 5000 уже могут использоваться другими приложениями и могут привести к конфликтам с приложениями DCOM. Кроме того, предыдущий опыт показывает, что необходимо открыть не менее 100 портов, так как несколько системных служб используют эти порты RPC для взаимодействия друг с другом.
Примечание.
Минимальное количество необходимых портов может отличаться от компьютера к компьютеру. Компьютеры с более высоким трафиком могут столкнуться с ситуацией нехватки портов, если динамические порты RPC ограничены. Учитывайте это при ограничении диапазона портов.
Предупреждение
Если в конфигурации порта возникла ошибка или в пуле недостаточно портов, служба mapper конечной точки не сможет зарегистрировать серверы 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.
Дополнительные сведения см. в разделе: