वाइल्डकार्ड डीएनएस बायंड के साथ


14

मैं BIND को सेटअप करने का प्रयास कर रहा हूं ताकि यह किसी भी और इसके लिए किए गए सभी अनुरोधों को पकड़ ले, और उन्हें एनएस सर्वर के एक विशिष्ट सेट और एक विशिष्ट ए रिकॉर्ड के लिए इंगित करता है।

मेरे पास लगभग 500 डोमेन हैं, और मैं प्रतिदिन 10-15 की दर से नए जोड़ रहा हूं, इसलिए मैं प्रत्येक डोमेन के लिए एक क्षेत्र को स्पष्ट रूप से जोड़ना नहीं चाहता।

मेरा वर्तमान सेटअप है: मेरे name.conf में, मेरे पास इसमें निम्न ज़ोन के साथ एक दृश्य (बाहरी नाम दिया गया है) है:

zone "." {
        type master;
        file "ext.zone";
};

यह सभी अनुरोधों से मेल खाता है।

ext.zone है:

$ TTL 3600
@ SOA में। root.nsdomain.com। (
                              1; धारावाहिक
                         3600; ताज़ा करना
                          300; पुन: प्रयास करें
                         3600; समय सीमा समाप्त
                         300); नकारात्मक कैश टीटीएल


        NS ns1.example.com में
        NS ns2.example.com में

ns1 IN 192.0.2.4
ns2 IN 192.0.2.5

*। 192.0.2.6 में

हां, तो लक्ष्य है: सभी एन एस अनुरोध, वापसी के लिए ns1.example.comऔर ns2.example.com सब एक अनुरोध के लिए, सिवाय इसके कि वह कहाँ है ns1.example.comया ns2.example.com, वापसी 192.0.2.6। के लिए ns1.example.comवापसी 192.0.2.4, के लिए ns2.example.comवापसी 192.0.2.5

यह लगभग काम करता है, एकमात्र समस्या यह है कि जब मैं खुदाई करता हूं, तो मुझे मिलता है:

खुदाई @localhost somedomain.example

; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example
; (1 सर्वर मिला)
;; वैश्विक विकल्प: Printcmd
;; जवाब मिला:
;; opcode: QUERY, स्थिति: NOERROR, id: 37733
;; झंडे: qr आ rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, सहायक: 2

;; सवाल खंड:
; Somedomain.example। में

;; उत्तर अनुभाग:
somedomain.example। 3600 IN 192.0.2.6 // जैसा कि अपेक्षित था

;; AUTHORITY सेक्शन:
। NS ns1.example.com में 3600। // उम्मीद है, मैं नहीं जानता कि अगर "।" शुरुआत में खराब है, हालांकि।
। NS ns2.example.com में 3600। // ऊपर देखो।

;; अतिरिक्त अनुभाग:
ns1.example.com। 3600 IN A 192.0.2.6 // अपेक्षित नहीं, यह 192.0.2.4 होना चाहिए
ns2.example.com। 3600 IN A 192.0.2.6 // अपेक्षित नहीं, यह 192.0.2.5 होना चाहिए

मैं यह कैसे तय करुं? क्या मैं कुछ भयानक कर रहा हूँ? क्या ऐसा करने के लिए इससे अच्छा तरीका है?

जवाबों:


12

ज़ोन के लिए आपका मूल .आपके कॉन्फ़िगरेशन के अनुसार है। आप रिकॉर्ड के लिए पैदा कर रहे ns1.हैं और ns2.के बजाय ns1.example.com.और ns2.example.com. के बाद से ns1.example.comऔर ns2.example.comपरिभाषित नहीं कर रहे हैं, वे वाइल्डकार्ड से मिलान कर रहे हैं।

संपादित करें: यहाँ आपके कॉन्फिग और ज़ोन का संपादन है:

zone "example.com." {
        type master;
        file "ext.zone";
};

ext.zone:

$TTL    3600
@       IN      SOA     ns1 root (
                              1         ; Serial
                         3600         ; Refresh
                          300         ; Retry
                         3600         ; Expire
                         300 )        ; Negative Cache TTL


        IN      NS      ns1
        IN      NS      ns2
        IN      A       192.0.2.6


ns1     IN      A       192.0.2.4
ns2     IN      A       192.0.2.5

*      IN      A       192.0.2.6

ज़ोन में सब कुछ नामित कॉन्फ़िगरेशन में ज़ोन के नाम के सापेक्ष है, इसलिए एक दूसरे ज़ोन को जोड़ने के लिए एक ही फ़ाइल को इंगित करता है:

zone "example.net." {
    type master;
    file "ext.zone";
};

मैंने आरआर में पूर्ण डोमेन को निर्दिष्ट करने का प्रयास करने का निर्णय लिया, इसलिए मैंने बदल दिया: ns1 IN A 1.2.3.4 से ns1.nsdomain.com। 1.2.3.4 में, यह काम नहीं किया। अब मेरे सभी अनुरोध NS / A के बजाय SOA लौटाते हैं।
जॉन वू

क्या आप नए ज़ोन को अपडेट या जोड़ सकते हैं?
कैकेमोक्स

