ADC

Configurar el dispositivo NetScaler como servidor proxy DNS

Como servidor proxy DNS, el dispositivo ADC puede funcionar como proxy para un único servidor DNS o para un grupo de servidores DNS. El flujo de solicitudes y respuestas se ilustra en el siguiente diagrama de topología de ejemplo.

Figura 1. NetScaler como proxy DNS

NetScaler como proxy DNS

De forma predeterminada, el dispositivo NetScaler almacena en caché las respuestas de los servidores de nombres DNS. Cuando el dispositivo recibe una consulta de DNS, busca el dominio consultado en su caché. Si la dirección del dominio consultado está presente en su caché, NetScaler devuelve la dirección correspondiente al cliente. De lo contrario, reenvía la consulta a un servidor de nombres DNS que comprueba la disponibilidad de la dirección y la devuelve a NetScaler. A continuación, NetScaler devuelve la dirección al cliente.

Para las solicitudes de un dominio que se ha almacenado en caché anteriormente, NetScaler proporciona el registro de direcciones del dominio desde la memoria caché sin consultar el servidor DNS configurado.

Para la solicitud DOT de un dominio, si la información almacenada en caché no está cifrada, NetScaler reenvía la consulta a un servidor de nombres DNS que comprueba la disponibilidad de la dirección y la devuelve a NetScaler. NetScaler cifra la dirección y la respuesta del cliente. También almacena en caché los registros con una opción segura. Para la solicitud UDP o TCP de un dominio que tiene una opción segura habilitada, NetScaler entrega el registro de direcciones del dominio desde la memoria caché sin consultar el servidor DNS configurado.

El dispositivo descarta un registro almacenado en su caché cuando el valor de tiempo de vida (TTL) del registro alcanza el valor configurado. Un cliente que solicite un registro caducado debe esperar hasta que NetScaler recupere el registro del servidor y actualice su memoria caché. Para evitar este retraso, NetScaler actualiza proactivamente la memoria caché recuperando el registro del servidor antes de que caduque.

La siguiente tabla muestra los nombres de ejemplo y los valores de las entidades que deben configurarse en NetScaler.

Tabla 1. Ejemplo de configuración de una entidad proxy de DNS

Tipo de entidad Nombre Dirección IP Tipo Puerto
Servidor virtual LB Vserver-DNS-1 10.102.29.40 DNS 53
Servicios Service-DNS-1 10.102.29.50 DNS 53
Servicios Service-DNS-2 10.102.29.51 DNS 53

El siguiente diagrama muestra las entidades de un proxy DNS y los valores de los parámetros que se van a configurar en NetScaler.

Figura 2. Modelo de entidad proxy DNS

Modelo de entidad proxy DNS

Nota

Para configurar la función de proxy DNS, debe saber cómo configurar los servicios de equilibrio de carga y los servidores virtuales.

Crear un servidor virtual de equilibrio de carga

Para configurar un proxy DNS en NetScaler, configure un servidor virtual de equilibrio de carga de tipo DNS. Para configurar un servidor virtual DNS para equilibrar la carga de un conjunto de servidores DNS que admiten consultas recursivas, debe configurar la opción Recursión disponible. Con esta opción, el bit RA se establece en ON en las respuestas DNS del servidor virtual DNS.

Para obtener instrucciones sobre cómo crear un servidor virtual de equilibrio de carga, consulte Equilibrio de carga.

Crear servicios DNS

Tras crear un servidor virtual de equilibrio de carga de tipo DNS, debe crear servicios DNS. Puede agregar, modificar, habilitar, inhabilitar y quitar un servicio DNS. Para obtener instrucciones sobre cómo crear un servicio DNS, consulte Equilibrio de carga.

Enlazar un servidor virtual de equilibrio de carga a servicios DNS

Para completar la configuración del proxy DNS, debe vincular los servicios DNS al servidor virtual de equilibrio de carga. Para obtener instrucciones sobre cómo vincular un servicio a un servidor virtual de equilibrio de carga, consulte Equilibrio de carga.

Configurar la configuración del proxy DNS para usar TCP

Algunos clientes utilizan el Protocolo de datagramas de usuario (UDP) para las comunicaciones DNS. Sin embargo, UDP especifica un tamaño máximo de paquete de 512 bytes. Cuando las longitudes de carga superen los 512 bytes, el cliente debe usar TCP. Cuando un cliente envía al dispositivo NetScaler una consulta de DNS, el dispositivo reenvía la consulta a uno de los servidores de nombres. Si la respuesta es demasiado grande para un paquete UDP, el servidor de nombres establece el bit de truncamiento en su respuesta al NetScaler. El bit de truncamiento indica que la respuesta es demasiado grande para UDP y que el cliente debe enviar la consulta a través de una conexión TCP. El dispositivo ADC transmite la respuesta al cliente con el bit de truncamiento intacto. Espera a que el cliente inicie una conexión TCP con la dirección IP del servidor virtual de equilibrio de carga DNS, en el puerto 53. El cliente envía la solicitud a través de una conexión TCP. A continuación, el dispositivo NetScaler reenvía la solicitud al servidor de nombres y transmite la respuesta al cliente.

