Configurando puertos estáticos para DFSR: Cuando hay Firewalls en el camino (es-ES)
Usualmente las organizaciones que implementan servicios que estarán disponibles a equipos remotos consideran el uso de Firewalls para controlar el tráfico y el uso de puertos en origen y destino. Si implementamos DFSR en una organización de estas características podemos definir puertos estáticos.
http://jesuspenaranda.files.wordpress.com/2014/05/uno1.jpg?w=351&h=237
En esta captura vemos el rango dinámico definido del 49152 al 65535 para Windows Server 2008, Windows Vista y versiones posteriores*, así como el rango del 1025 al 5000 para versiones anteriores. Sin embargo DFSR usa EPM (Endpoint Mapper) , lo que significa que podemos forzar el uso de puertos estáticos definidos manualmente para ser utilizados por este servicio.
Si en nuestro entorno de equipos conviven tanto versiones Legacy como versiones Windows Server 2008, Windows Vista y posteriores, debemos habilitar conectividad para ambos rangos de puertos:
- Rangos High port del 49152 al 65535 (adaptado desde Win Srv. 2008 por recomendación de IANA para conexiones salientes.)
- Rangos Low port del 1024 al 5000
Para este ejemplo definiré el puerto estático 50000 en el equipo “Remoto”, el equipo “Local” seguirá utilizando los puertos dinámicos predefinidos. Para establecer esta configuración, ejecutamos:
http://jesuspenaranda.files.wordpress.com/2014/05/dos.jpg?w=458&h=184
Realizando la configuración del puerto estático se indica a EPM que debe usar siempre este puerto en lugar de los puertos dinámicos pre definidos, este puerto podríaestar incluso fuera del rango definido por defecto, por lo tanto la conexión usará solo 2 puertos:
http://jesuspenaranda.files.wordpress.com/2014/05/tres.jpg?w=377&h=148
Pero qué sucede con la replicación de Directorio Activo?
Lamentablemente, aún pudiendo limitar el uso de puertos dinámicos para servicios DFSR, los servicios de Directorio Activo seguirán necesitando utilizar puertos dinámicos del rango ya mencionado!
Veamos de cerca este comportamiento:
1. Se establece la conexión desde el puerto dinámico 53304 al EPM en el equipo remoto solicitando conectividad para DRSR (Replica):
http://jesuspenaranda.files.wordpress.com/2014/05/cuatro.jpg?w=547&h=357
- El equipo Remoto responde por un puerto por el que el equipo Local se puede conectar para comunicaciones de Active Directory (DRSR) . Al tener asignado todo el rango dinámico, el equipo remoto siempre responderá por cualquier puerto de ese rango:
http://jesuspenaranda.files.wordpress.com/2014/05/cinco.jpg?w=563&h=312
Puertos adicionales
Si bien el definir un puerto estático termina con el problema de puertos dinámicos para DFSR, hay otros puertos que deben estar abiertos en una comunicación de Directorio Activo:
- Puerto EPM 135 (inbound en servidores DFSR y DC remotos)
- Puerto DFSR X (inbound en servidores DFSR remotos)
- Puerto SMB 445 (inbound en servidores DFSR remotos)
- Puerto DNS 53 (inbound en servidores DNS remotos)
- Puerto LDAP 389 o 636 si usamos SSL (inbound en servidores DC remotos)
- Puerto Kerberos 88 (inbound en servidores DC remotos)
- Puertos del 1025 al 5000 (outbound para Windows Server 2003 y anteriores, inbound para DC’s remotos)
- Puertos del 49152 al 65535 (outbound para Windows Server 2008 y posteriores, inbound para DC’s remotos)
Limitar el número de puertos dinámicos usados por RPC
Si queremos evitar que por defecto se usen miles de puertos dinámicos para conexiones RPC, podemos definir un rango de puertos (no necesariamente del rango predefinido), debemos tomar en cuenta que no deben ser menos de 255 puertos y no pueden empezar antes del puerto 1025.
http://jesuspenaranda.files.wordpress.com/2014/05/seis.jpg?w=500&h=231
El uso de puertos dinámicos en comunicaciones de Directorio Activo es algo bastante usual, por lo que la configuración recomendada cuando necesitamos establecer replicación de AD a través de Firewalls, es usar túneles IPSec, este protocolo que trabaja en la capa 3 de OSI nos permite establecer (además con encriptación) comunicación hacia y desde todos los puertos necesarios sin tener que hacer una definición tan compleja de puertos permitidos y a través de un solo canal de comunicación, es decir, permitimos solo IPSec en los firewalls y encapsulamos todo el tráfico dentro de este túnel.
* Como se detalla en http://support.microsoft.com/kb/832017 , DFSR en los DC’s 2008 y 2008R2 siempre envían y reciben por el puerto 5722.
Espero esto les sea de ayuda!