Uso de la directiva de DNS para la implementación de DNS de cerebro dividido

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Puede usar este tema para aprender a configurar la directiva DNS de Windows Server® 2016 para las implementaciones de DNS de cerebro dividido, donde hay dos versiones de una sola zona: una para los usuarios internos de la intranet de la organización y otra para los usuarios externos, que suelen ser usuarios de Internet.

Nota

Para más información sobre cómo usar la directiva DNS para la implementación de DNS de cerebro dividido con zonas DNS integradas de Active Directory, consulte Uso de la directiva DNS para DNS de cerebro dividido en Active Directory.

Anteriormente, este escenario requería que los administradores de DNS mantuvieran dos servidores DNS diferentes, cada uno proporcionando servicios a cada conjunto de usuarios, el interno y el externo. Si solo se delegaron algunos registros dentro de la zona con cerebro dividido o ambas instancias de la zona (interna y externa) al mismo dominio primario, esto se convirtió en un problema de administración.

Otro escenario de configuración para la implementación de cerebro dividido es el control de recursividad selectiva de la resolución de nombres DNS. En algunas circunstancias, se espera que los servidores DNS empresariales realicen una resolución recursiva a través de Internet para los usuarios internos, al tiempo que también deben actuar como servidores de nombres autoritativos para los usuarios externos y bloquear la recursividad para ellos.

En este tema se incluyen las siguientes secciones.

Ejemplo de implementación de cerebro dividido de DNS

A continuación se muestra un ejemplo de cómo puede usar la directiva DNS para lograr el escenario descrito anteriormente de DNS de cerebro dividido.

Esta sección contiene los temas siguientes.

En este ejemplo se usa una empresa ficticia, Contoso, que mantiene un sitio web profesional en www.career.contoso.com.

El sitio tiene dos versiones, una para los usuarios internos en la que están disponibles las publicaciones de trabajos internos. Este sitio interno está disponible en la dirección IP local 10.0.0.39.

La segunda versión es la versión pública del mismo sitio, que está disponible en la dirección IP pública 65.55.39.10.

En ausencia de la directiva DNS, el administrador debe hospedar estas dos zonas en servidores DNS de Windows Server independientes y administrarlas por separado.

Mediante las directivas DNS, estas zonas ahora se pueden hospedar en el mismo servidor DNS.

En la ilustración siguiente se muestra este escenario.

Split-Brain DNS Deployment

Funcionamiento de la implementación de cerebro dividido de DNS

Si el servidor DNS está configurado con las directivas DNS necesarias, cada solicitud de resolución de nombres se evalúa en comparación con las directivas del servidor DNS.

La interfaz de servidor se usa en este ejemplo como criterio para diferenciar entre los clientes internos y externos.

Si la interfaz de servidor en la que se recibe la consulta coincide con cualquiera de las directivas, el ámbito de zona asociado se usa para responder a la consulta.

Por lo tanto, en nuestro ejemplo, las consultas DNS para www.career.contoso.com que se reciben en la dirección IP privada (10.0.0.56) reciben una respuesta DNS que contiene una dirección IP interna; y las consultas DNS que se reciben en la interfaz de red pública reciben una respuesta DNS que contiene la dirección IP pública del ámbito de zona predeterminado (esto es igual que en la resolución de consultas normal).

Configuración de la implementación de cerebro dividido de DNS

Para configurar la implementación de cerebro dividido mediante la directiva DNS, debe seguir estos pasos.

En las secciones siguientes se proporcionan instrucciones de configuración detalladas.

Importante

En las secciones siguientes se incluyen comandos de ejemplo Windows PowerShell que contienen valores de ejemplo para muchos parámetros. Asegúrese de reemplazar los valores de ejemplo de estos comandos por los valores adecuados para la implementación antes de ejecutar estos comandos.

Creación de los ámbitos de zona

Un ámbito de zona es una instancia única de la zona. Una zona DNS puede tener varios ámbitos de zona, cada uno de los cuales con su propio conjunto de registros DNS. El mismo registro puede estar presente en varios ámbitos, con diferentes direcciones IP o las mismas direcciones IP.

