Che cos'è una "query DNS ricorsiva"? [chiuso]


15

Qualcuno può spiegare in breve cosa significa "query DNS ricorsiva" e come può essere considerata negativa ?


Sapevo chi ha scritto questo solo dal titolo. Non so perché continui a pubblicare articoli DNS qui, ma questo non è affatto specifico per Unix / Linux. Personalmente penso che sia una domanda decente, ma non è in argomento qui, e non credo che abbiamo un altro sito nella rete che lo voglia
Michael Mrozek

È davvero offtopico qui? Considerando probabilmente il 90% dei server DNS del mondo eseguiti su unix / linux? Forse la domanda avrebbe potuto essere riformulata: "Come posso configurare il mio server DNS per rispondere a query ricorsive, e perché dovrei evitare di dong questo?" ma è davvero "offtopico?" Solo curioso.
gabe.

Probabilmente potrebbe essere considerato un adattamento migliore su security.stackexchange.com, ma non vedo alcun motivo reale per rifiutarlo qui ...
Shadur,

Risposte:


25

TL; DR : le query ricorsive fanno parte del modo in cui funzionano Internet e DNS, ma non tutti i server DNS dovrebbero ricevere query ricorsive e quando quelli che non dovrebbero rispondere rispondono, potresti avere problemi.

Versione più lunga:

Ricorsione, n: vedi sotto Ricorsione.

Una query DNS ricorsiva si verifica quando il server DNS a cui hai chiesto l'indirizzo, per esempio, unix.stackexchange.com non conosce la risposta stessa, quindi deve verificare con un altro server.

Normalmente questo è effettivamente il modo in cui funziona il DNS: il server DNS del tuo ISP non ha i record di dominio dell'intero Internet memorizzati in modo permanente per ovvi motivi, quindi il seguente scambio avviene sotto il cofano:

  1. Tu: Ehi, browser, mostrami http://unix.stackexchange.com

  2. Browser: Sicuro! ... Hm. In realtà non so quale sia l'indirizzo IP.

    Ehi, OS, puoi dirmi dove trovare unix.stackexchange.com?

  3. OS: certo ...

    Hmm. Non è nel mio file hosts. Fammi controllare la mia configurazione del resolver ...

    Ehi, server DNS dell'ISP, puoi dirmi dove trovare unix.stackexchange.com?

  4. Il server DNS dell'ISP: certo!

    ... Hmmm. Quello non è nella mia lista di domini autorevoli e in questo momento non ho questa risposta memorizzata nella cache.

    Ehi, server di root di Internet, puoi dirmi chi è autorevole per stackexchange.com?

  5. Internet Root Server: Sicuro! Secondo i nostri registri, vuoi ns1.serverfault.com, ns2.serverfault.com o ns3.serverfault.com.

  6. Server DNS dell'ISP: grazie, Internet Root Server!

    Ciao, ns2.serverfault.com, puoi dirmi dove trovare unix.stackexchange.com?

  7. ns2.serverfault.com : Sicuro! Questo è l'indirizzo 64.34.119.12

  8. Server DNS dell'ISP : fantastico, grazie!

    OS, il numero che stai cercando è 64.34.119.12.

  9. OS: Fantastico, grazie!

    Browser, è necessario l'indirizzo 64.34.119.12

  10. Browser: Fantastico, grazie!

    Ok, richiamo la pagina adesso.

  11. Tu: grazie, browser!

Ora tieni presente che in realtà ci sono due tipi di server dei nomi qui interrogati: i server DNS autorevoli (i cosiddetti server "root" che hanno detto al server DNS del tuo ISP dove trovare il server DNS di SE.com e il server DNS autorevole di SE.com ) e recursing o spedizioni server DNS (server DNS del proprio ISP).

Normalmente, il primo tipo non dovrebbe rispondere a query ricorsive, in particolare non al di fuori del proprio dominio. Gli ISP più piccoli a volte risparmiano sui costi facendo sì che il loro server dei nomi autorevole primario sia lo stesso server del loro server dei nomi di inoltro primario, ma questa è una politica un po 'pericolosa, specialmente se non configuri il tuo server per rifiutare le query ricorsive al di fuori del tuo intervallo IP.

Ulteriori letture qui su Wikipedia .


Per quanto ne so, i server root dovrebbero indirizzarti ai .comserver e da lì il server ricorsivo dell'ISP indicherà il server di SE.com.
Hanan N.

Sì, ma ho pensato di tenerlo almeno / un po '/ semplificato ma comprensibile.
Shadur,

Penso che hai dimenticato il passaggio 12 .: Michael Mrozek: "Ehi, LanceBaynes, sapevo chi ha scritto questo solo dal titolo ..."
Alois Mahdal,

Eccellente! la risposta è stata annullata1
Valentin Bajrami,

5

Se ci sono 2 server DNS, DNS-A è l'autorità per il dominio-a e DNS-B è l'autorità per il dominio-b e qualcuno invia una query DNS a DNS-A per una ricerca del dominio-b. DNS-A verrebbe quindi ripetuto inviando una richiesta a DNS-B per cercare domain-b. In sostanza, una query ricorsiva si verifica quando un server DNS, per conto del client che ha inviato la query, insegue la traccia del DNS per soddisfare la richiesta.

Questo va bene se stai ospitando un server DNS per una rete, come un ufficio e tutte le macchine in quell'ufficio useranno il server DNS per fare tutte le ricerche. Ciò è negativo se si consente a chiunque di eseguire query ricorsive DNS. Ciò è negativo anche se si ospita un server DNS che dovrebbe soddisfare solo le richieste per un determinato dominio. Se qualcuno richiede una ricerca per un altro dominio, il server DNS dovrebbe restituire un errore invece di ricorrere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.