¿Qué es una "consulta DNS recursiva"? [cerrado]


15

¿Alguien puede explicar brevemente qué significa "consulta DNS recursiva" y cómo se puede considerar malo ?


Sabía quién escribió esto solo por el título. No sé por qué sigues publicando cosas de DNS aquí, pero esto no es específico de Unix / Linux. Personalmente, creo que es una pregunta decente, pero no está en el tema aquí, y no creo que tengamos otro sitio en la red que lo quiera
Michael Mrozek

¿Es esto realmente fuera de tema aquí? Teniendo en cuenta que probablemente el 90% de los servidores DNS del mundo se ejecutan en unix / linux? Quizás la pregunta podría haberse redactado nuevamente: "¿Cómo puedo configurar mi servidor DNS para responder consultas recursivas, y por qué debería evitar esto?" pero ¿es eso realmente "offtopic"? Sólo curioso.
Gabe.

Se podría decirse que se podría considerar un ajuste mejor en security.stackexchange.com, pero no ve ninguna razón real para rechazarla de plano aquí ...
Shadur

Respuestas:


25

TL; DR : las consultas recursivas son parte de la forma en que funcionan Internet y DNS, pero no todos los servidores DNS deberían recibir consultas recursivas, y cuando responden los que no deben responder, pueden surgir problemas.

Versión más larga:

Recursion, n: Ver bajo Recursion.

Una consulta DNS recursiva ocurre cuando el servidor DNS al que solicitó la dirección de, digamos, unix.stackexchange.com no conoce la respuesta en sí misma, por lo que debe verificar con otro servidor.

Normalmente, así es como funciona el DNS: el servidor DNS de su ISP no tiene todos los registros de dominio de Internet permanentemente memorizados por razones obvias, por lo que el siguiente intercambio ocurre bajo el capó:

  1. Tú: Hola, navegador, muéstrame http://unix.stackexchange.com

  2. Navegador: ¡ Claro que sí! ... hm. En realidad no sé qué dirección IP es esa.

    Hola, OS, ¿puedes decirme dónde encontrar unix.stackexchange.com?

  3. OS: Claro ...

    Hmm No está en mi propio archivo de hosts. Déjame comprobar mi configuración de resolución ...

    Hola, el servidor DNS del ISP, ¿puedes decirme dónde encontrar unix.stackexchange.com?

  4. Servidor DNS del ISP: ¡ claro!

    ... mmm. Ese no está en mi lista de dominios autorizados, y en este momento no tengo esa respuesta en caché.

    Hola, servidores raíz de Internet, ¿pueden decirme quién tiene autoridad para stackexchange.com?

  5. Servidores raíz de Internet: ¡ claro! Según nuestros registros, desea ns1.serverfault.com, ns2.serverfault.com o ns3.serverfault.com.

  6. Servidor DNS del ISP: ¡ Gracias, servidores raíz de Internet!

    Hola, ns2.serverfault.com, ¿puedes decirme dónde encontrar unix.stackexchange.com?

  7. ns2.serverfault.com : ¡claro! Esa es la dirección 64.34.119.12

  8. Servidor DNS del ISP : ¡Genial, gracias!

    OS, el número que estás buscando es 64.34.119.12.

  9. OS: Genial, gracias!

    Navegador, necesita la dirección 64.34.119.12

  10. Navegador: ¡ Genial, gracias!

    Bien, llamando a la página ahora.

  11. Tú: ¡ Sí, gracias navegador!

Ahora tenga en cuenta que en realidad hay dos tipos de servidores de nombres consultados aquí: servidores DNS autorizados (los llamados servidores "raíz" que le dijeron al servidor DNS de su ISP dónde encontrar el servidor DNS de SE.com, y el servidor DNS autorizado de SE.com ) y recurrir o reenviar servidores DNS (el servidor DNS de su ISP).

Normalmente, no se supone que el primer tipo responda a consultas recursivas, especialmente no desde fuera de su propio dominio. Los ISP más pequeños a veces ahorran costos al hacer que su servidor de nombres autorizado principal sea el mismo servidor que su servidor de nombres de reenvío primario, pero esa es una política algo insegura, especialmente si no configura su servidor para rechazar consultas recursivas fuera de su propio rango de IP.

Lectura adicional aquí en Wikipedia .


Hasta donde sé, los servidores raíz deberían dirigirlo a los .comservidores, y desde allí el servidor recursivo del ISP apuntaría al servidor de SE.com.
Hanan N.

Sí, pero pensé que lo mantendría al menos / algo / simplificado pero comprensible.
Shadur

Creo que olvidó el paso 12 .: Michael Mrozek: "Hola, LanceBaynes, sabía quién escribió esto solo por el título ..."
Alois Mahdal

Excelente! la respuesta se ha votado hacia arriba1
Valentin Bajrami

5

Si hay 2 servidores DNS, DNS-A es la autoridad para el dominio-a, y DNS-B es la autoridad para el dominio-b, y alguien envía una consulta DNS al DNS-A para buscar el dominio-b. DNS-A sería recurrente enviando una solicitud a DNS-B para buscar el dominio-b. Esencialmente, una consulta recursiva es cuando un servidor DNS, en nombre del cliente que envió la consulta, persigue el rastro de DNS para cumplir con la solicitud.

Esto está bien si aloja un servidor DNS para una red, como una oficina, y todas las máquinas de esa oficina usarán el servidor DNS para realizar todas las búsquedas. Esto es malo si está permitiendo que alguien haga consultas recursivas de DNS. Esto también es malo si aloja un servidor DNS que se supone que solo cumple con las solicitudes de un determinado dominio. Si alguien solicita una búsqueda de otro dominio, el servidor DNS debería devolver un error en lugar de hacer una recursividad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.