मैंने nsdomain.com के लिए एक नया क्षेत्र जोड़ा, और पुराने को छोड़ दिया "।" ज़ोन अकेला। nsdomain.com ज़ोन में, मैंने आपका ext.zone (नाम बदलकर nsdomain.zone) जोड़ दिया है। अब किसी भी डोमेन के लिए अनुरोध nsdomain.com को छोड़कर काम करते हैं जैसे वे करने वाले हैं, वे सही IPs (1.2.3.4/1.23.5) के साथ ns1.nsdomain.com/ns2.nsdomain.com लौटाते हैं। लेकिन, nsdomain.com के लिए कोई भी अनुरोध स्वयं SOA और कोई मान्य प्रतिक्रिया नहीं लौटाता है :( बंद करें!
जॉन वू

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

धन्यवाद, वह काम करता है! आप इस क्षेत्र में दो बार A क्यों निर्दिष्ट करते हैं, लेकिन "वाइल्डकार्ड" ज़ोन (ज़ोन "", मेरे मूल ext.zone) में नहीं? इस सामान पर पढ़ने के लिए कोई अच्छा लिंक मिला? एक बार फिर धन्यवाद!
जॉन वू

1

bindआप में एक उपडोमेन वाइल्डकार्ड सेट करने के लिए निम्नलिखित प्रारूप का उपयोग करना चाहिए:

name.tld.   IN  A   IP    # main domain ip
*.name.tld. IN  A   IP    # wildcard subdomains ip

उदाहरण:

mydomain.com.   IN  A   1.1.1.1
*.mydomain.com. IN  A   1.1.1.1 

0

आपके विन्यास के आधार पर ns1.example.comहै 192.0.2.4और ns2.example.comहै 192.0.2.5। आपको example.comउचित IP प्राप्त करने के लिए क्षेत्र में NS सर्वर नाम रिज़ॉल्यूशन को कॉन्फ़िगर करना होगा ।

मुझे उम्मीद है कि मैं खुद को स्पष्ट कर पाऊंगा। यदि आपको अधिक जानकारी की आवश्यकता है तो मेरे पास वापस आएँ।


तो मुझे nsdomain.com के लिए एक और ज़ोन जोड़ना चाहिए, और nsdomain.com के लिए NS / A सेट करना चाहिए?
जॉन वू

तो अगर आपके पास somedomain.com और nsdomain.com जैसे 2 ज़ोन हैं, तो आपको nsdomain संबंधित जानकारी को उचित ज़ोन में सेट करना होगा। संक्षिप्त उत्तर हां है, आपको एक और क्षेत्र सेट करना होगा।
इस्तवान

-5

DNS वाइल्डकार्ड परेशानी का कारण बन सकते हैं!

इसलिए मैं प्रत्येक डोमेन के लिए एक क्षेत्र को स्पष्ट रूप से जोड़ना नहीं चाहता।

जाने के लिए बहुत सारे तरीके हैं - शेल-स्क्रिप्टिंग से SQL- आधारित DNS- सर्वर तक।


युपीडी। (2019-11) : जैसा कि मैंने 8 साल पहले कहा था , शेल-स्क्रिप्टिंग एक रास्ता है और इसे स्वीकार किए गए उत्तर के प्रस्तावित समाधान "जोन प्रविष्टि" के साथ साबित किया गया है - स्पष्ट रूप से वाइल्डकार्ड के उपयोग पर आधारित नहीं है । ;-)

2019 में डीएनएस वाइल्डकार्ड्स के डाउनसाइड्स की व्याख्या करने वाले संसाधनों को ढूंढना और भी आसान है, हालांकि उनमें से अधिकांश "इंटरनेट की भोर में" लिखे गए थे, फिर भी वे कुछ मूल्य रखते हैं। उदाहरण के लिए, RFC1912 में DNS वाइल्डकार्ड के उपयोग से संबंधित कुछ बातों का उल्लेख है। प्राथमिक मुद्दा स्पष्ट रूप से "के रूप में समझाया गया है ...

वाइल्डकार्ड एमएक्स खराब हो सकते हैं, क्योंकि वे कुछ ऑपरेशन को सफल बनाते हैं जब उन्हें इसके बजाय असफल होना चाहिए । ... "

हालांकि इसके कुछ वास्तविक जीवन उदाहरण थोड़े पुराने जमाने के हैं।


डीएनएस वाइल्डकार्ड बुराई क्यों होगी? यह बिलकुल भी बुराई नहीं है ....
इस्तवान


@poige 1) वह URL अब और हल नहीं करता है, 2) आप अपने उत्तर के समय 8 साल पुराना एक दस्तावेज उद्धृत करते हैं, अब माना जाता है कि यह 16 साल पुराना है, जो इंटरनेट पर अनंत काल की तरह है, और 3) web.archive.org पर इसका स्नैपशॉट है। /web/20030922093331/https://www.iab.org/… यह ज्यादातर "करने के लिए नीचे फोड़े" विशेष रूप से, हम अनुशंसा करते हैं कि DNS वाइल्डकार्ड को ज़ोन में उपयोग नहीं किया जाना चाहिए जब तक कि ज़ोन ऑपरेटर को जोखिमों की स्पष्ट समझ न हो, और उन्हें उन संस्थाओं की सूचित सहमति के बिना इस्तेमाल नहीं किया जाना चाहिए जिन्हें ज़ोन के नीचे सौंप दिया गया है। "
पैट्रिक मेव्ज़ेक

मैंने इसे 8. + साल पहले लिखा था फिर भी आप पढ़ रहे हैं और उत्तर दे रहे हैं। :)
3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.