Configuración de 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.

Se aplica a: Windows Server 2012 R2
Número de KB original: 154596

Resumen

Las aplicaciones de servidor y las aplicaciones de administración remota usan la asignación dinámica de puertos RPC, como el Administrador de protocolo de configuración dinámica de host (DHCP), el Administrador del servicio de nombres de Internet (WINS) de Windows, etc. La asignación dinámica de puertos 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 utilizado. Para obtener más información, vea las referencias a continuación.

Es posible que los clientes que usan firewalls quieran controlar qué puertos usa RPC para que su enrutador de firewall se pueda configurar 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, sabe qué tráfico fluye entre los hosts a través del 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 puertos 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 se aprende de una solicitud del 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 usado por el cliente para comunicarse con el servidor, el cliente debe poder llegar al servidor por su dirección IP real. No puede usar DCOM a través de firewalls que realizan la traducción de direcciones. Por ejemplo, un cliente se conecta a la dirección virtual 198.252.145.1, que el firewall asigna de forma transparente a la dirección real del servidor, por ejemplo, 192.100.81.101. DCOM almacena las 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 la clave de Internet) que se describen a continuación no aparecen en el Registro. Se deben agregar manualmente mediante la 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. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información, consulte Copia de seguridad y restauración del Registro en Windows.

Con registry Editor, 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 clave siguiente 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 en 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 en 5000-5100. Si alguna entrada está fuera del intervalo de 0 a 65535, o si no se puede interpretar ninguna cadena, el runtime 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 en Internet en ese equipo. Si es N, los puertos enumerados en la clave Puertos son todos aquellos puertos que no están disponibles en Internet.

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

    Especifica la directiva predeterminada del sistema.

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

Ejemplo

En este ejemplo, los puertos 5000 a 6000 inclusivos 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 un sistema determinado.

  1. Agregue la clave de Internet en HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

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

    Por ejemplo, la nueva clave del Registro aparece como sigue:

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

  3. Reinicie 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. Los números de puerto inferiores a 5000 ya pueden estar en uso por 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 de un equipo a otro. 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 esto en cuenta al restringir el intervalo de puertos.

Advertencia

Si hay un error en la configuración del puerto o no hay puertos suficientes en el grupo, el servicio 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 obtener más información, consulte: