DNS, क्या रिकॉर्ड वाइल्डकार्ड्स में अधिक विशिष्ट CNAMEs की प्राथमिकता है?


18

हमारे पास "example.com" के लिए सभी सबडोमेन को संभालने के लिए एक वाइल्डकार्ड है।

A RECORD: * .example.com अंक 10.10.10.10 पर

हमारे पास एक विशेष उपडोमेन को संभालने के लिए एक अधिक विशिष्ट ए रिकॉर्ड है (यह ठीक काम करता है):

A रिकॉर्ड: staging.example.com अंक 10.10.10.9

समस्या यह है कि हम एक नए होस्टिंग माहौल में पलायन कर रहे हैं और हमें CNAME का उपयोग करने का निर्देश दिया गया है:

CNAME: new-staging.example.comxy.heroku.com को इंगित करता है

हमने सोचा कि यह काम करेगा। हालाँकि, new-staging.example.com शीर्ष-स्तरीय वाइल्डकार्ड 10.10.10.10 पर हल होता है और प्रॉक्सी.heroku.com को इंगित नहीं करता है।

मुझे किसकी याद आ रही है? क्या यह संभव नहीं है? या यह बुरा अभ्यास है? धन्यवाद,


1
क्या आप इसे ISP के वेब इंटरफ़ेस के माध्यम से सेट कर रहे हैं या आप उदाहरण के लिए BIND या djbdns चला रहे हैं?
जोनाथन रॉस

जब आप कहते हैं "शीर्ष स्तर के वाइल्डकार्ड का समाधान करता है", तो आप यह संकल्प कैसे कर रहे हैं? dig -t ANY new-staging.example.com?
निकरिम

@ जोनाथन, हम वर्तमान में DNS को प्रबंधित करने के लिए स्लाइसहोस्ट का उपयोग कर रहे हैं, इसलिए यह वेब-इंटरफ़ेस के माध्यम से है।
zdennis

@nickgrim जब रनिंग -t किसी भी new-staging.example.com में हमें मिलती है: new-staging.example.com। 82880 में CNAMExy.heroku.com.example.com। proxy.heroku.com.example.com। 86400 में 10.10.10.10
zdennis

जवाबों:


15

उत्तर आम तौर पर "नहीं" है - अधिक विशिष्ट रिकॉर्ड को जीतना चाहिए, इसलिए यह आपके द्वारा वर्णित / उम्मीद के अनुसार काम करना चाहिए। मेरा अनुमान है कि आपके पास वाइल्डकार्ड ए रिकॉर्ड है जिसे कहीं कैश किया गया है, और उस कैश के समाप्त होने की प्रतीक्षा करने की आवश्यकता है।

9.6.2-P2 / FreeBSD 8.1 के साथ एक त्वरित परीक्षण:
एक क्षेत्र जिसमें रिकॉर्ड हैं:

example.net.                IN      A      127.0.0.2
*.test.example.net.         IN      A      127.0.0.1
specific.test.example.net.  IN      CNAME  example.net.

निम्नानुसार हल करता है:

% dig specific.test.example.net

; <<>> DiG 9.6.2-P2 <<>> specific.test.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17222
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;specific.test.example.net. IN  A

;; ANSWER SECTION:
specific.test.example.net. 3600 IN  CNAME   example.net.
example.net.               3600 IN  A   127.0.0.2

;; AUTHORITY SECTION:
example.net.        3600    IN  NS  ns1.example.net.

;; ADDITIONAL SECTION:
ns1.example.net.    3600    IN  A   127.0.0.1

(CNAME लौटाता है)
और

% dig nonspecific.test.example.net

; <<>> DiG 9.6.2-P2 <<>> nonspecific.test.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26980
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;nonspecific.test.example.net.  IN  A

;; ANSWER SECTION:
nonspecific.test.example.net. 3600 IN   A   127.0.0.1

;; AUTHORITY SECTION:
example.net.        3600    IN  NS  ns1.example.net.


;; ADDITIONAL SECTION:
ns1.example.net.    3600    IN  A   127.0.0.1

(वाइल्डकार्ड ए रिकॉर्ड लौटाता है)


क्या यह डीएनएस मानकों में है, या क्या यह कार्यान्वयन-विशिष्ट है?
Bigbio2002

@ Bigbio2002 मेरा मानना है कि यह मानक का हिस्सा है - RFC 4592 देखने के लिए प्रासंगिक स्थान है - मेरा दिमाग आरएफसी पढ़ने के लिए पूरे दिन प्रलेखन लिखने से थोड़ा अधिक खस्ता है, हालांकि अगर मैं गलत हूं तो कृपया मुझे प्रासंगिक अनुभाग के साथ थप्पड़ मारें :-)
voretaq7

7

सवाल पर आपकी टिप्पणी के अनुसार:

किसी भी नए-staging.example.com को खुदाई करते समय हमें मिलता है: new-staging.example.com। 82880 में CNAMExy.heroku.com.example.com। proxy.heroku.com.example.com। 86400 इन ए 10.10.10.10

... आपने डीएनएस को गलत समझा है। आपको CNAME का लक्ष्य निर्धारित करना होगा proxy.heroku.com.- अंतिम अवधि महत्वपूर्ण है! इसके बिना, आपका DNS सर्वर मान रहा है कि आप अपने example.comक्षेत्र के भीतर एक मेजबान की बात कर रहे हैं proxy.heroku.com.example.com- और उसे वाइल्डकार्ड-रिकॉर्ड द्वारा पकड़ा जा रहा है।


हम CNAME रिकॉर्ड को "xy.heroku.com "पर सेट कर चुके हैं। जब हम सीधे स्लाइसहोस्ट नाम के सर्वर को खोदते हैं (डाइजेस्ट @ ns1.slicehost.com) केवल उत्तर उपलब्ध कराता है, तो CNAME कोxy.heroku.com के लिए अंक दिए गए हैं। जब हम निर्दिष्ट किए बिना खुदाई करते हैं तो यह हमें दो उत्तर देता है (जिन्हें मैंने ऊपर पोस्ट किया है कि यहां आपका उत्तर प्रतिबिंबित करता है)। इससे मुझे लगता है कि शायद @ voretaq7 सही सोच सकता है कि कैश मुद्दा है? क्या खुदाई के दौरान मैं जो देख रहा हूं, क्या वह लाइन में है?
zdennis

हाँ, यह प्रतीत होता है कि DNS-कैश अपस्ट्रीम ने गलत (गैर-अवधि) संस्करण को कैश कर दिया है। आपको टीटीएल के समाप्त होने और / या इस बीच एक अलग नाम स्थापित करने के लिए इंतजार करना होगा new-new-staging
निकरिम

गुम बिंदी ने मुझे भी उलझा दिया है।
लोवबर्ग

0

मैं इस पोस्ट पर शोध कर रहा हूं कि यह एक साझा Plesk लिनक्स सर्वर कैसे किया जाता है। अपने उदाहरण में वे एक संयोजन DNS / vhost.conf समाधान का उल्लेख करते हैं जहाँ आपको दोनों vhost.conf को जोड़ना होगा और DNS को अद्यतन करना होगा।

Quote: "यह सबडोमेन सूची में अंतिम होना है, जो वर्णानुक्रम में दिया गया है, इसलिए इसका नाम" zz "शुरू करें। http://kb.parallels.com/2239

मेरा अनुमान है कि यह 'सामान्य' डीएनएस सिद्धांत से अलग है जिससे अधिक विशिष्ट रिकॉर्ड वापस आ जाएगा।

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