प्रॉम्प्ट और दायरा
मल्टी-टेनेंट SaaS के लिए एक ऑथॉरिटेटिव DNS कंट्रोल प्लेन डिज़ाइन करें। उपयोगकर्ता A, AAAA, CNAME और TXT रिकॉर्ड सबमिट करते हैं। सिस्टम विवादों को मान्य करता है, ज़ोन वर्ज़न बनाता है, ऑथॉरिटेटिव नोड्स को सूचित करता है, और AXFR/IXFR, DNSSEC, रोलआउट, रोलबैक और ऑडिट का समर्थन करता है।
इंटरव्यूअर क्या मूल्यांकन करता है
- कंट्रोल प्लेन, ऑथॉरिटेटिव सर्विंग प्लेन और रिकर्सिव रिज़ॉल्वर्स को अलग करना।
- इम्यूटिएबल ज़ोन वर्ज़न और एटॉमिक पब्लिकेशन का उपयोग करना।
- SOA सीरियल, NOTIFY, AXFR और IXFR को आपस में जोड़ना।
- टेनेंट आइसोलेशन, ऑथराइज़ेशन, DNSSEC की (key) सुरक्षा और खराब-रिलीज़ की रोकथाम।
- पिछड़ रहे नोड्स, आंशिक पब्लिकेशन, नेगेटिव कैशिंग और रोलबैक को संभालना।
पहले स्पष्ट किए जाने वाले प्रश्न
ज़ोन की संख्या, राइट दर, प्रोपेगेशन SLO, DNSSEC, नोड का भूगोल, ऑथराइज़ेशन और अप्रूवल मॉडल की पुष्टि करें, और यह भी जांचें कि क्या पुराने नोड्स केवल AXFR का समर्थन करते हैं। यदि अनिर्दिष्ट हो, तो मिनट-स्तरीय दृश्यता के साथ विश्व स्तर पर वितरित ऑथॉरिटेटिव क्लस्टर मान लें।
तीस सेकंड का उत्तर ढांचा
कंट्रोल प्लेन में सामान्यीकृत (normalized) रिकॉर्ड लिखें, एक इम्यूटिएबल ज़ोन वर्ज़न बनाएं, इसे मान्य करें, और ऑथॉरिटेटिव नोड्स को एटॉमिक रूप से स्विच करें। SOA सीरियल बढ़ाएं; NOTIFY IXFR को ट्रिगर करता है, जिसमें AXFR फ़ॉलबैक के रूप में होता है। प्रत्येक रिलीज़ में स्थिति, ऑडिट साक्ष्य और एक रोलबैक पॉइंटर होता है। DNSSEC, टेनेंट ऑथराइज़ेशन और प्रोपेगेशन मॉनिटरिंग रिलीज़ गेट हैं।
चरण-दर-चरण गहन विश्लेषण
1. प्लेन्स को अलग करें
कंट्रोल प्लेन टेनेंट्स, ज़ोन, रिकॉर्ड और वर्ज़न को संग्रहीत करता है। सर्विंग प्लेन केवल प्रकाशित वर्ज़न से उत्तर देता है। रिकर्सिव रिज़ॉल्वर्स राइट पाथ से बाहर होते हैं, और TTL दृश्यता में देरी उत्पन्न करता है। एक वर्ज़न में कैनोनिकल ज़ोन डेटा, SOA सीरियल, चेकसम, साइनिंग स्थिति और लक्ष्य शामिल होते हैं।
2. राइट्स और सत्यापन को डिज़ाइन करें
एक उम्मीदवार ट्रांज़ैक्शन लिखें और नामों, TTL, प्रकार की बाधाओं, CNAME विवादों, डेलिगेशन सीमाओं और टेनेंट कोटा को मान्य करें। बैच परिवर्तनों में एक इडेम्पोटेंसी आईडी और आशावादी (optimistic) वर्ज़न होता है। एक विफल सत्यापन कभी भी प्रकाशित करने योग्य वर्ज़न नहीं बनाता है।
3. एटॉमिक रूप से जनरेट और पब्लिश करें
ज़ोन संरचना जनरेट करें और सिंटैक्स, डेलिगेशन, साइकिल और DNSSEC जांच चलाएं। मान्य कंटेंट-एड्रेस्ड ऑब्जेक्ट और चेकसम को स्टोर करें। नोड्स एटॉमिक रूप से एक वर्ज़न पॉइंटर को स्विच करते हैं, जिससे पुराने और नए उत्तरों का मिश्रण नहीं होता है।
4. प्रोपेगेशन और पिछड़ रहे नोड्स
प्राइमरी सीरियल को बढ़ाता है और NOTIFY भेजता है। सेकेंडरी IXFR का अनुरोध करते हैं, और जब डेल्टा चेन अनुपलब्ध होती है या सत्यापन विफल हो जाता है तो AXFR पर फ़ॉलबैक करते हैं। नोड्स सीरियल, चेकसम और साइनिंग स्थिति की रिपोर्ट करते हैं। पिछड़ रहे नोड को ड्रेन किया जाता है या वह एक मान्य पुराने वर्ज़न से सेवा प्रदान करता है; उसे कभी भी चुपचाप खाली ज़ोन की सेवा नहीं देनी चाहिए।
5. TTL, नेगेटिव कैशिंग और रोलबैक
TTL रिकर्सिव कैशिंग को नियंत्रित करता है, और NXDOMAIN प्रतिक्रियाएं नेगेटिव रूप से कैश की जाती हैं। TTL बदलने से पहले नया लक्ष्य तैयार करें; ऑथॉरिटेटिव रिकॉर्ड को हटाने से बाहरी कैश तुरंत साफ़ नहीं होते हैं। पुराने सीरियल का पुन: उपयोग करने के बजाय उच्च सीरियल वाले मान्य पुराने वर्ज़न पर रोलबैक करें।
6. सुरक्षा और टेनेंट आइसोलेशन
ज़ोन-स्कोप्ड RBAC, अप्रूवल और दोहरे नियंत्रण का उपयोग करें। आंतरिक अपडेट API को प्रमाणित करें और रीप्ले को रोकें। DNSSEC कीज़ को KMS या HSM में रखें और साइनिंग विफल होने पर रिलीज़ को ब्लॉक करें। टेनेंट के सीक्रेट्स को संग्रहीत किए बिना कर्ता (actor), अनुरोध, वर्ज़न, सीरियल और परिणाम का ऑडिट करें।
7. ऑब्ज़र्वेबिलिटी और ड्रिल्स
पब्लिश लेटेंसी, सीरियल स्क्यू, IXFR/AXFR अनुपात, साइनिंग विफलताएं, SERVFAIL, NXDOMAIN परिवर्तन, क्वेरी सफलता और क्षेत्रीय वितरण की निगरानी करें। प्राइमरी विफलता, पार्टीशन, छूटे हुए डेल्टा इतिहास, खराब ज़ोन, की रोटेशन और रोलबैक का अभ्यास करें, जबकि यह साबित करें कि पुराना मान्य वर्ज़न उपलब्ध रहता है।
उच्च गुणवत्ता वाला नमूना उत्तर
मैं कंट्रोल प्लेन में टेनेंट-आइसोलेटेड इम्यूटिएबल ज़ोन वर्ज़न रखूंगा और ऑथॉरिटेटिव नोड्स को एक मान्य वर्ज़न से सेवा देने दूंगा। इडेम्पोटेंट बैच अनुरोधों और आशावादी वर्ज़न के साथ नामों, TTL, CNAME विवादों, डेलिगेशन और कोटा को मान्य करें। एक कैनोनिकल ज़ोन जनरेट करें, सिंटैक्स, DNSSEC और चेकसम सत्यापित करें, फिर एटॉमिक रूप से पॉइंटर स्विच करें।
प्राइमरी सीरियल बढ़ाता है और NOTIFY भेजता है; सेकेंडरी IXFR को प्राथमिकता देते हैं और AXFR पर फ़ॉलबैक करते हैं। नोड्स सीरियल, चेकसम और साइनिंग स्थिति की रिपोर्ट करते हैं। TTL और नेगेटिव कैशिंग बाहरी दृश्यता निर्धारित करते हैं, जबकि रोलबैक नए सीरियल का उपयोग करता है। RBAC, अप्रूवल, KMS/HSM, ऑडिट, SERVFAIL और सीरियल-स्क्यू मॉनिटरिंग, और पार्टीशन व की-रोटेशन ड्रिल्स रिलीज़ गेट हैं।
सामान्य गलतियां
- रिकर्सिव-कैश की देरी को कंट्रोल-प्लेन की विफलता मानना।
- शेयर्ड ज़ोन फ़ाइल को सीधे संपादित करना और आंशिक राइट की सेवा देना।
- यह मान लेना कि NOTIFY का अर्थ है कि प्रोपेगेशन पूरा हो गया है।
- IXFR विफल होने के बाद खाली ज़ोन की सेवा देना।
- रोलबैक के दौरान पुराने SOA सीरियल का पुन: उपयोग करना।
- टेनेंट्स को DNSSEC प्राइवेट कीज़ तक सीधी पहुंच देना।
- NXDOMAIN और SERVFAIL मॉनिटरिंग को छोड़ देना।
फ़ॉलो-अप प्रश्न और उत्तर
फ़ॉलो-अप 1: SOA सीरियल क्यों बढ़ना चाहिए?
नोड्स और कैश नवीनता (freshness) निर्धारित करने के लिए सीरियल्स की तुलना करते हैं। रोलबैक को भी एक उच्च सीरियल की आवश्यकता होती है ताकि इसे पुराने वर्ज़न के रूप में गलत न समझा जाए।
फ़ॉलो-अप 2: क्या होगा यदि IXFR डेल्टा नहीं ढूंढ पाता है?
AXFR का अनुरोध करें। यदि ट्रांसफर विफल हो जाता है, तो मान्य वर्ज़न को बनाए रखें और अलर्ट करें; कभी भी खाली ज़ोन की सेवा न दें।
फ़ॉलो-अप 3: आप काफी पीछे चल रहे नोड के साथ क्या करते हैं?
सीरियल और चेकसम की तुलना करें, इसे ड्रेन करें या इसे एक मान्य पुराने वर्ज़न पर रखें, फिर AXFR और नमूना क्वेरीज़ के साथ इसे अप-टू-डेट करें।
फ़ॉलो-अप 4: क्या DNSSEC साइनिंग विफल होने के बाद अहस्ताक्षरित डेटा प्रकाशित किया जा सकता है?
यदि ज़ोन अनुबंध में हस्ताक्षर की आवश्यकता है, तो पब्लिकेशन को ब्लॉक करें और की या चेन की मरम्मत करें। चुपचाप डाउनग्रेड न करें।