Para configurar NetScaler para que utilice el protocolo TCP para DNS, debe configurar un servidor virtual de equilibrio de carga y servicios, ambos de tipo DNS_TCP. Puede configurar monitores de tipo DNS_TCP para comprobar el estado de los servicios. Para obtener instrucciones sobre cómo crear servidores virtuales, servicios y monitores DNS_TCP, consulte Equilibrio de carga.

Para actualizar los registros de forma proactiva, NetScaler utiliza una conexión TCP al servidor para recuperar los registros.

Importante

Para configurar NetScaler para que utilice UDP para DNS y solo utilice TCP cuando la longitud de la carga útil de UDP supere los 512 bytes, debe configurar los servicios DNS y DNS_TCP. La dirección IP del servicio DNS_TCP debe ser la misma que la dirección IP del servicio DNS.

Configurar valores de tiempo de vida para las entradas de DNS

El TTL es el mismo para todos los registros DNS con el mismo nombre de dominio y tipo de registro. Si se cambia el valor TTL de uno de los registros, el nuevo valor se refleja en todos los registros del mismo nombre y tipo de dominio. El valor TTL predeterminado es de 3600 segundos. El mínimo es 0 y el máximo es 604800. Si una entrada de DNS tiene un valor TTL inferior al mínimo o superior al máximo, se guarda como valor TTL mínimo o máximo, respectivamente.

Especifique el TTL mínimo y máximo mediante la CLI

En la línea de comandos de NetScaler, escriba los siguientes comandos para especificar el TTL mínimo y máximo y comprobar la configuración:

-  set dns parameter [-minTTL <secs>] [-maxTTL <secs>]
-  show dns parameter
<!--NeedCopy-->

Ejemplo:

> set dns parameter -minTTL 1200 -maxTTL 1800
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
        Minimum TTL: 1200               Maximum TTL: 1800
            .
            .
            .
 Done
>
<!--NeedCopy-->

Especifique el TTL mínimo y máximo mediante la interfaz gráfica

  1. Vaya a Administración del tráfico > DNS.
  2. En el panel de detalles, en Configuración, haga clic en Cambiar la configuración de DNS.
  3. En el cuadro de diálogo Configurar parámetros de DNS, en TTL, en los cuadros de texto Mínimo y Máximo, escriba el tiempo mínimo y máximo de vida (en segundos), respectivamente, y, a continuación, haga clic en Aceptar.

Nota: Cuando el TTL caduca, el registro se elimina de la memoria caché. NetScaler contacta proactivamente con los servidores y obtiene el registro DNS justo antes de que caduque el registro DNS.

Vaciar registros DNS

Puede eliminar todos los registros DNS presentes en la memoria caché. Por ejemplo, es posible que quiera vaciar los registros DNS cuando se reinicie un servidor después de realizar las modificaciones.

Elimine todos los registros de proxy mediante la CLI

En la línea de comandos de NetScaler, escriba:

flush dns proxyRecords

Elimine todos los registros de proxy mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > DNS > Registros.
  2. En el panel de detalles, haga clic en Flush Proxy Records.

Agregar registros de recursos DNS

Puede agregar registros DNS a un dominio para el que el dispositivo NetScaler esté configurado como servidor proxy DNS. Para obtener información sobre cómo agregar registros DNS, consulte Configuración de registros de recursos DNS.

Quitar un servidor virtual DNS de equilibrio de carga

Para obtener información sobre cómo quitar un servidor virtual de equilibrio de carga, consulte Equilibrio de carga.

Limitar el número de solicitudes DNS simultáneas en una conexión de cliente

Puede limitar el número de solicitudes DNS simultáneas en una única conexión de cliente, que se identifica mediante la <clientip:port>-<vserver ip:port> tupla. Las solicitudes DNS simultáneas son aquellas solicitudes que el dispositivo NetScaler ha reenviado a los servidores de nombres y para las que el dispositivo está esperando respuestas. Limitar el número de solicitudes simultáneas en una conexión de cliente permite proteger los servidores de nombres cuando un cliente hostil intenta un ataque de denegación de servicio distribuido (DDoS) mediante el envío de una avalancha de solicitudes de DNS. Cuando se alcanza el límite de conexión de un cliente, se descartan las solicitudes DNS posteriores de la conexión hasta que el recuento de solicitudes pendientes sea inferior al límite. Este límite no se aplica a las solicitudes que el dispositivo NetScaler atiende desde su caché.

El valor predeterminado de este parámetro es 255. Este valor predeterminado es suficiente en la mayoría de los casos. Si los servidores de nombres atienden muchas solicitudes DNS simultáneas en condiciones de funcionamiento normales, puede especificar un valor grande o un valor cero (0). El valor 0 inhabilita esta función y especifica que no hay límite en cuanto al número de solicitudes DNS que se permiten en una única conexión de cliente. Este parámetro es un parámetro global y se aplica a todos los servidores virtuales DNS configurados en el dispositivo NetScaler. El valor predeterminado de este parámetro es 255. Este valor predeterminado es suficiente en la mayoría de los casos. Si los servidores de nombres atienden muchas solicitudes DNS simultáneas en condiciones de funcionamiento normales, puede especificar un valor grande o un valor cero (0). El valor 0 inhabilita esta función y especifica que no hay límite en cuanto al número de solicitudes DNS que se permiten en una única conexión de cliente. Este parámetro es un parámetro global y se aplica a todos los servidores virtuales DNS configurados en el dispositivo NetScaler. El valor predeterminado de este parámetro es 255. Este valor predeterminado es suficiente en la mayoría de los casos. Si los servidores de nombres atienden muchas solicitudes DNS simultáneas en condiciones de funcionamiento normales, puede especificar un valor grande o un valor cero (0). El valor 0 inhabilita esta función y especifica que no hay límite en cuanto al número de solicitudes DNS que se permiten en una única conexión de cliente. Este parámetro es un parámetro global y se aplica a todos los servidores virtuales DNS configurados en el dispositivo NetScaler.

Especifique el número máximo de solicitudes DNS simultáneas permitidas en una única conexión de cliente mediante la CLI

En la línea de comandos, escriba los siguientes comandos para especificar el número máximo de solicitudes DNS simultáneas permitidas en una única conexión de cliente y comprobar la configuración:

-  set dns parameter -maxPipeline <positive_integer>
-  show dns parameter
<!--NeedCopy-->

Ejemplo:

> set dns parameter -maxPipeline 1000
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
        .
        .
        .
        Max DNS Pipeline Requests: 1000
 Done
<!--NeedCopy-->

Especifique el número máximo de solicitudes DNS simultáneas permitidas en una única conexión de cliente mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > DNS.
  2. En el panel de detalles, haga clic en Cambiar la configuración de DNS.
  3. En el cuadro de diálogo Configurar parámetros de DNS, especifique un valor para las solicitudes máximas del proceso de DNS.
  4. Haga clic en OK.

Compatibilidad con inserción de DNS ECS

El tiempo de respuesta del servidor DNS se puede mejorar al incluir el ECS en la consulta DNS. Esto permite al servidor DNS redirigir las solicitudes a la ubicación geográfica adecuada. Según la dirección IP del cliente y la máscara de subred, puede incluir una opción de subred de cliente extendida (ECS) en las consultas de DNS mediante proxy.

Configurar el parámetro ECS mediante la CLI

En la línea de comandos, escriba:

add dns profile <profilename> -insertECS <ENABLED|DISABLED> -replaceECS <ENABLED|DISABLED> -maxCacheableECSPrefixLength <0-32> -maxCacheableECSPrefixLength6 <0-128>

  • insertECS - Cuando está habilitada, las solicitudes de DNS enviadas mediante proxy a través de un servidor virtual de equilibrio de carga con el perfil DNS tendrán una opción de ECS basada en la dirección IP del cliente. De forma predeterminada, este parámetro está INHABILITADO.

  • replaceECS — Cuando está habilitada, las solicitudes de DNS enviadas mediante proxy a través de un servidor virtual de equilibrio de carga con la opción ECS de perfil DNS se reemplazan por una nueva ECS basada en la dirección IP del cliente. De forma predeterminada, este parámetro está INHABILITADO.

  • maxCacheableECSPrefixLength - Especifica la longitud máxima del prefijo de la máscara de red utilizada para la opción ECS para las direcciones IPv4. Valores válidos: 0-32 Valor predeterminado: 32
  • maxCacheableECSPrefixLength6 - Especifica la longitud máxima del prefijo de la máscara de red utilizada para la opción ECS para las direcciones IPv6. Valores válidos: 0-128 Valor predeterminado: 128.

Configurar el parámetro ECS mediante la GUI

  1. Vaya a Sistema > Perfiles> Perfil DNS y cree el perfil DNS.
  2. Habilite Insertar ECS o Reemplazar ECS.
  3. Introduzca la longitud del prefijo para IPv4 e IPv6.
  4. Haga clic en OK.