Catatan DNS A vs NS

42

Saya mencoba memahami DNS sedikit lebih baik, tetapi saya masih belum mendapatkan A dan NS sepenuhnya.

Sejauh yang saya mengerti, catatan A memberitahu alamat IP mana yang milik (sub) domain, sejauh ini masih jelas bagi saya. Tapi seperti yang saya pahami, catatan NS memberi tahu titik nameserver mana yang milik domain (sub), dan server nama harus memberi tahu alamat IP mana yang milik domain (sub). Tapi itu sudah ditentukan dalam catatan A di file DNS yang sama. Jadi, bisakah seseorang menjelaskan kepada saya apa yang sebenarnya dicatat oleh NS dan nameserver, karena mungkin saya memahami sesuatu yang salah.

sunting: Seperti yang saya pahami dengan benar, catatan NS memberi tahu Anda untuk menemukan server DNS dengan catatan A untuk domain tertentu, dan catatan A memberi tahu Anda alamat ip mana yang dimiliki domain. Tapi apa gunanya menempatkan A dan catatan NS di file DNS yang sama? Jika sudah ada catatan A untuk domain tertentu, lalu mengapa Anda perlu mengarahkan ke server DNS lain, yang mungkin akan memberi Anda informasi yang sama?

Tiddo
sumber
Maafkan keangkuhan pada pertanyaan lama, tapi saya seorang admin DNS dan saya tidak mempertimbangkan jawaban yang tervvvatif untuk menjelaskan masalah secara memadai. Saya dapat menghubungkannya dengan pertanyaan ini karena saya sendiri memiliki kebingungan yang sama di masa-masa awal saya. Saya sudah berkontribusi jawaban saya sendiri.
Andrew B

Jawaban:

44

Beberapa contoh keluar dari foo.comfile zona fiktif

 ....... SOA record & lots more stuff .......
 foo.com.      IN        NS        ns1.bar.com.

 foo.com.      IN        A         192.168.100.1
 ....... More A/CNAME/AAAA/etc. records .......

A Record = "Tuan rumah memanggil foo.comlive di alamat 192.168.100.1"
NS Record = "Jika Anda ingin tahu tentang host di foo.comzona tersebut, tanyakan nama server ns1.bar.com"

voretaq7
sumber
3
Saya suka referensi foobar. : D
JohnThePro
2
@Tiddo alasan utama adalah bahwa server slave biasanya diberi tahu tentang perubahan zona karena mereka terdaftar sebagai catatan NS. Juga jika Anda menanyakan ns1.foo.comalamat server otoritatif untuk dalam proses mencari sesuatu yang lain dan catatan tidak ada di sana Anda akan mendapatkan NXDOMAINdan Hal Buruk akan terjadi (tetapi itu akan bekerja untuk orang yang menanyakan comserver induk, karena mungkin akan ada catatan lem A di sana)
voretaq7
1
@JohnThePro - opsi saya yang lain adalah example.com, dan saya benci referensi example.com :-)
voretaq7
3
@ voretaq7 jadi pada dasarnya catatan NS digunakan sebagai mekanisme cadangan dan untuk memberi tahu server nama saat alamat ip domain berubah?
Tiddo
2
@tiddo dan sebagai plang seperti yang dijelaskan di atas & di banyak jawaban lainnya. Mungkin ada hal-hal lain yang melihat catatan NS yang saya lupa, tetapi itu adalah dua hal besar yang terlintas dalam pikiran.
voretaq7
18

Ini adalah pertanyaan lama, tapi saya pikir jawaban yang lain tidak benar-benar menyentuh sumber kebingungan. NScatatan di puncak mengikuti serangkaian aturan yang berbeda dari NScatatan di bawah puncak.

Dari aturan itu, kita dapat memperoleh dua perilaku berbeda untuk apa yang terjadi ketika Aada catatan di server DNS dengan nama yang sama:

  • Jika NScatatan tidak mendefinisikan rujukan, data lain dapat ada di sampingnya di zona yang sama. Karena server menganggap dirinya otoritatif untuk NScatatan dan Acatatan, tidak ada konflik. Inilah sebabnya mengapa data lain biasanya hidup berdampingan dengan NScatatan di puncak zona.
  • Jika NScatatan memang mendefinisikan rujukan, maka Acatatan secara efektif "ditutup-tutupi" oleh pemotongan zona . Ini Arekor tidak berwibawa, dan tidak harus muncul pada bagian jawaban dari respon otoritatif. Ini berpotensi digunakan sebagai data lem yang muncul di bagian tambahan rujukan, tetapi hanya itu.

Membingungkan? Ya itu dia. Letakkan catatan di komentar jika Anda kesulitan mengikuti ini dan saya akan melihat apa yang bisa saya lakukan.

Andrew B
sumber
Apa yang Anda maksud dengan APEX?
Ryan-Neal Mes
@ Ryan-Neal NSCatatan di bagian atas file zona.
Andrew B
9

Catatan NS menentukan server yang menyediakan layanan DNS untuk nama domain itu.

Catatan A menunjuk nama host (seperti www, ftp, mail) ke satu atau lebih alamat IP.

mrdenny
sumber
7

catatan A memetakan nama ke alamat IP. misalnya

binary.example.com. DALAM A 192.168.1.42

