DNS डोमेन के शीर्ष पर NS रिकॉर्ड की क्या भूमिका है?


21
$ORIGIN example.com. ; not necessary, using this to self-document

$TTL 3600
@        IN     SOA   ns1.example.com. admin.example.com. (
                      1970010100 7200 1800 1209600 300)

@        IN     NS   ns1.example.com.
@        IN     NS   ns2.example.com.

@        IN     A    198.51.100.1
ns1      IN     A    198.51.100.2
ns2      IN     A    198.51.100.3

sub1     IN     NS   ns1.example.edu.

sub2     IN     NS   ns1.sub2
ns1.sub2 IN     A    203.0.113.1 ; inline glue record

एक डोमेन के शीर्ष के नीचे एक NS रिकॉर्ड की भूमिका को अच्छी तरह से समझा जाता है; वे एक उप-नाम के लिए प्राधिकृत करने के लिए एक अन्य नेमसर्वर को सौंपते हैं। इसके ऊपर के उदाहरणों में sub1और के लिए NS रिकॉर्ड शामिल होंगे sub2। ये नेमसेवर को डोमेन के कुछ हिस्सों के लिए रेफरल सौंपने की अनुमति देते हैं जो इसे स्वयं के लिए आधिकारिक नहीं मानता है।

एक डोमेन के शीर्ष पर NS रिकॉर्ड का उद्देश्य, ns1और ns2इस मामले में, बड़े पैमाने पर इंटरनेट द्वारा कम समझा जाता है। मेरी समझ (जो समग्र नहीं हो सकती) इस प्रकार है:

  1. डोमेन के लिए आधिकारिक सर्वर को निर्धारित करने के लिए DNS सर्वरों को कैशिंग द्वारा उनका उपयोग नहीं किया जाता है। यह नेमसर्वर गोंद द्वारा नियंत्रित किया जाता है , जिसे रजिस्ट्रार स्तर पर परिभाषित किया गया है। कुलसचिव इस जानकारी का उपयोग गोंद रिकॉर्ड बनाने के लिए कभी नहीं करता है।
  2. वे पूरे डोमेन के लिए प्राधिकरण को अन्य नेमसर्वरों को सौंपने के लिए उपयोग नहीं किए जाते हैं । ISC BIND जैसे सॉफ़्टवेयर के साथ ऐसा करने की कोशिश करने से "अपेक्षित" रेफरल व्यवहार बिल्कुल नहीं होगा, क्योंकि ज़ोन के लिए नेमसर्वर खुद को आधिकारिक मानते रहेंगे।
  3. वे यह निर्धारित करने के लिए नाम-रूपक द्वारा उपयोग नहीं किए जाते हैं कि क्या इसे आधिकारिक प्रतिक्रियाएं ( AAध्वज सेट) लौटना चाहिए या नहीं; उस व्यवहार से परिभाषित होता है कि सॉफ्टवेयर को क्षेत्र के लिए एक मास्टर या दास बताया गया है या नहीं। अधिकांश नेमसर्वर सॉफ़्टवेयर अपस्ट्रीम गोंद रिकॉर्ड्स द्वारा निहित जानकारी से असहमत होने वाले शीर्ष एनएस रिकॉर्ड्स की खुशी से सेवा करेंगे, जो डोमेन के लिए चेतावनी उत्पन्न करने के लिए प्रसिद्ध DNS सत्यापन वेबसाइटों का कारण बनेंगे।

इस मामले के होने के साथ, हम क्या छोड़ रहे हैं? क्यों हम इस जानकारी को परिभाषित कर रहे हैं अगर यह बड़े पैमाने पर इंटरनेट पर DNS सर्वरों को कैच करने से नहीं लगता है?

जवाबों:


21

अधीनस्थ पहचान

