Compartir a través de


Configurar la asignación dinámica de puertos RPC para trabajar con firewalls

Este artículo le ayuda a modificar los parámetros de llamada a procedimiento remoto (RPC) en el Registro para asegurarse de que la asignación dinámica de puertos RPC puede funcionar con firewalls.

Número de KB original: 154596

Resumen

Las aplicaciones de servidor y las aplicaciones de administración remota usan la asignación de puertos dinámicos RPC, como el Administrador del Protocolo de configuración dinámica de host (DHCP), el Administrador de servicios de nombres de Internet de Windows (WINS), etc. La asignación de puertos dinámicos RPC indica al programa RPC que use un puerto aleatorio determinado en el intervalo configurado para TCP y UDP, en función de la implementación del sistema operativo usado. Para obtener más información, consulte las referencias siguientes.

Es posible que los clientes que usen firewalls quieran controlar qué puertos usa RPC para que su enrutador de firewall pueda configurarse para reenviar solo estos puertos de Protocolo de control de transmisión (UDP y TCP).

Muchos servidores RPC de Windows permiten especificar el puerto del servidor en elementos de configuración personalizados, como entradas del Registro. Cuando puede especificar un puerto de servidor dedicado, sabrá qué tráfico fluye entre los hosts en el firewall. Y puede definir qué tráfico se permite de una manera más dirigida.

Como puerto de servidor, elija un puerto fuera del intervalo que quiera especificar a continuación. Puede encontrar una lista completa de los puertos de servidor que se usan en Windows y los principales productos de Microsoft en Información general del servicio y requisitos de puerto de red para Windows.

En el artículo también se enumeran los servidores RPC y qué servidores RPC se pueden configurar para usar puertos de servidor personalizados más allá de las instalaciones que ofrece el entorno de ejecución de RPC.

Algunos firewalls también permiten el filtrado UUID donde aprende de una solicitud de asignador de puntos de conexión RPC para un UUID de interfaz RPC. La respuesta tiene el número de puerto del servidor y, a continuación, se permite pasar un enlace RPC posterior en este puerto.

Importante

Use el método que se describe en este artículo solo si el servidor RPC no ofrece una manera de definir el puerto del servidor.

Las siguientes entradas del Registro se aplican a Windows NT 4.0 y versiones posteriores. No se aplican a versiones anteriores de Windows NT. Aunque puede configurar el puerto utilizado por el cliente para comunicarse con el servidor, el cliente debe poder acceder al servidor mediante su dirección IP real. No puede usar DCOM a través de firewalls que realicen la traducción de direcciones. Por ejemplo, un cliente se conecta a la dirección virtual 192.168.1.2, que el firewall asigna de forma transparente a la dirección real del servidor, por ejemplo, 192.168.1.3. DCOM almacena direcciones IP sin procesar en los paquetes de serialización de interfaz. Si el cliente no puede conectarse a la dirección especificada en el paquete, no funcionará.

Más información

Los valores (y clave de Internet) que se describen a continuación no aparecen en el Registro. Deben agregarse manualmente mediante el Editor del Registro.

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. Por lo tanto, asegúrese de que sigue estos pasos con atención. Para la protección añadida, realice una copia de seguridad del Registro antes de modificarlo. A continuación, puede restaurar el Registro si se produce un problema. Para obtener más información, vea Cómo realizar una copia de seguridad y restaurar el registro en Windows.

Con el Editor del Registro, puede modificar los parámetros siguientes para RPC. Los valores de clave de puerto RPC que se describen a continuación se encuentran en la siguiente clave del Registro:

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

  • Puertos REG_MULTI_SZ

    Especifica un conjunto de intervalos de puertos IP que constan de todos los puertos disponibles desde Internet o de todos los puertos que no están disponibles desde Internet. Cada cadena representa un único puerto o un conjunto inclusivo de puertos.

    Por ejemplo, un único puerto puede representarse mediante 5984 y un conjunto de puertos puede representarse mediante 5000-5100. Si alguna entrada está fuera del intervalo de 0 a 65535, o si no se puede interpretar ninguna cadena, el tiempo de ejecución de RPC trata toda la configuración como no válida.

  • PortsInternetAvailable REG_SZ Y o N (no distingue mayúsculas de minúsculas)

    Si es Y, los puertos enumerados en la clave Puertos son todos los puertos disponibles para Internet en ese equipo. Si es N, los puertos enumerados en la clave Puertos son todos los puertos que no están disponibles en Internet.

  • UseInternetPorts REG_SZ Y o N (sin distinción entre mayúsculas y minúsculas)

    Especifica la directiva predeterminada del sistema.

    Si es Y, los procesos que usan el valor predeterminado se asignarán puertos desde el conjunto de puertos disponibles para Internet, tal como se definió anteriormente. Si es N, los procesos que usan el valor predeterminado se asignarán a los puertos del conjunto de puertos solo de intranet.

Ejemplo

En este ejemplo, los puertos de 5000 a 6000 inclusive se han seleccionado arbitrariamente para ayudar a ilustrar cómo se puede configurar la nueva clave del Registro. No es una recomendación de un número mínimo de puertos necesarios para cualquier sistema determinado.

  1. Adición de la clave de Internet en HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  2. En la clave de Internet, agregue los valores Puertos (MULTI_SZ), PortsInternetAvailable (REG_SZ) y UseInternetPorts (REG_SZ).

    Por ejemplo, la nueva clave del Registro aparece de la siguiente manera:

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

  3. Reinicia el servidor. Todas las aplicaciones que usan la asignación dinámica de puertos RPC usan puertos de 5000 a 6000, ambos incluidos.

Debe abrir un intervalo de puertos por encima del puerto 5000. Es posible que los números de puerto inferiores a 5000 ya estén en uso por parte de otras aplicaciones y podrían provocar conflictos con las aplicaciones DCOM. Además, la experiencia anterior muestra que se debe abrir un mínimo de 100 puertos, ya que varios servicios del sistema dependen de estos puertos RPC para comunicarse entre sí.

Nota:

El número mínimo de puertos necesarios puede diferir del equipo al equipo. Los equipos con mayor tráfico pueden encontrarse en una situación de agotamiento de puertos si los puertos dinámicos RPC están restringidos. Tenga en cuenta esto al restringir el intervalo de puertos.

Advertencia

Si se produce un error en la configuración del puerto o no hay puertos suficientes en el grupo, el servicio de asignador de puntos de conexión no podrá registrar servidores RPC con puntos de conexión dinámicos. Cuando se produce un error de configuración, el código de error será 87 (0x57) ERROR_INVALID_PARAMETER. Esto también puede afectar a los servidores RPC de Windows, como Netlogon. Registrará el evento 5820 en este caso:

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.

Para más información, vea: