DNS ALG
El servicio de puerta de enlace de capa de aplicación (ALG) del Sistema de nombres de dominio (DNS) gestiona los datos asociados con la localización y traducción de nombres de dominio en direcciones IP. El ALG normalmente se ejecuta en el puerto 53. El ALG supervisa los paquetes de consulta y respuesta DNS y solo admite tráfico UDP.
Use el Explorador de características para confirmar la compatibilidad de la plataforma y el lanzamiento de características específicas.
Revise la secciónComportamiento de DNS ALG específico de la plataforma para obtener notas relacionadas con su plataforma.
Descripción general de DNS ALG
El servicio DNS Application Layer Gateway (ALG) proporciona una puerta de enlace de nivel de aplicación para su uso con clientes DNS. El servicio DNS ALG permite a un cliente tener acceso a varios servidores DNS en diferentes redes y proporciona enrutamiento hacia y desde esos servidores. También admite la traducción flexible de direcciones de los paquetes de consulta y respuesta DNS. Estas funciones permiten al cliente DNS consultar muchos dominios diferentes desde una única instancia de servidor DNS en el lado del cliente de la red.
El servidor DNS escucha a través del puerto UDP 53 las consultas entrantes de los solucionadores DNS. Un solucionador se comunica con los servidores DNS mediante el envío de consultas DNS y el manejo de respuestas DNS.
El puerto predeterminado para DNS ALG es el puerto 53.
El ALG de DNS realiza las siguientes funciones:
Supervisa los paquetes de consulta y respuesta DNS y cierra la sesión cuando se recibe la respuesta DNS
Realiza la corrección de DNS
Realiza las transformaciones de direcciones IPv4 e IPv6
El Sistema de nombres de dominio (DNS) se diseñó originalmente para admitir consultas de una base de datos estática configurada y se esperaba que los datos cambiaran.
La compatibilidad con DNS dinámico (DDNS) ahora está disponible además del estándar DNS. La principal diferencia entre DNS y DDNS está en el formato del mensaje de la sección del encabezado y el mensaje de actualización.
Los mensajes DDNS se procesan de manera diferente en comparación con los mensajes DNS. El análisis de mensajes se reescribe para DDNS. DDNS hace NAT y NAT-PT en la parte de consulta del mensaje y DNS hace NAT y NAT-PT en la parte de respuesta del mensaje.
Ver también
Ejemplo: configuración del ALG de DNS
En este ejemplo, se muestra cómo configurar el ALG de DNS para que pase a través del tráfico DNS con un grupo de NAT estático en dispositivos de Juniper Networks.
Requisitos
Antes de empezar:
Configure un grupo de NAT estático para todas las direcciones IP.
Comprender los conceptos detrás de ALG para DNS. Consulte Descripción general de DNS ALG.
Visión general
En este ejemplo, el ALG para DNS está configurado para monitorear y permitir que el tráfico DNS se intercambie entre los clientes y el servidor ubicados en lados opuestos de un dispositivo de Juniper Networks.
En este ejemplo se muestra cómo configurar un conjunto de reglas y un grupo de NAT estáticos, así como asociar el ALG de DNS a una directiva.
Configuración
- Configuración de un conjunto de reglas y un grupo estático de NAT
- Configuración e impresión del seguimiento DNS
Configuración de un conjunto de reglas y un grupo estático de NAT
Configuración rápida de CLI
Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security nat static rule-set rs1 from zone untrust set security nat static rule-set rs1 rule r1 match destination-address 203.0.113.100 set security nat static rule-set rs1 rule r1 then static-nat prefix 192.0.2.100 set security policies from-zone untrust to-zone trust policy u2t match source-address any set security policies from-zone untrust to-zone trust policy u2t match destination-address any set security policies from-zone untrust to-zone trust policy u2t match application junos-dns-udp set security policies from-zone untrust to-zone trust policy u2t then permit
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un grupo de NAT estático:
Cree un conjunto de reglas estáticas NAT.
[edit] user@host# set security nat static rule-set rs1 from zone untrust user@host# set security nat static rule-set rs1 rule r1 match destination-address 203.0.113.100 user@host# set security nat static rule-set rs1 rule r1 then static-nat prefix 192.0.2.100
Asocie la aplicación DNS mediante una directiva.
[edit] user@host# set security policies from-zone untrust to-zone trust policy u2t match source-address any user@host# set security policies from-zone untrust to-zone trust policy u2t match destination-address any user@host# set security policies from-zone untrust to-zone trust policy u2t match application junos-dns-udp user@host# set security policies from-zone untrust to-zone trust policy u2t then permit
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security nat
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
user@host# show security nat static { rule-set rs1 { from zone untrust; rule r1 { match { destination-address 203.0.113.100; } then { static-nat { prefix { 192.0.2.100; } } } } } }
[edit] user@host# show security policies from-zone untrust to-zone trust { policy u2t { match { source-address any; destination-address any; application [ junos-dns-udp]; } then { permit; } } } default-policy { permit-all; }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Configuración e impresión del seguimiento DNS
Propósito
Imprima el archivo de seguimiento DNS.
Acción
En el modo de configuración, escriba el siguiente comando.
set security alg traceoptions file alglog set security alg traceoptions file size 1g set security alg traceoptions level verbose set security alg dns traceoptions flag all
Verificación
Para confirmar que la configuración funciona correctamente, realice estas tareas:
Comprobación de DNS ALG
Propósito
Compruebe que el ALG de DNS esté habilitado.
Acción
Desde el modo operativo, ingrese el show security alg status
comando.
user@host> show security alg status ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Disabled SQL : Disabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra que el ALG de DNS está habilitado.
Comprobación de la sesión de flujo de seguridad ALG de DNS
Propósito
Compruebe que la sesión de flujo de seguridad ALG esté habilitada.
Acción
Desde el modo operativo, ingrese el show security flow session application dns extensive
comando.
user@host> show security flow session application dns extensive Session ID: 24088, Status: Normal Flags: 0x40/0x0/0x2/0x2000103 Policy name: unt2tru/6 Source NAT pool: Null, Application: junos-dns-udp/16 Dynamic application: junos:UNKNOWN, Encryption: Unknown Application traffic control rule-set: INVALID, Rule: INVALID Maximum timeout: 60, Current timeout: 56 Session State: Valid Start time: 658866, Duration: 10 In: 192.0.2.0/38926 --> 198.51.100.0/53;udp, Conn Tag: 0x0, Interface: ge-0/0/3.0, Session token: 0xa, Flag: 0x621 Route: 0x110010, Gateway: 192.0.2.0, Tunnel: 0 Port sequence: 0, FIN sequence: 0, FIN state: 0, Pkts: 2, Bytes: 116 Out: 198.51.100.0/53 --> 192.0.2.0/38926;udp, Conn Tag: 0x0, Interface: ge-0/0/2.0, Session token: 0x9, Flag: 0x620 Route: 0x100010, Gateway: 198.51.100.0, Tunnel: 0 Port sequence: 0, FIN sequence: 0,
Significado
La salida muestra que hay un flujo activo que utiliza el ALG de DNS.
Descripción de la manipulación de DNS y DDNS
Junos OS admite el Sistema de nombres de dominio (DNS) para ALG. El ALG de DNS supervisa los paquetes de consulta y respuesta DNS y cierra la sesión si la marca DNS indica que el paquete es un mensaje de respuesta. Para configurar el ALG de DNS, utilice la edit security alg dns
instrucción en el nivel de [edit security alg]
jerarquía.
DNS proporciona asignación de nombre a dirección dentro de una clase de enrutamiento, mientras que la traducción de direcciones de red (NAT) intenta proporcionar un enrutamiento transparente entre hosts en dominios de direcciones dispares de la misma clase de enrutamiento. Como resultado, NAT puede causar algunos problemas de DNS que el ALG DNG debe manejar a través de un proceso llamado corrección de DNS .
La misma función de tratamiento se aplica al sistema de nombres de dominio dinámico (DDNS). Para DDNS en modo NAT, también puede realizar la traducción de IP en la actualización DDNS.
Para resolver los problemas introducidos por NAT, la funcionalidad ALG de DNS y DDNS se ha ampliado para admitir NAT estática, lo que permite que los problemas se resuelvan mediante la corrección de DNS.
El proceso de restauración y curado se realiza en dos partes:
-
Packet sanity check
Para el paquete DNS, los campos de comprobación ALG de DNS son preguntas, respuestas, autoridad e información adicional. El ALG de DNS descarta el paquete si el número de preguntas es mayor que 1, el nombre de dominio tiene más de 255 bytes o la longitud de la etiqueta es más de 63 bytes.
Para el paquete DDNS, los campos de comprobación ALG de DNS son zona, requisito previo, actualización y datos adicionales. El ALG de DNS descarta el paquete si el número de zonas es mayor que 1, el nombre de dominio es más de 255 bytes o la longitud de la etiqueta es más de 63 bytes.
Tanto para DNS como para DDNS, el ALG de DNS descarta el paquete que no cumple con los estándares.
-
NAT
La figura 2 muestra cómo DNS traduce una dirección privada a una dirección pública.

Cuando el host X en external.com desea resolver la dirección del host A a través de DNS y si el ALG de DNS no admite NAT, toma una dirección privada como 172.19.1.10, que no es válida para el host X. La dirección privada se traduce a la dirección pública 10,131.108.10 a través del ALG de DNS.
La figura 3 muestra cómo DNS traduce una dirección pública a una dirección privada.

Cuando el host A en private.com desea resolver la dirección del host B a través de DNS y si el ALG de DNS no admite NAT, toma una dirección pública del servidor DNS en external.com, como 10.131.108.8. Si el host A envía tráfico al host B con la dirección pública 10.131.108.8, que no es válida para el host B en el dominio privado. Por lo tanto, la dirección pública en el registro A de la consulta DNS se traduce a la dirección privada 172.19.2.1 a través del ALG DNS.
El ALG de DNS puede traducir los primeros 32 registros A en una sola respuesta DNS. Los registros A después de los primeros 32 registros no se manejan. Tenga en cuenta también que el ALG de DNS admite direcciones IPv4 e IPv6 y no admite túneles VPN.
Deshabilitar la manipulación de DNS y DDNS
El ALG de DNS debe estar habilitado en los dispositivos para realizar la corrección de DNS y DDNS. Con el ALG de DNS habilitado en el dispositivo, la función de tratamiento de DNS y DDNS está habilitada de forma predeterminada. Puede deshabilitar el tratamiento de DNS y DDNS con la CLI.
Para deshabilitar la manipulación de DNS y DDNS:
-
Desactive todas las funciones de tratamiento especificando la opción de
none
configuración.Este comando deshabilita todas las funciones de tratamiento.
user@host#
set security alg dns doctoring none
-
Deshabilite la función NAT y conserve la función de comprobación de cordura especificando la opción de
sanity-check
configuración.Esta opción deshabilita la función NAT y conserva la función de comprobación de cordura.
user@host#
set security alg dns doctoring sanity-check
-
Si ha terminado de configurar el dispositivo, confirme la configuración.
-
Para comprobar la configuración, utilice el comando show usp algs dns statsvty .
Comportamiento de DNS ALG específico de la plataforma
Use el Explorador de características para confirmar la compatibilidad de la plataforma y el lanzamiento de características específicas.
Use la tabla siguiente para revisar los comportamientos específicos de la plataforma para su plataforma:
Plataforma |
Diferencia |
---|---|
Serie SRX |
|