Información general de las directivas DNS

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

Puede usar este tema para obtener información sobre la directiva DNS, una novedad en Windows Server 2016. Se puede usar la directiva DNS para la administración de tráfico basada en la ubicación geográfica, respuestas DNS inteligentes basadas en la hora del día para administrar un único servidor DNS configurado para la implementación de cerebro dividido, aplicar filtros en consultas de DNS, etc. Los siguientes elementos proporcionan más detalles sobre estas funcionalidades.

  • Equilibrio de carga de la aplicación. Cuando implemente varias instancias de una aplicación en distintas ubicaciones, puede usar la directiva DNS para equilibrar la carga de tráfico entre las distintas instancias de la aplicación, lo que asigna dinámicamente la carga de tráfico en la aplicación.

  • Administración del tráfico basada en la ubicación geográfica. Se puede usar la directiva DNS para permitir que los servidores DNS principal y secundario respondan a las consultas de cliente DNS en función de la ubicación geográfica del cliente y del recurso al que el cliente intenta conectarse, lo que proporciona al cliente la dirección IP del recurso más cercano.

  • DNS de cerebro dividido. Con DNS de cerebro dividido, los registros DNS se dividen en diferentes ámbitos de zona en el mismo servidor DNS y los clientes DNS reciben una respuesta en función de si son internos o externos. Se puede configurar DNS de cerebro dividido para zonas integradas de Active Directory o para zonas en servidores DNS independientes.

  • Filtrado. Es posible configurar la directiva DNS para crear filtros de consulta basados en los criterios facilitados. Mediante los filtros de consulta de la directiva DNS se configura el servidor DNS para responder de forma personalizada en función de la consulta DNS y el cliente DNS que envía la consulta de DNS.

  • Análisis forense. Se puede usar la directiva DNS para redirigir clientes DNS malintencionados a una dirección IP inexistente en vez de al equipo al que pretenden acceder.

  • Redireccionamiento basado en la hora del día. Se puede usar esta directiva DNS para distribuir el tráfico de la aplicación entre diferentes instancias de una aplicación distribuidas geográficamente mediante directivas DNS basadas en la hora del día.

Nuevos conceptos

Para crear directivas para admitir los escenarios enumerados anteriormente, es necesario poder identificar grupos de registros en una zona, grupos de clientes de una red, entre otros elementos. Estos elementos se representan mediante los siguientes nuevos objetos DNS:

  • Subred de cliente: un objeto de subred de cliente representa una subred IPv4 o IPv6 desde la que se envían consultas a un servidor DNS. Puede crear subredes para definir más adelante las directivas que se aplicarán en función de la subred de la que proceden las solicitudes. Por ejemplo, en un escenario de DNS de cerebro dividido, la solicitud de resolución para un nombre como www.microsoft.com se puede responder con una dirección IP interna a los clientes de subredes internas y una dirección IP diferente a los clientes en subredes externas.

  • Ámbitos de recursividad: 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. Las directivas de recursividad de servidor DNS permiten elegir un ámbito de recursividad para un conjunto de consultas. Si el servidor DNS no es autoritativo para ciertas consultas, las directivas de recursividad del servidor DNS le permiten controlar cómo resolver estas consultas. Puede especificar los reenviadores que se van a usar y si se va a utilizar la recursividad.

  • Ámbitos de 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 y con diferentes direcciones IP. Además, las transferencias de zona se realizan en el nivel de ámbito de zona. Esto significa que los registros de recursos de un ámbito de zona de una zona principal se transfieran al mismo ámbito de zona en una zona secundaria.

Tipos de directiva

Las directivas DNS se dividen por nivel y tipo. Puede usar directivas de resolución de consultas para definir cómo se procesan las consultas y directivas de transferencia de zona para definir cómo se producen las transferencias de zona. Puede aplicar cada tipo de política a nivel de servidor o a nivel de zona.

Directivas de resolución de consultas

Puede usar directivas de resolución de consultas DNS para especificar cómo administra las consultas de resolución entrantes un servidor DNS. Cada directiva de resolución de consultas DNS contiene los siguientes elementos:

Campo Descripción Valores posibles
Nombre Nombre de la directiva - hasta 256 caracteres
- puede contener cualquier carácter válido para un nombre de archivo
State Estado de directiva - habilitar (valor predeterminado)
- Deshabilitado
Level Nivel de directiva - servidor
- zona
Orden de procesamiento Una vez que una consulta se clasifica por nivel y se aplica, el servidor busca la primera directiva para la que la consulta coincide con los criterios y la aplica a la consulta - valor numérico
- valor único por directiva que contiene el mismo nivel y se aplica en el valor
Acción Acción que va a realizar el servidor DNS - permitir (valor predeterminado para el nivel de zona)
- denegar (valor predeterminado en el nivel de servidor)
- ignorar
Criterios Condición de directiva (AND/OR) y lista de criterios que se deben cumplir para que se aplique la directiva - condición operador (AND/OR)
- lista de criterios (consulte la tabla de criterios siguiente)
Ámbito Lista de ámbitos de zona y valores ponderados por ámbito. Los valores ponderados se usan para la distribución del equilibrio de carga. Por ejemplo, si esta lista incluye datacenter1 con un peso de 3 y datacenter2 con un peso de 5, el servidor responderá con un registro del centro de datos1 tres veces de cada ocho solicitudes - lista de ámbitos de zona (por nombre) y pesos

Nota

Las directivas de nivel de servidor solo pueden tener los valores Denegar u Omitir como una acción.

El campo criterios de directiva DNS se compone de dos elementos:

Nombre Descripción Valores de ejemplo
Subred de cliente Nombre de una subred de cliente predefinida. Se usa para comprobar la subred desde la que se envió la consulta. - EQ,España,Francia: se resuelve en true si la subred se identifica como España o Francia
- NE,Canadá, México: se resuelve en true si la subred del cliente es cualquier subred que no sea Canadá y México
Protocolo de transporte Protocolo de transporte usado en la consulta. Las entradas posibles son UDP y TCP - EQ,TCP
- EQ,UDP
Protocolo de Internet Protocolo de red usado en la consulta. Las posibles entradas son IPv4 e IPv6 - EQ,IPv4
- EQ,IPv6
Dirección IP de la interfaz del servidor Dirección IP de la interfaz de red del servidor DNS entrante - EQ,10.0.0.1
- EQ,192.168.1.1
FQDN FQDN de registro en la consulta, con la posibilidad de usar un carácter comodín - EQ,www.contoso.com: se resuelve en true solo si la consulta intenta resolver el FQDN de www.contoso.com
- EQ,*.contoso.com,*.woodgrove.com: se resuelve en true si la consulta es para cualquier registro que termine en contoso.comOwoodgrove.com
Tipo de consulta Tipo de registro que se consulta (A, SRV, TXT) - EQ,TXT,SRV: se resuelve en true si la consulta solicita un registro TXT O SRV
- EQ,MX: se resuelve en true si la consulta solicita un registro MX
Hora del día Hora del día en la que se recibe la consulta - EQ,10:00-12:00,22:00-23:00 - se resuelve en true si la consulta se recibe entre las 10 a. m. y el mediodía, O entre las 10 p. m. y las 11 p. m.

Con la tabla anterior como punto de partida, se podría usar la tabla siguiente para definir un criterio que se usa para hacer coincidir las consultas de cualquier tipo de registros, pero los registros SRV del dominio contoso.com procedentes de un cliente de la subred 10.0.0.0/24 a través de TCP entre 8 y 10 p. m. a través de la interfaz 10.0.0.3:

Nombre Value
Subred de cliente EQ,10.0.0.0/24
Protocolo de transporte EQ,TCP
Dirección IP de la interfaz del servidor EQ,10.0.0.3
FQDN EQ,*.contoso.com
Tipo de consulta NE,SRV
Hora del día EQ,20:00-22:00

Puede crear varias directivas de resolución de consulta del mismo nivel si tienen un valor diferente para el orden de procesamiento. Cuando hay varias directivas disponibles, el servidor DNS procesa las consultas entrantes de la siguiente manera:

DNS policy processing

Directivas de recursividad

Las directivas de recursividad son un tipo especial de directivas de nivel de servidor. Las directivas de recursividad controlan cómo realiza el servidor DNS la recursividad de una consulta. Las directivas de recursividad solo se aplican cuando el procesamiento de consultas alcanza la ruta de recursividad. Puede elegir un valor de DENEGAR u OMITIR para la recursividad para un conjunto de consultas. Como alternativa, puede elegir un conjunto de reenviadores para un conjunto de consultas.

Puede usar directivas de recursividad para implementar una configuración DNS de cerebro dividido. En esta configuración, el servidor DNS realiza la recursividad de un conjunto de clientes para una consulta, mientras que el servidor DNS no realiza la recursividad para otros clientes para esa consulta.

Las directivas de recursividad contienen los mismos elementos que contiene una directiva de resolución de consultas DNS normal, junto con los elementos de la tabla siguiente:

Nombre Descripción
Aplicar sobre la recursividad Especifica que esta directiva solo se debe usar para la recursividad.
Ámbito de recursividad Nombre del ámbito de recursividad.

Nota

Las directivas de recursividad solo se pueden crear en el nivel de servidor.

Directivas de transferencia de zona

Las directivas de transferencia de zona controlan si el servidor DNS permite o no una transferencia de zona. Puede crear directivas para la transferencia de zona en el nivel de servidor o en el nivel de zona. Las directivas de nivel de servidor se aplican en cada consulta de transferencia de zona que se genera en el servidor DNS. Las directivas de nivel de zona se aplican solo en las consultas de una zona hospedada en el servidor DNS. El uso más común de las directivas de nivel de zona es la implementación de listas bloqueadas o seguras.

Nota

Las directivas de transferencia de zona solo pueden usar DENEGAR u OMITIR como acciones.

Puede usar la directiva de transferencia de zona de nivel de servidor siguiente para denegar una transferencia de zona para el dominio de contoso.com desde una subred determinada:

Add-DnsServerZoneTransferPolicy -Name DenyTransferOfContosoToFabrikam -Zone contoso.com -Action DENY -ClientSubnet "EQ,192.168.1.0/24"

Puede crear varias directivas de transferencia de zona del mismo nivel si tienen un valor diferente para el orden de procesamiento. Cuando hay varias directivas disponibles, el servidor DNS procesa las consultas entrantes de la siguiente manera:

DNS process for multiple zone transfer policies

Administración de directivas DNS

Puede crear y administrar directivas DNS mediante PowerShell. En los siguientes ejemplos se describen diferentes escenarios de ejemplo que puede configurar a través de directivas DNS:

Administración del tráfico

Puede dirigir el tráfico basado en un FQDN a distintos servidores en función de la ubicación del cliente DNS. En el ejemplo siguiente se muestra cómo crear directivas de administración de tráfico para dirigir a los clientes desde una subred determinada a un centro de datos de Norteamérica y desde otra subred a un centro de datos europeo.

Add-DnsServerClientSubnet -Name "NorthAmericaSubnet" -IPv4Subnet "172.21.33.0/24"
Add-DnsServerClientSubnet -Name "EuropeSubnet" -IPv4Subnet "172.17.44.0/24"
Add-DnsServerZoneScope -ZoneName "Contoso.com" -Name "NorthAmericaZoneScope"
Add-DnsServerZoneScope -ZoneName "Contoso.com" -Name "EuropeZoneScope"
Add-DnsServerResourceRecord -ZoneName "Contoso.com" -A -Name "www" -IPv4Address "172.17.97.97" -ZoneScope "EuropeZoneScope"
Add-DnsServerResourceRecord -ZoneName "Contoso.com" -A -Name "www" -IPv4Address "172.21.21.21" -ZoneScope "NorthAmericaZoneScope"
Add-DnsServerQueryResolutionPolicy -Name "NorthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,NorthAmericaSubnet" -ZoneScope "NorthAmericaZoneScope,1" -ZoneName "Contoso.com"
Add-DnsServerQueryResolutionPolicy -Name "EuropePolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "EuropeZoneScope,1" -ZoneName contoso.com