menyatakan bahwa binary.example.com. memutuskan ke 192.168.1.42

catatan NS memetakan nama ke server nama lain, yaitu server DNS lain yang melayani domain itu. yaitu "Saya tidak tahu alamat IP dari nama ini, tetapi jika Anda pergi bertanya server nama di sana, mungkin tahu"

binary.example.com. DI NS otherbox.example.com
otherbox.example.com. DALAM A 192.168.1.2

Jika Anda meminta server DNS yang memiliki 2 catatan di atas untuk binary.example.com. (atau www.binary.example.com. atau foo.bar.binary.example.com). itu akan memberi tahu Anda bahwa Anda harus bertanya 192.168.1.2 untuk menerjemahkan nama-nama itu (baik, atau server dns dapat melakukan itu untuk Anda, atau itu bisa membuat nama yang di-cache di-cache dan mengembalikannya kepada Anda.)

tidak
sumber
seringkali Anda akan melihat catatan DNS yang menentukan catatan NS dan A untuk domain yang sama. Tetapi jika catatan NS mengatakan untuk menemukan catatan A, lalu apa gunanya catatan NS dalam file yang sama, jika catatan A sudah ada di sana?
Tiddo
ini adalah penjelasan favorit saya di antara semuanya!
Benjamin
6

Penting untuk memiliki NS dan A record di zona jika Anda perlu mendelegasikan sub-zona ke server DNS yang berbeda.

Misalnya kita memiliki server dns ns1.bar.com berwibawa untuk zone bar.com. Dan kita perlu mendelegasikan foo.bar.com ke ns1.foo.bar.com. Jadi kita perlu membuat zone foo.bar.com dan meletakkan catatan ini di sana:

foo.bar.com.     IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A  10.10.10.10

Jika kita tidak memiliki delegasi rekaman tidak akan berfungsi. Pasangan rekaman semacam itu disebut catatan lem.

Catatan lem adalah satu-satunya cara bagi sistem DNS untuk menemukan IP yang tepat dari server DNS otoritatif untuk zona non-root. Jika Anda memeriksa domain untuk catatan NS menggunakan digatau melihat dump lalu lintas dengan wireshark Anda akan melihat bahwa ada bagian 'tambahan' sebagai jawaban.

;; ANSWER SECTION:
foo.bar.com.             10800   IN      NS      ns1.foo.bar.com.

;; ADDITIONAL SECTION:
ns1.foo.bar.com.         7972    IN      A       10.10.10.10

ketika melakukan permintaan rekursif, mis. www.foo.bar.com, klien dns Anda akan meminta DNS otoritatif untuk zona foo.bar.com dan mendapatkan jawaban ns1.foo.bar.com.

Untuk melangkah lebih jauh perlu mengirim permintaan untuk ns1.foo.bar.com, yang dilayani oleh ... ns1.foo.bar.com. Untuk keluar dari loop, mendelegasikan server DNS harus menambahkan bagian tambahan ini, dengan catatan.

Server ns1.foo.bar.com harus memiliki catatan yang sama di zonanya, sehingga dapat menjadi otoritatif untuk zona foo.bar.com.

DukeLion
sumber
Sedang mengalami kesulitan untuk mengatasi masalah ayam dan telur sampai saya melihat penjelasan catatan lem Anda!
Jon Skarpeteig
3

Catatan NS ada SATU-SATUNYA untuk tujuan mendefinisikan YANG NAMESERVERS yang bertanggung jawab atas domain tertentu.

Catatan A ada untuk "ADDRESS" mesin, atau layanan tertentu.

Contoh untuk Anda:

Di Panel Kontrol DNS Anda, Anda akan melihat beberapa catatan NS, ini adalah NAMESERVERS Anda, atau mesin utama yang bertanggung jawab untuk memberi tahu internet di mana barang-barang di domain Anda berada.

NS1.CP.COM NS2.CP.COM

Juga di dalam Panel DNS Anda, Anda akan memiliki domain yang Anda miliki (mis. -Mikesfunhouse.com) yang Anda perlukan untuk memiliki beberapa layanan, seperti situs web di.

Jadi yang akan Anda lakukan adalah memiliki catatan Primary A, yang menunjuk "mikesfunhouse.com" ke "76.19.87.956" (jelas IP palsu).

Kemudian Anda akan membuat catatan lain, catatan www, yang akan mengarahkan ulang subdomain "www." porsi ke situs utama Anda.

Singkatnya, Anda menggunakan catatan A untuk mengkonversi namespace ke alamat IP.

JohnThePro
sumber
1

Catatan server nama memberi tahu Internet tempat server DNS menyimpan catatan A, jadi untuk mencari catatan A untuk subdomain, prosesnya kira-kira sebagai berikut:

Cari server nama untuk domain -> Permintaan server nama untuk Catatan A subdomain

James L
sumber
Tetapi jika catatan A sudah dalam file yang sama, mengapa Anda harus menentukan catatan NS?
Tiddo
1
Ini semua tentang apa yang Anda cari. Catatan NS seperti titik awal. Jika server belum pernah mengunjungi domain Anda sebelumnya, server NS pertama akan menemukan respons untuk domain Anda. Setelah itu mengidentifikasi server itu, itu akan meminta untuk catatan A domain yang bersangkutan.
JohnThePro