Una de las preguntas y dificultades de comprensión de funcionamiento que veo regularmente están relacionadas con el funcionamiento del servicio DNS, y sobre todo cuando hay que resolver nombres entre Dominios diferentes
La resolución entre máquinas de nombres de Dominios diferentes en Active Directory es fundamental cuando se requiere acceso de uno a otro y en especial con Relaciones de Confianza. Esto no presenta en general problemas cuando todo está dentro del mismo Bosque (Forest), pero cuando son diferentes es distinto pues hay que configurarlo
Hay tres métodos diferentes para resolver el problema:
- Zonas Secundarias (“Secondary Zones”)
- Reenviadores Condicionales (“Conditional Forwarders”)
- Zonas de Código Auxiliar (“Stub Zones”)
El objetivo de esta nota no es la explicación de cómo es el funcionamiento del servicio, ya que si alguien tiene dudas puede consultar:
- Cómo funciona DNS – Parte 1
- Cómo funciona DNS – Parte 2
- Cómo Funciona DNS – Parte 3 – Integración con Active Directory
En esta ocasión veremos el tercero y menos conocido y eficiente: mediante Zonas de Código Auxiliar (“Stub Zones”)
La infraestructura existente de la que partiré consiste de dos instalaciones de Windows Server 2012 R2, pero es válido totalmente para versiones anteriores, y supongo que futuras, ya que el servicio DNS no presenta novedades para este tipo de configuración
Cada instalación es el Controlador de Dominio de su propio Bosque (Forest):
- DC1-A.Domain-A.local – 172.16.1.1/16
- DC1-B.Domain-B.local – 172.16.2.2/16
Antes de comenzar observemos algunas cosas importantes. Como ambos son Controladores de Dominio tienen permitida la conectividad mediante PING (ICMP) y se puede acceder tanto por “hostname” como por dirección IP, pero no si utilizamos FQDN que es lo que necesitaremos si luego tuviéramos que hacer una relación de confianza entre los Dominios
Incluso, podemos verificar la preferencia de uso de IPv6 sobre IPv4
Comenzaremos en DC1-A.Domain-A.local en la consola DNS creando una nueva zona y siguiendo el asistente
Indicamos que queremos una “Stub Zone”, y como estamos en un Controlador de Dominio podemos indicar si la deseamos guardar en Active Directory o no
Como he configurado guardarla en Active Directory me pide el ámbito de replicación. Lo he configurado a todo el Bosque (Forest) previendo futuras relaciones de confianza entre Dominios
Indicamos el nombre del Dominio
Indicamos el servidor del cual obtendrá los datos (Master Server)
Y vemos que se han transferido los correspondientes datos
Una observación personal: notemos que en este caso no se ha necesitado permitir la transferencia de zona en DC2-B.Domain-B.local lo que no me parece bueno desde el punto de vista seguridad, porque una “Stub Zone” es en realidad una “zona secundaria limitada”
Y por supuesto podemos verificar que hemos solucionado el tema de la resolución de nombres
Si necesitáramos resolución en ambos sentidos, deberemos repetir el procedimiento, sólo que em sentido opuesto
Hemos podido observar que tenemos tres métodos diferentes para resolver nombres de Dominio en espacios separados, y me imagino la pregunta “¿Cuál es mejor?”
No hay uno que sea siempre el mejor, depende de varias circunstancias. Para nombrar sólo algunas debemos analizar qué producirá más tráfico ¿la transferencia de zona’’? ¿O los reenvíos?
O inclusive si hay cortafuegos de por medio debemos recordar que toda transferencia de zona usa TCP, y no UDP como las consultas
Espero que ya teniendo los tres métodos diferentes puedan utilizar el más apropiado a la situación