एपेक्स स्तर एनएस रिकॉर्ड का उपयोग एक मास्टर सर्वर द्वारा अपने अधीनस्थों की पहचान करने के लिए किया जाता है। जब एक आधिकारिक नेमसर्वर पर डेटा बदलता है, तो वह उस सूची के सभी साथियों के लिए DNS NOTIFYसंदेशों ( RFC 1996 ) के माध्यम से इसका विज्ञापन करेगा । वे सर्वर बदले में SOAरिकॉर्ड के लिए एक अनुरोध (जिसमें सीरियल नंबर शामिल है) के साथ वापस कॉल करेंगे , और उस क्षेत्र की एक और हालिया प्रतिलिपि को नीचे खींचने के बारे में निर्णय लेंगे।

  • इन संदेशों को NSअनुभाग में सूचीबद्ध नहीं किए गए सर्वर पर भेजना संभव है , लेकिन इसके लिए सर्वर विशिष्ट कॉन्फ़िगरेशन निर्देशों (जैसे ISC BIND के also-notifyनिर्देश) की आवश्यकता होती है। एपेक्स NS रिकॉर्ड में डिफ़ॉल्ट कॉन्फ़िगरेशन के तहत सूचित करने के लिए सर्वर की मूल सूची शामिल है।
  • यह ध्यान देने योग्य है कि माध्यमिक सर्वर इन NSरिकॉर्ड्स के आधार पर एक-दूसरे को NOTIFY संदेश भी भेजेंगे , जिसके परिणामस्वरूप आमतौर पर लॉग इन रिफ्यूल्स होते हैं। यह सर्वरों को केवल उन क्षेत्रों के लिए सूचना भेजने के निर्देश द्वारा अक्षम किया जा सकता है जिनके लिए वे (BIND:) के स्वामी हैं notify master;, या NSकॉन्फ़िगरेशन में स्पष्ट रूप से परिभाषित नोटिफ़िकेशन के पक्ष में पूरी तरह से आधारित सूचनाओं को छोड़ने के लिए । (BIND: notify explicit;)

आधिकारिक परिभाषा

ऊपर दिए गए प्रश्न में एक गिरावट थी:

डोमेन के लिए आधिकारिक सर्वर को निर्धारित करने के लिए DNS सर्वरों को कैशिंग द्वारा उनका उपयोग नहीं किया जाता है। यह नेमसर्वर गोंद द्वारा नियंत्रित किया जाता है, जिसे रजिस्ट्रार स्तर पर परिभाषित किया गया है। कुलसचिव इस जानकारी का उपयोग गोंद रिकॉर्ड बनाने के लिए कभी नहीं करता है।

यह पहुंचने के लिए एक आसान निष्कर्ष है, लेकिन सटीक नहीं है। NSरिकॉर्ड और ग्लू रिकॉर्ड डेटा (जैसे अपने रजिस्ट्रार खाते में निर्धारित किया है कि के रूप में) आधिकारिक नहीं हैं। यह इस कारण से है कि उन सर्वरों पर डेटा से अधिक "आधिकारिक" नहीं माना जा सकता है जो प्राधिकरण को सौंपे जा रहे हैं। यह इस तथ्य पर बल देता है कि रेफरल में aa(आधिकारिक उत्तर) ध्वज सेट नहीं है।

उदाहरण देकर स्पष्ट करने के लिए:

$ dig @a.gtld-servers.net +norecurse +nocmd example.com. NS
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14021
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.                   IN      NS

;; AUTHORITY SECTION:
example.com.            172800  IN      NS      a.iana-servers.net.
example.com.            172800  IN      NS      b.iana-servers.net.

;; ADDITIONAL SECTION:
a.iana-servers.net.     172800  IN      A       199.43.135.53
a.iana-servers.net.     172800  IN      AAAA    2001:500:8f::53
b.iana-servers.net.     172800  IN      A       199.43.133.53
b.iana-servers.net.     172800  IN      AAAA    2001:500:8d::53

aaउपरोक्त उत्तर के लिए झंडे की कमी पर ध्यान दें । रेफरल स्वयं आधिकारिक नहीं है। दूसरी ओर, पर सर्वर से किया जा रहा डेटा भेजा है आधिकारिक।

$ dig @a.iana-servers.net +norecurse +nocmd example.com. NS
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2349
;; flags: qr aa; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.                   IN      NS

;; ANSWER SECTION:
example.com.            86400   IN      NS      a.iana-servers.net.
example.com.            86400   IN      NS      b.iana-servers.net.

