Pendaftar domain dan DNS saya saat ini mengabaikan permintaan DNS ke domain yang tidak dikenal. Dengan mengabaikan maksud saya lubang hitam dan tidak pernah merespons yang menyebabkan klien DNS dan pemecah masalah saya mencoba lagi, mundur, dan akhirnya kehabisan waktu.
dig @NS3.DNSOWL.COM somedomainthatdoesntexist.org
...
;; connection timed out; no servers could be reached
Dalam mensurvei layanan nama domain populer lainnya, saya melihat bahwa perilaku ini cukup unik karena penyedia lain mengembalikan RCODE 5 (REFUSED):
dig @DNS1.NAME-SERVICES.COM somedomainthatdoesntexist.org
dig @NS-284.AWSDNS-35.COM somedomainthatdoesntexist.org
dig @NS21.DOMAINCONTROL.COM somedomainthatdoesntexist.org
Semua mengembalikan sesuatu seperti yang berikut:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 64732
atau
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 31219
Kembali REFUSED
atau NXDOMAIN
segera adalah IMHO yang tepat dan bukan hanya menjatuhkan permintaan di lantai ruang server.
Ketika saya mengeluh kepada penyedia saya tentang server mereka yang tidak merespons, mereka meminta saya untuk mengutip RFC yang dilanggar oleh server mereka. Saya tahu itu aneh bahwa mereka meminta saya untuk membuktikan bahwa server mereka harus menanggapi semua permintaan, tetapi jadilah itu.
Pertanyaan :
- Ini adalah ketentuan saya bahwa kecuali ada id permintaan duplikat atau semacam respons DOS, server harus selalu menanggapi permintaan tersebut. Apakah ini benar?
- Apa RFC dan bagian spesifik yang harus saya kutip untuk mendukung ketentuan saya?
Bagi saya, itu buruk untuk tidak menanggapi permintaan DNS. Sebagian besar klien akan mundur dan kemudian mengirimkan kembali permintaan yang sama ke server DNS yang sama atau server lain. Mereka tidak hanya memperlambat klien tetapi mereka menyebabkan permintaan yang sama dilakukan lagi oleh server mereka sendiri atau lainnya tergantung pada server nama otoritatif dan entri NS.
Di RFC 1536 dan 2308 saya melihat banyak informasi tentang caching negatif karena alasan kinerja dan untuk menghentikan pengiriman ulang permintaan yang sama. Pada 4074 saya melihat informasi tentang mengembalikan jawaban kosong dengan RCODE 0 sehingga klien tahu tidak ada info ipv6 yang harus menyebabkan klien bertanya tentang RR yang merupakan contoh lain dari respons kosong.
Tetapi saya tidak dapat menemukan RFC yang mengatakan bahwa server DNS harus menanggapi permintaan, mungkin karena itu tersirat.
Masalah khusus terjadi ketika saya memigrasikan domain saya (dan catatan DNS terkait) ke server mereka atau X menit pertama setelah saya mendaftarkan domain baru dengan layanan mereka. Ada jeda antara waktu server nama resmi berubah (yang sangat cepat hari ini) dan server mereka mulai melayani catatan DNS saya. Selama jeda waktu ini, klien DNS berpikir bahwa server mereka otoritatif tetapi mereka tidak pernah menanggapi permintaan - bahkan dengan a REFUSED
. Saya mengerti lag yang baik-baik saja tetapi saya tidak setuju dengan keputusan untuk tidak menanggapi permintaan DNS. Sebagai catatan, saya mengerti bagaimana mengatasi keterbatasan ini dalam sistem mereka, tetapi saya masih bekerja dengan mereka untuk meningkatkan layanan mereka agar lebih sesuai dengan protokol DNS.
Terima kasih untuk bantuannya.
Edit:
Dalam beberapa bulan setelah memposting ini dan menindaklanjuti dengan penyedia saya, mereka mengubah server mereka untuk kembali NXDOMAIN
ke domain yang tidak dikenal.
sumber
Jawaban:
Nasihat Shane benar. Kegagalan untuk memigrasikan data dari satu server otoritatif ke server lain sebelum memulai cutover adalah undangan untuk pemadaman. Terlepas dari apa yang terjadi sejak saat itu, ini adalah pemadaman yang diprakarsai oleh orang yang mengayunkan catatan NS. Ini menjelaskan mengapa lebih banyak orang tidak mengajukan keluhan ini kepada penyedia Anda.
Yang mengatakan, ini masih merupakan pertanyaan yang menarik untuk dijawab, jadi saya akan mengambil celah saya itu.
Fungsionalitas dasar dari server DNS dicakup oleh dokumen RFC 1034 dan RFC 1035 , yang secara kolektif membentuk STD 13 . Jawabannya harus datang dari kedua RFC ini, atau diklarifikasi oleh RFC yang kemudian memperbaruinya.
Sebelum kita melanjutkan, ada jebakan besar-besaran di sini di luar lingkup DNS yang perlu disuarakan: kedua RFC ini ada sebelum BCP 14 (1997), dokumen yang menjelaskan bahasa MEI, HARUS, HARUS, HARUS, dll.
Dengan itu, mari kita mulai dengan apa yang dikatakan RFC 1034 §4.3.1 :
...
Bahasa di sini cukup tegas. Tidak ada "seharusnya", tetapi "akan". Ini berarti bahwa hasil akhirnya harus 1) didefinisikan dalam daftar di atas, atau 2) diizinkan oleh dokumen kemudian pada Trek Standar yang mengubah fungsi. Saya tidak mengetahui adanya kata-kata seperti itu yang ada untuk mengabaikan permintaan dan saya akan mengatakan bahwa tanggung jawab adalah pada pengembang untuk menemukan bahasa yang menyangkal penelitian.
Mengingat seringnya peran DNS dalam skenario penyalahgunaan jaringan, jangan dikatakan bahwa perangkat lunak server DNS tidak menyediakan tombol untuk secara selektif menjatuhkan lalu lintas di lantai, yang secara teknis akan menjadi pelanggaran terhadap hal ini. Yang mengatakan, ini bukan perilaku standar atau dengan standar sangat konservatif; contoh keduanya adalah pengguna yang memerlukan perangkat lunak untuk menjatuhkan nama tertentu (
rpz-drop.
), atau ambang numerik tertentu sedang dilampaui (BINDmax-clients-per-query
). Hampir tidak pernah terjadi dalam pengalaman saya untuk perangkat lunak untuk sepenuhnya mengubah perilaku default untuk semua paket dengan cara yang melanggar standar, kecuali pilihannya adalah salah satu yang meningkatkan toleransi untuk produk lama yang melanggar standar. Bukan itu masalahnya di sini.Singkatnya, RFC ini dapat dan memang dilanggar atas kebijakan operator, tetapi biasanya ini dilakukan dengan beberapa cara yang presisi. Hal ini sangat jarang untuk benar-benar mengabaikan bagian dari standar sebagai nyaman, terutama ketika konsensus profesional (contoh: BCP 16 §3.3 ) keliru dalam mendukung itu menjadi tidak diinginkan untuk menghasilkan beban yang tidak perlu pada sistem DNS secara keseluruhan. Coba lagi yang tidak perlu dari menjatuhkan semua permintaan yang tidak ada data otoritatif yang kurang diinginkan dengan mempertimbangkan hal ini.
Memperbarui:
Mengenai hal itu tidak diinginkan untuk menjatuhkan pertanyaan di lantai sebagai hal yang biasa, @Alnak berbagi dengan kami bahwa saat ini ada BCP Draft yang membahas topik ini secara rinci. Agak terlalu dini untuk menggunakan ini sebagai kutipan, tetapi memang membantu untuk memperkuat bahwa konsensus komunitas selaras dengan apa yang diungkapkan di sini. Khususnya:
Jawaban ini akan diperbarui ketika status dokumen ini berubah.
sumber
should
vsmust
. Saya membaca skimwill be
dalam arti itu.Saat Anda memindahkan DNS resmi untuk domain ke penyedia baru, Anda harus selalu (selalu!) Menguji secara eksplisit terhadap penyedia baru (dan memastikan mereka mengirim catatan yang akurat dan terkonfigurasi) sebelum Anda mengubah informasi pendaftaran domain (whois) Anda untuk menunjuk ke server DNS otoritatif baru.
Secara kasar, langkah-langkah yang akan Anda ambil:
Pastikan server otoritatif baru berfungsi dengan benar. Minta mereka secara eksplisit:
Seperti apa, dari pertanyaan Anda, apakah mereka tidak menanggapi pertanyaan ini? Tapi, Anda mengatakan "domain tidak dikenal" yang seharusnya tidak berada di titik ini, harus sepenuhnya dikonfigurasikan dalam sistem mereka (dan merespons dengan catatan yang Anda konfigurasi).
Tetapi, jika Anda telah mengkonfigurasi domain di sistem mereka, itu harus merespons dengan catatan yang benar pada saat ini. Jika tidak maka mereka tidak hosting zona dengan benar, dan Anda harus berteriak pada mereka; apakah itu merespons atau tidak ke domain yang tidak dikonfigurasikan harus tidak penting. (Jika saya masih tidak mengerti apa yang Anda katakan, beri tahu saya).
Jika penyedia baru benar-benar tidak dapat memiliki catatan yang diisi sebelum Anda beralih, maka bagaimana mereka merespons benar-benar tidak masalah - mengarahkan pengguna ke otoritatif yang menolak kueri sepenuhnya akan menimbulkan waktu henti untuk domain Anda sama seperti jika Anda tidak mendapat tanggapan sama sekali.
sumber
REFUSED
atau tidak sama sekali tanggapan; keduanya sama-sama rusak. Tetapi jika Anda tidak dapat repot-repot membaca jawaban saya, maka saya sudah selesai mencoba membantu Anda.NS
catatan yang berarti (baik dari sisi otoritatif dan delegasi)?