Apa itu "permintaan DNS rekursif"? [Tutup]


15

Dapatkah seseorang menjelaskan secara singkat apa arti "permintaan DNS rekursif" dan bagaimana itu dapat dianggap buruk ?


Saya tahu siapa yang menulis ini hanya dari judulnya. Saya tidak tahu mengapa Anda terus memposting hal-hal DNS di sini, tetapi ini bukan Unix / Linux sama sekali. Secara pribadi saya pikir ini adalah pertanyaan yang layak, tetapi ini tidak pada topik di sini, dan saya tidak berpikir kita memiliki situs lain di jaringan yang menginginkannya
Michael Mrozek

Apakah ini benar-benar offtopic di sini? Mempertimbangkan kemungkinan 90% server DNS dunia berjalan di unix / linux? Mungkin pertanyaannya bisa ditulis ulang: "Bagaimana saya bisa mengkonfigurasi server DNS saya untuk menjawab pertanyaan rekursif, dan mengapa saya harus menghindari dong ini?" tetapi apakah itu benar-benar "offtopic?" Hanya penasaran.
gabe.

Bisa dibilang bisa dianggap lebih cocok di security.stackexchange.com, tapi saya tidak melihat alasan nyata untuk menolaknya di sini secara langsung ...
Shadur

Jawaban:


25

TL; DR : Kueri rekursif adalah bagian dari cara internet dan DNS bekerja, tetapi tidak semua server DNS harus menerima kueri rekursif, dan ketika yang tidak merespons merespons, Anda bisa mendapatkan masalah.

Versi yang lebih panjang:

Rekursi, n: Lihat di bawah Rekursi.

Permintaan DNS rekursif terjadi ketika server DNS yang Anda minta alamat, katakanlah, unix.stackexchange.com tidak tahu jawabannya sendiri, sehingga harus memeriksa dengan server lain.

Biasanya ini sebenarnya cara kerja DNS - server DNS ISP Anda tidak memiliki seluruh catatan domain internet yang dihafal secara permanen karena alasan yang jelas, sehingga pertukaran berikut terjadi di bawah tenda:

  1. Anda: Hei, browser, perlihatkan saya http://unix.stackexchange.com

  2. Browser: Tentu! ... Hm. Saya sebenarnya tidak tahu alamat IP apa itu.

    Hai, OS, dapatkah Anda memberi tahu saya di mana menemukan unix.stackexchange.com?

  3. OS: Tentu saja ...

    Hmm. Itu bukan di file host saya sendiri. Biar saya periksa konfigurasi resolver saya ...

    Hai, server DNS ISP, dapatkah Anda memberi tahu saya di mana menemukan unix.stackexchange.com?

  4. Server DNS ISP: Hal yang pasti!

    ... Hmmm. Yang itu tidak ada dalam daftar domain otoritatif saya, dan saat ini saya tidak memiliki jawaban di-cache.

    Hei, server root internet, dapatkah Anda memberi tahu saya siapa yang berwenang untuk stackexchange.com?

  5. Internet Root Server: Tentu saja! Menurut catatan kami, Anda ingin ns1.serverfault.com, ns2.serverfault.com, atau ns3.serverfault.com.

  6. Server DNS ISP: Terima kasih, Internet Root Server!

    Halo, ns2.serverfault.com, bisakah Anda memberi tahu saya di mana menemukan unix.stackexchange.com?

  7. ns2.serverfault.com : Tentu! Itu alamat 64.34.119.12

  8. Server DNS ISP : Hebat, terima kasih!

    OS, nomor yang Anda cari adalah 64.34.119.12.

  9. OS: Luar biasa, terima kasih!

    Browser, Anda perlu alamat 64.34.119.12

  10. Browser: Hebat, terima kasih!

    Oke, menelpon halaman sekarang.

  11. Anda: Yay, terima kasih Browser!

Sekarang ingatlah bahwa sebenarnya ada dua jenis server nama yang ditanyakan di sini - server DNS otoritatif (yang disebut server "root" yang memberi tahu server DNS ISP Anda di mana menemukan server DNS SE.com, dan server DNS SE.com yang resmi ) dan berulang atau meneruskan server DNS (server DNS ISP Anda).

Biasanya, tipe sebelumnya tidak seharusnya menanggapi permintaan rekursif, terutama dari luar domain mereka sendiri. ISP yang lebih kecil terkadang menghemat biaya dengan menjadikan server nama otoritatif utama mereka menjadi server yang sama dengan server penerusan utama mereka, tapi itu kebijakan yang agak tidak aman - terutama jika Anda tidak mengonfigurasi server Anda untuk menolak permintaan rekursif dari luar rentang IP Anda sendiri.

Bacaan lebih lanjut di sini di Wikipedia .


Sejauh yang saya tahu, server Root harus mengarahkan Anda ke .comserver, dan dari sana server rekursif ISP akan menunjuk ke server SE.com.
Hanan N.

Ya, tapi saya pikir saya akan menyimpannya setidaknya / agak / disederhanakan namun dapat dimengerti.
Shadur

Saya pikir Anda lupa langkah 12 .: Michael Mrozek: "Hei, LanceBaynes, saya tahu siapa yang menulis ini hanya dari judul ..."
Alois Mahdal

Unggul! jawabannya telah diunggah1
Valentin Bajrami

5

Jika ada 2 server DNS, DNS-A adalah otoritas untuk domain-a, dan DNS-B adalah otoritas untuk domain-b, dan seseorang mengirim permintaan DNS ke DNS-A untuk pencarian domain-b. DNS-A kemudian akan berulang dengan mengirimkan permintaan ke DNS-B untuk mencari domain-b. Pada dasarnya, permintaan rekursif adalah ketika server DNS, atas nama klien yang mengirim permintaan, mengejar jejak DNS untuk memenuhi permintaan.

Ini bagus jika Anda meng-hosting server DNS untuk jaringan, seperti kantor dan semua mesin di kantor itu akan menggunakan server DNS untuk melakukan semua pencarian. Ini buruk jika Anda mengizinkan siapa pun untuk melakukan permintaan rekursif DNS. Ini juga buruk jika Anda meng-hosting server DNS yang hanya diharapkan memenuhi permintaan untuk domain tertentu. Jika seseorang meminta pencarian untuk domain lain, server DNS harus mengembalikan kesalahan alih-alih melakukan rekursi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.