उस ने कहा, यह संबंध बहुत ही भ्रमित कर सकता है क्योंकि रेफरल के मूल पक्ष में परिभाषित NSगैर-आधिकारिक NSरिकॉर्ड के बिना इन रिकॉर्ड के आधिकारिक संस्करणों के बारे में सीखना संभव नहीं है । अगर वे असहमत हैं तो क्या होगा?

  • संक्षिप्त उत्तर "असंगत व्यवहार" है।
  • विस्तृत उत्तर नेमसर्वर एक खाली कैश पर रेफरल (और गोंद) के बंद शुरू में ठूंठ सब कुछ, लेकिन उन में करता है NS, Aऔर AAAAरिकॉर्ड अंत में बदले जा सकते हैं, जब वे ताजा कर रहे हैं। ये अस्थाई रिकॉर्ड समाप्त होने पर TTL के रूप में होते हैं, या जब कोई व्यक्ति स्पष्ट रूप से उन अभिलेखों के उत्तर का अनुरोध करता है।
    • Aऔर AAAAज़ोन डेटा के बाहर रिकॉर्ड (यानी ज़ोन के comबाहर डेटा के लिए ग्लू को परिभाषित करने वाले नेमवेर्स com, जैसे example.net) निश्चित रूप से ताज़ा हो जाएंगे, क्योंकि यह एक अच्छी तरह से समझी जाने वाली अवधारणा है कि एक सूचनाकर्ता को ऐसी जानकारी का आधिकारिक स्रोत नहीं माना जाना चाहिए । (RFC 2181)
    • जब NSरेफ़रल के माता-पिता और बच्चे के पक्षों के बीच रिकॉर्ड के मान अलग-अलग होते हैं (जैसे कि नेमवेर्स रजिस्ट्रार कंट्रोल पैनल में दर्ज किए गए NSरिकॉर्ड से अलग होते हैं जो उन्हीं सर्वरों पर रहते हैं), अनुभव किए गए व्यवहार असंगत, अप करने के लिए और बच्चे सहित NSअभिलेखों को पूरी तरह से नजरअंदाज किया जा रहा है। इसका कारण यह है कि व्यवहार मानकों द्वारा अच्छी तरह से परिभाषित नहीं किया गया है, और कार्यान्वयन विभिन्न पुनरावर्ती सर्वर कार्यान्वयन के बीच भिन्न होता है। दूसरे शब्दों में, पूरे इंटरनेट पर लगातार व्यवहार की उम्मीद तभी की जा सकती है जब किसी डोमेन के लिए नेमवेरर्स परिभाषाएँ एक रेफरल के माता-पिता और बच्चे के बीच संगत हों

इसका लंबा और छोटा यह है कि पूरे इंटरनेट पर पुनरावर्ती DNS सर्वर गंतव्यों के बीच वापस आ जाएंगे यदि रेफरल के मूल पक्ष पर परिभाषित रिकॉर्ड उन रिकॉर्डों के आधिकारिक संस्करणों से सहमत नहीं हैं। प्रारंभ में रेफरल में मौजूद डेटा को केवल आधिकारिक परिभाषाओं द्वारा प्रतिस्थापित किया जाना पसंद किया जाएगा। चूंकि कैश को लगातार पूरे इंटरनेट पर खरोंच से बनाया जा रहा है, इसलिए इंटरनेट के लिए इस कॉन्फ़िगरेशन के साथ वास्तविकता के एकल संस्करण पर समझौता करना असंभव है। यदि आधिकारिक रिकॉर्ड मानकों के अनुसार कुछ गैरकानूनी कर रहे हैं, जैसे कि NSएएएल द्वारा परिभाषित उपनामों की ओर इशारा करते हुएCNAME, यह समस्या निवारण के लिए और भी कठिन हो जाता है; डोमेन कार्यशील और सॉफ़्टवेयर के लिए वैकल्पिक होगा जो उल्लंघन को अस्वीकार करता है। (यानी ISC BIND / नामित)

RFC 2181 .45.4.1 इस डेटा की विश्वसनीयता के लिए एक रैंकिंग तालिका प्रदान करता है, और यह स्पष्ट करता है कि रेफरल और गोंद से जुड़े कैश डेटा को उन रिकॉर्ड्स के लिए एक स्पष्ट अनुरोध के जवाब के रूप में वापस नहीं किया जा सकता है।