Las dos primeras líneas del script crean objetos de subred de cliente para Norteamérica y Europa. Las dos líneas posteriores a esa creación de un ámbito de zona dentro del dominio de contoso.com, una para cada región. Las dos líneas posteriores crean un registro en cada zona que asocia www.contoso.com a una dirección IP diferente, una para Europa, otra para Norteamérica. Por último, las últimas líneas del script crean dos directivas de resolución de consultas DNS, una que se aplicará a la subred Norteamérica, otra a la subred Europa.

Bloquear consultas para un dominio

Puede usar una directiva de resolución de consultas DNS para bloquear las consultas a un dominio. En el ejemplo siguiente se bloquean todas las consultas para treyresearch.net:

Add-DnsServerQueryResolutionPolicy -Name "BlackholePolicy" -Action IGNORE -FQDN "EQ,*.treyresearch.com"

Bloquear consultas procedentes de una subred

También puede bloquear las consultas procedentes de una subred específica. El siguiente script crea una subred para 172.0.33.0/24 y, a continuación, crea una directiva para omitir todas las consultas procedentes de esa subred:

Add-DnsServerClientSubnet -Name "MaliciousSubnet06" -IPv4Subnet 172.0.33.0/24
Add-DnsServerQueryResolutionPolicy -Name "BlackholePolicyMalicious06" -Action IGNORE -ClientSubnet  "EQ,MaliciousSubnet06"

Permitir recursividad para clientes internos

Puede controlar la recursividad mediante una directiva de resolución de consultas DNS. El ejemplo siguiente se puede usar para habilitar la recursividad para clientes internos, al tiempo que se deshabilita para clientes externos en un escenario de cerebro dividido.

Set-DnsServerRecursionScope -Name . -EnableRecursion $False
Add-DnsServerRecursionScope -Name "InternalClients" -EnableRecursion $True
Add-DnsServerQueryResolutionPolicy -Name "SplitBrainPolicy" -Action ALLOW -ApplyOnRecursion -RecursionScope "InternalClients" -ServerInterfaceIP  "EQ,10.0.0.34"

La primera línea del script cambia el ámbito de recursividad predeterminado, simplemente denominado «.» (punto) para deshabilitar la recursividad. La segunda línea crea un ámbito de recursividad denominado InternalClients con recursividad habilitada. Y la tercera línea crea una directiva para aplicar el ámbito de recursividad recién creado a cualquier consulta que llegue a través de una interfaz de servidor que tenga 10.0.0.34 como una dirección IP.

Crear una directiva de transferencia de zona de nivel de servidor

Puede controlar la transferencia de zona en un formulario más pormenorizado mediante directivas de transferencia de zona DNS. El script de ejemplo siguiente se puede usar para permitir transferencias de zona para cualquier servidor de una subred determinada:

Add-DnsServerClientSubnet -Name "AllowedSubnet" -IPv4Subnet 172.21.33.0/24
Add-DnsServerZoneTransferPolicy -Name "NorthAmericaPolicy" -Action IGNORE -ClientSubnet "ne,AllowedSubnet"

La primera línea del script crea un objeto de subred denominado AllowedSubnet con el bloque IP 172.21.33.0/24. La segunda línea crea una directiva de transferencia de zona para permitir las transferencias de zona a cualquier servidor DNS de la subred creada anteriormente.

Crear una directiva de transferencia de zona de nivel de zona

También puede crear directivas de transferencia de zona de nivel de zona. En el ejemplo siguiente se omite cualquier solicitud de transferencia de zona para contoso.com procedente de una interfaz de servidor que tenga una dirección IP de 10.0.0.33:

Add-DnsServerZoneTransferPolicy -Name "InternalTransfers" -Action IGNORE -ServerInterfaceIP "eq,10.0.0.33" -PassThru -ZoneName "contoso.com"

Escenarios de la directiva DNS

Para obtener información sobre cómo usar la directiva DNS para escenarios específicos, consulte los siguientes temas de esta guía.

Uso de la directiva DNS en controladores de dominio de solo lectura

La directiva DNS es compatible con controladores de dominio de solo lectura. Tenga en cuenta que es necesario reiniciar el servicio servidor DNS para que se carguen nuevas directivas DNS en controladores de dominio de solo lectura. Esto no es necesario en controladores de dominio grabables.