Nota

De forma predeterminada, existe un ámbito de zona en las zonas DNS. Este ámbito de zona tiene el mismo nombre que la zona y las operaciones DNS heredadas funcionan en este ámbito. Este ámbito de zona predeterminado hospedará la versión externa de www.career.contoso.com.

Puede usar el siguiente comando de ejemplo para crear particiones del ámbito de zona contoso.com para crear un ámbito de zona interno. El ámbito de zona interna se usará para mantener la versión interna de www.career.contoso.com.

Add-DnsServerZoneScope -ZoneName "contoso.com" -Name "internal"

Para más información, consulte Add-DnsServerZoneScope.

Incorporación de registros a los ámbitos de zona

El siguiente paso consiste en agregar los registros que representan el host del servidor web en los dos ámbitos de zona: interno y predeterminado (para clientes externos).

En el ámbito de la zona interna, el registro www.career.contoso.com se agrega con la dirección IP 10.0.0.39, que es una dirección IP privada; y en el ámbito de zona predeterminado, se agrega el mismo registro, www.career.contoso.com, con la dirección IP 65.55.39.10.

No se proporciona ningún parámetro –ZoneScope en los siguientes comandos de ejemplo si se agrega el registro al ámbito de zona predeterminado. Esto es similar a agregar registros a una zona estándar.

Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www.career" -IPv4Address "65.55.39.10" Add-DnsServerResourceRecord -ZoneName "contoso.com" -A -Name "www.career" -IPv4Address "10.0.0.39” -ZoneScope "internal"

Para más información, consulte Add-DnsServerResourceRecord.

Creación de las directivas DNS

Después de haber identificado las interfaces de servidor de las redes externa e interna y haber creado los ámbitos de zona, debe crear directivas DNS que conecten los ámbitos de zona interno y externo.

Nota

La interfaz de servidor se usa en este ejemplo como criterio para diferenciar entre los clientes internos y externos. Otro método para diferenciar entre clientes externos e internos es mediante el uso de subredes de cliente como criterio. Si puede identificar las subredes a las que pertenecen los clientes internos, puede configurar la directiva DNS para diferenciar según la subred del cliente. Para más información sobre cómo configurar la administración del tráfico mediante criterios de subred de cliente, consulte Uso de directiva DNS para la administración del tráfico basada en la ubicación geográfica con servidores principales.

Cuando el servidor DNS recibe una consulta en la interfaz privada, la respuesta de la consulta DNS se devuelve desde el ámbito de zona interno.

Nota

No se requieren directivas para asignar el ámbito de zona predeterminado.

En el siguiente comando de ejemplo, 10.0.0.56 es la dirección IP de la interfaz de red privada, como se muestra en la ilustración anterior.

Add-DnsServerQueryResolutionPolicy -Name "SplitBrainZonePolicy" -Action ALLOW -ServerInterface "eq,10.0.0.56" -ZoneScope "internal,1" -ZoneName contoso.com

Para más información, consulte Add-DnsServerQueryResolutionPolicy.

Ejemplo de control de recursividad selectiva de DNS

A continuación se muestra un ejemplo de cómo puede usar la directiva DNS para lograr el escenario descrito anteriormente de control de recursividad selectiva de DNS.

Esta sección contiene los temas siguientes.

En este ejemplo se usa la misma empresa ficticia que en el ejemplo anterior, Contoso, que mantiene un sitio web profesional en www.career.contoso.com.

En el ejemplo de implementación de cerebro dividido de DNS, el mismo servidor DNS responde a los clientes externos e internos y les proporciona respuestas diferentes.

Algunas implementaciones de DNS pueden requerir que el mismo servidor DNS realice una resolución de nombres recursiva para los clientes internos, además de actuar como servidor de nombres autoritativo para clientes externos. Esta circunstancia se denomina control de recursividad selectiva de DNS.

En versiones anteriores de Windows Server, habilitar la recursividad significaba que se habilitaba en todo el servidor DNS para todas las zonas. Dado que el servidor DNS también escucha consultas externas, la recursividad se habilita para clientes internos y externos, lo que hace que el servidor DNS sea un solucionador abierto.