5.4.1. Ranking data

   When considering whether to accept an RRSet in a reply, or retain an
   RRSet already in its cache instead, a server should consider the
   relative likely trustworthiness of the various data.  An
   authoritative answer from a reply should replace cached data that had
   been obtained from additional information in an earlier reply.
   However additional information from a reply will be ignored if the
   cache contains data from an authoritative answer or a zone file.

   The accuracy of data available is assumed from its source.
   Trustworthiness shall be, in order from most to least:

     + Data from a primary zone file, other than glue data,
     + Data from a zone transfer, other than glue,
     + The authoritative data included in the answer section of an
       authoritative reply.
     + Data from the authority section of an authoritative answer,
     + Glue from a primary zone, or glue from a zone transfer,
     + Data from the answer section of a non-authoritative answer, and
       non-authoritative data from the answer section of authoritative
       answers,
     + Additional information from an authoritative answer,
       Data from the authority section of a non-authoritative answer,
       Additional information from non-authoritative answers.

   <snip>

   Unauthenticated RRs received and cached from the least trustworthy of
   those groupings, that is data from the additional data section, and
   data from the authority section of a non-authoritative answer, should
   not be cached in such a way that they would ever be returned as
   answers to a received query.  They may be returned as additional
   information where appropriate.  Ignoring this would allow the
   trustworthiness of relatively untrustworthy data to be increased
   without cause or excuse.

अच्छी तरह से लिखित जवाब! मैं आपके उत्तर के "लंबे और छोटे" से सहमत नहीं हूं। इंटरनेट पर डीएनएस का प्राथमिक उपयोग मेजबान आईपी प्राप्त करने के बारे में है, इस प्रकार "ए" अनुरोध। DNS रिसॉल्वर हमेशा एक आधिकारिक "ए" प्रतिक्रिया प्राप्त करने के लिए रेफरल को स्वीकार करेगा और प्रतिस्थापित करेगा। और वह हमेशा रेफरल रिकॉर्ड को "कैश" करेगा। केवल रिकॉर्ड को प्रतिस्थापित किया जाएगा, जब एक स्पष्ट अनुरोध "उदाहरण के लिए NS" में आता है। तब रिसॉल्वर रेफरल स्थान पर सर्वर से पूछेगा। और वह AR प्रतिक्रिया कैश्ड रेफरल प्रतिक्रिया (केवल उस रिकॉर्ड के TTL के लिए) को बदल देगी।
व्यर्थ_ कोडर

मैं @BillThor द्वारा उत्तर के अनुसार गलत हो सकता है। मैंने इस तथ्य पर अपना तर्क दिया कि यदि DNS सर्वर रीफ़्रेश होता है तो यह NS (उदाहरण के लिए) आधिकारिक NS प्रतिक्रिया से example.com के लिए कैश्ड प्रविष्टि है। यह DNS श्रृंखला को तोड़ देगा। क्योंकि यह अब एक लूप में फंस गया है, जबकि (पुराना) NS सर्वर उत्तर देता रहता है, यह उपरोक्त शीर्ष DNS सर्वर (रजिस्ट्रार) पर परिवर्तनों को ध्यान में नहीं रखेगा। जैसे मामले में आप डीएनएस सर्वर को स्थानांतरित करते हैं लेकिन अपडेट नहीं करते हैं या पुराने डीएनएस सर्वर को ऑफ़लाइन लेते हैं। या यह "समस्या" आज पूरी तरह से मामला है?
व्यर्थ_ कोडर

@ बर्बादी इसी तरह की कई मान्यताओं के कारण आपकी पहली टिप्पणी से असहमत है। चूंकि व्यवहार मानकों द्वारा स्पष्ट रूप से निर्धारित नहीं किया गया है, यह वास्तव में कार्यान्वयन विशिष्ट है। यह प्रस्तुति 6 साल पुरानी है (स्लाइड # 11 पर शुरू), लेकिन अभी भी बिंदु पार हो जाता है; माता-पिता बनाम बच्चे के नामकरण की प्राथमिकता अलग-अलग होगी। इसके अलावा, आप केवल RFC 2181 आवश्यकताओं पर भरोसा कर सकते हैं।
एंड्रयू बी

मुझे लगता है कि मेरी चिंता का विषय आसपास है अगर एक रिज़ॉल्वर की एनएस कैश्ड प्रविष्टियां TTL = 0 पर पहुंचें उदाहरण के लिए कहें। और यह एक नया होस्ट प्रविष्टि देखने की आवश्यकता है, जिसे अभी तक कैश नहीं किया गया है, new.example.com के लिए कहें। अब example.com के लिए NS सर्वर की जरूरत है और चूँकि इसकी कॉपी की गई समय सीमा समाप्त हो चुकी है, इसलिए अभी भी उस "समाप्त" NS सर्वर को हिट करने की कोशिश करना बुरा होगा, यह देखने के लिए कि क्या यह अभी भी जवाब देता है। यह अगले पूर्वज के साथ जाँच करेगा, इस प्रकार .com की NS दिशा के लिए। इसका मतलब है कि पूर्वजों के एनएस रिकॉर्ड अधिकांश समय (जब तक कि एनएस का अनुरोध संसाधित नहीं हो जाता है) प्रबल हो जाएगा।
व्यर्थ_ कोडर

@ स्लाइड की शुरुआत # 11 से करें और तीन पैटर्न पर ध्यान दें: चाइल्ड सेंट्रिक नॉन-स्टिकी ( PPPCCCPPPCCC...), चाइल्ड सेंट्रिक स्टिकी ( PPPCCCCCC...) और पैरेंट स्टिकी ( PPPPPP...)। चाइल्ड सेंट्रिक नॉन-स्टिकी अब तक सबसे आम है, और चाइल्ड सेंट्रिक स्टिकी वास्तव में पेरेंट स्टिकी से ज्यादा प्रचलित है। ग्राहक वास्तव में दो संस्करणों के बीच आगे और पीछे उछलेंगे यदि बच्चे और माता-पिता पर एनएस डेटा समझौते में नहीं हैं, जब तक कि रिज़ॉल्वर सॉफ़्टवेयर माता-पिता चिपचिपा नहीं है, जो कि कम से कम संभावना है।
एंड्रयू बी

3

NS प्रत्यायोजित ज़ोन रिकॉर्ड करता है जो डोमेन परिभाषा की पूर्णता प्रदान करता है। एनएस सर्वर स्वयं ज़ोन फ़ाइल पर निर्भर करेगा। उन्हें रूट सर्वर से एक पुनरावर्ती क्वेरी करके खुद को खोजने की कोशिश करने की उम्मीद नहीं है। ज़ोन फ़ाइल में NS रिकॉर्ड कई अन्य फ़ंक्शन प्रदान करता है ..

कैशिंग सर्वर अपने कैश से नाम सर्वर की क्वेरी करके नाम सर्वर सूची को ताज़ा कर सकते हैं। जब तक एक कैशिंग सर्वर को एक नाम सर्वर के पते का पता चलता है, तब तक वह इसका उपयोग एनएससी रिकॉर्ड को फिर से देखने के बजाय करेगा।

नाम सर्वरों को स्थानांतरित करते समय, पुराने नाम सर्वरों के साथ-साथ नए नाम सर्वरों को अपडेट करना महत्वपूर्ण है। यह आउटेज या विसंगतियों को रोक देगा, जिसके परिणामस्वरूप दो ज़ोन परिभाषाएँ सिंक से बाहर हो जाएंगी। अपडेट किए गए रिकॉर्ड को अंततः उन सभी सर्वरों द्वारा रीफ्रेश किया जाएगा जिन्होंने एनएस रिकॉर्ड्स को कैश किया है। यह नाम सर्वर की कैश्ड सूची को बदल देगा।

NS रिकॉर्ड DNS कॉन्फ़िगरेशन की शुद्धता की पुष्टि करने में भी सहायता करते हैं। सत्यापन सॉफ्टवेयर अक्सर यह सत्यापित करेगा कि ज़ोन द्वारा प्रदान की गई उन प्रतिनिधि डेलिगेशन ज़ोन की सर्वर नाम परिभाषाएँ मेल खाती हैं। यह जाँच सभी नाम सर्वरों पर की जा सकती है। कोई भी बेमेल गलत धारणा का संकेत दे सकता है।

NS रिकॉर्ड होने से डिस्कनेक्ट किए गए (स्थानीय) क्षेत्र के लिए अनुमति मिलती है। ये एक पंजीकृत डोमेन, या एक पूरी तरह से नया डोमेन (TLD परिवर्तनों के कारण अनुशंसित नहीं) के उप-डोमेन हो सकते हैं। होस्ट जो अपने नाम सर्वर के रूप में नाम सर्वर का उपयोग करते हैं, वे उन रूटों को खोजने में सक्षम होंगे जो रूट सर्वरों से हटकर उपलब्ध नहीं हैं। स्थानीय ज़ोन के लिए नाम सर्वर को देखने के लिए अन्य नाम सर्वर कॉन्फ़िगर किए जा सकते हैं।

विभाजित DNS (आंतरिक / बाहरी) के मामले में, DNS सर्वर का एक अलग सेट होना वांछित हो सकता है। इस मामले में एनएस सूची (और संभावित रूप से अन्य डेटा) अलग होगी, और जोन फ़ाइलों में एनएस रिकॉर्ड उपयुक्त नाम सर्वर सूची को सूचीबद्ध करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.