Un servidor DNS configurado como solucionador abierto podría ser vulnerable al agotamiento de recursos y los clientes malintencionados podrían usarlo para crear ataques de reflejo.

Por este motivo, los administradores de DNS de Contoso no quieren que el servidor DNS contoso.com realice una resolución de nombres recursiva para clientes externos. Solo es necesario controlar la recursividad de los clientes internos, mientras que se puede bloquear la de los externos.

En la ilustración siguiente se muestra este escenario.

Selective Recursion Control

Funcionamiento del control de recursividad selectiva de DNS

Si se recibe una consulta para la que el servidor DNS de Contoso no es autoritativo, como para https://www.microsoft.com, la solicitud de resolución de nombres se evalúa con respecto a las directivas del servidor DNS.

Dado que estas consultas no se encuentran en ninguna zona, no se evalúan las directivas de nivel de zona (como se define en el ejemplo de cerebro dividido).

El servidor DNS evalúa las directivas de recursividad y las consultas que se reciben en la interfaz privada que coinciden con SplitBrainRecursionPolicy. Esta directiva apunta a un ámbito de recursividad en el que la recursividad está habilitada.

A continuación, el servidor DNS realiza la recursividad para obtener la respuesta de https://www.microsoft.com desde Internet y almacena en caché la respuesta localmente.

Si la consulta se recibe en la interfaz externa, no coinciden las directivas DNS y se aplica la configuración de recursividad predeterminada que, en este caso, es Deshabilitada.

Esto impide que el servidor actúe como solucionador abierto para clientes externos, al tiempo que actúa como solucionador de almacenamiento en caché para los internos.

Configuración del control de recursividad selectiva de DNS

Para configurar el control de recursividad selectiva de DNS mediante la directiva DNS, debe seguir estos pasos.

Creación de ámbitos de recursividad de DNS

Los ámbitos de recursividad son instancias únicas de un grupo de opciones de configuración que controlan la recursividad en un servidor DNS. Un ámbito de recursividad contiene una lista de reenviadores y especifica si la recursividad está habilitada. Un servidor DNS puede tener varios ámbitos de recursividad.

La configuración de recursividad heredada y la lista de reenviadores se conocen como ámbito de recursividad predeterminado. No se puede agregar ni quitar el ámbito de recursividad predeterminado, identificado por el punto de nombre (".").

En este ejemplo, la configuración de recursividad predeterminada está deshabilitada, mientras que se crea un nuevo ámbito de recursividad para los clientes internos en los que está habilitada la recursividad.

Set-DnsServerRecursionScope -Name . -EnableRecursion $False
Add-DnsServerRecursionScope -Name "InternalClients" -EnableRecursion $True

Para más información, consulte Add-DnsServerRecursionScope.

Creación de directivas de recursividad de DNS

Puede crear directivas de recursividad de servidor DNS para elegir un ámbito de recursividad para un conjunto de consultas que coincida con criterios específicos.

Si el servidor DNS no es autoritativo para algunas consultas, las directivas de recursividad del servidor DNS le permiten controlar cómo resolver las consultas.

En este ejemplo, el ámbito de recursividad interno con recursividad habilitada está asociado a la interfaz de red privada.

Puede usar el siguiente comando de ejemplo para configurar las directivas de recursividad DNS.

Add-DnsServerQueryResolutionPolicy -Name "SplitBrainRecursionPolicy" -Action ALLOW -ApplyOnRecursion -RecursionScope "InternalClients" -ServerInterfaceIP "EQ,10.0.0.39"

Para más información, consulte Add-DnsServerQueryResolutionPolicy.

Ahora el servidor DNS está configurado con las directivas DNS necesarias para un servidor de nombres de cerebro dividido o un servidor DNS con control de recursividad selectiva habilitado para los clientes internos.

Puede crear miles de directivas DNS según los requisitos de administración del tráfico y todas las directivas nuevas se aplican dinámicamente, sin reiniciar el servidor DNS, en las consultas entrantes.

Para más información, consulte Guía de escenarios de la directiva DNS.