CNAMEs का उपयोग करने वाला DNS MX रिकॉर्ड तोड़ता है?


42

हम अपनी सभी वेबसाइटों को CNAMES में होस्ट करने की कोशिश कर रहे हैं, क्योंकि हम नए साल में बढ़ते सर्वर पर योजना बना रहे हैं और कुछ क्लाइंट को एक सर्वर और अन्य क्लाइंट को कहीं और ले जाने की क्षमता चाहते हैं। हम ग्राहकों को एक अनोखा CNAME देने की योजना बना रहे थे जिसे हम बाद की तारीख में बदल सकते हैं। (हमारे पास अब ऐसा करने के अन्य कारण हैं लेकिन यह मुख्य है)

हम अपने स्वयं के कुछ डोमेन के साथ इस सिद्धांत का परीक्षण कर रहे हैं और यह ठीक लग रहा था। हालाँकि जब मैं एक डोमेन पर एमएक्स रिकॉर्ड की जाँच कर रहा हूं तो एमएक्स रिकॉर्ड के बजाय सीएनएमई मूल्य वापस मिल गया।

अफसोस की बात है कि ये सभी डोमेन कंट्रोल पैनल के माध्यम से किए जाते हैं, लेकिन मुझे लगता है कि वे मेरे लिए सिर्फ जोन फाइल लिख रहे हैं।

मैं company.com के लिए 2 CNAME बनाना चाहता हूं

company.com. IN CNAME client.dns.ourserver.com
www          IN CNAME client.dns.ourserver.com

एमएक्स रिकॉर्ड कुछ इस तरह है:

company.com  IN MX 10 mail.company.com

हमारे पास mail.company.com के लिए A रिकॉर्ड है

करते हुए:

host -t mx company.com

Mx रिकॉर्ड के बजाय CNAME मान लौटाता है।

क्या यह अपेक्षित व्यवहार है?

मैंने 123-reg.co.uk कंट्रोल पैनल के साथ काम करने के लिए उपरोक्त कॉन्फ़िगरेशन प्राप्त करने में कामयाबी हासिल की है, लेकिन यह निश्चित नहीं है कि अगर यह किसी चीज से अधिक भाग्यशाली है।


यह एक सामान्य प्रश्न है और पहले भी कई बार पूछा जा चुका है। : एक उदाहरण के लिए यह लिंक देखें serverfault.com/questions/18000/...
रसेल Heilling

मैंने उत्तर की तलाश में थोड़ा समय व्यतीत किया लेकिन यह पता नहीं लगा सका कि क्या मैं कुछ अलग कर रहा हूं। विशेष रूप से क्योंकि यह एक डोमेन प्रदाता के साथ ठीक काम कर रहा है। मेरे पास मेरा जवाब है कि यह अच्छा है और उम्मीद है कि यह किसी के लिए कुछ काम का होगा।
जॉनसन

जवाबों:


54

यह एक सामान्य त्रुटि है। आप अपने रूट डोमेन (जैसे company.com) के लिए CNAME RR का उपयोग नहीं कर सकते हैं और उसी क्षेत्र के लिए अतिरिक्त संसाधन रिकॉर्ड परिभाषित कर सकते हैं।

देखें कि मैं रूट रिकॉर्ड के लिए CNAME रिकॉर्ड क्यों नहीं बना सकता? और RFC1034 खंड 3.6.2 विवरण के लिए:

यदि CNAME RR नोड पर मौजूद है, तो कोई अन्य डेटा मौजूद नहीं होना चाहिए; यह सुनिश्चित करता है कि एक विहित नाम और उसके उपनामों का डेटा अलग-अलग नहीं हो सकता है।


उपरोक्त को पुष्ट करने में RFC2181 धारा 10.1 भी प्रासंगिक है।
हाकन लिंडक्विस्ट

एपेक्स डोमेन के रूप में भी जाना जाता है
एलेक्स78191

5

RFC2181 खंड 10.3 कहता है कि आप अपने MX रिकॉर्ड को CNAME में नहीं बता सकते:

Mx संसाधन रिकॉर्ड के मान के रूप में उपयोग किया गया डोमेन नाम एक उपनाम नहीं होना चाहिए।


2
यह वास्तव में परिदृश्य नहीं है कि सवाल के बारे में है, हालांकि?
हाकन लिंडक्विस्ट

2

मैं सिर्फ हेरोकू में चला गया जो ए रिकॉर्ड्स के बजाय CNAME का उपयोग करता है और मुझे क्या करना था इसके बजाय my_domain.com के साथ CNAME बनाने के लिए, heroku की ओर इशारा करते हुए, मैंने CNAME को www.oku_domain.com के साथ उसकेोक्यू की ओर इशारा किया, इसलिए नंगे / रूट डोमेन अग्रेषित नहीं कर रहा था और मेरे एमएक्स रिकॉर्ड अभी भी काम करेंगे। फिर मैंने my_domain.com को www.my_domain.com पर पुनः निर्देशित करने के लिए एक सूचक जोड़ा। बड़ा काम लगता है। मेरे डोमेन नाम प्रदाता में पॉइंटर एक 'पॉइंटर्स' सेटिंग का उपयोग करके बनाया गया था जिसे मैंने 'मानक' 'URL' और 'www.my_domain.com' पर सेट किया था


ठोस कार्य! इसे साझा करने के लिए धन्यवाद!
दुहाई

0

मुझे एहसास हुआ है कि इन दोनों को पूरी तरह से अलग किया जा सकता है

mydomain.com. -  A Record  - 01.0.0.1
mydomain.com - CNAME - www.cname.eg.com

जब तक आप मेल सर्वर के रूप में अपने सर्वर का उपयोग नहीं कर रहे हैं, यह वास्तव में कुछ भी प्रभावित नहीं करेगा। मेल mydomain.com एमएक्स रिकॉर्ड के लिए दिखेगा। इसके प्रभावित होने पर ही इसका प्रभाव पड़ेगा

mydomain.com - MX - mail.mydomain.com

लेकिन अगर इसका ऐसा (मतलब आप एक अलग मेल सर्वर का उपयोग कर रहे हैं) तो यह प्रभावित नहीं होगा

mydomain.com - MX - mail.mycustommailserver.com

आप मेल सर्वर के लिए IP का उपयोग नहीं कर सकते।


-1

मैंने पाया है कि SOM DNS प्रदाताओं के साथ मिलकर कुछ MX प्रदाता वास्तव में एक नंगे CNAME के ​​साथ काम करेंगे, यदि आप केवल MX रिकॉर्ड को ऊपर नीचे रिकॉर्ड क्रम में CNAME को प्राप्त करते हैं।

यह Office 365 MX रिकॉर्ड के साथ Name.com रजिस्ट्रार पर काम कर रहा है और नंगे CNAME रिकॉर्ड HTTP को अभी तक किसी अन्य डोमेन को निर्देशित कर रहा है। MX प्रश्नों का परीक्षण करते समय मैंने देखा कि मेरा CNAME परिणाम मेरे DNS प्रविष्टियों क्रम के अनुसार पहले आया था, इसलिए मुझे लगा कि क्यों न पहले MX आदेश देने की कोशिश की जाए और देखें कि क्या MX प्रदाता संतुष्ट हैं। मेरे आश्चर्य के लिए Office 365 MX सत्यापन तब पारित हुआ और मैं इनबाउंड और आउटबाउंड ईमेल की पुष्टि कर सकता हूं कि वास्तव में बह रहा है। और कई वेब क्लाइंट के परीक्षण के बाद, HTTP भी वास्तव में निर्दिष्ट CNAME गंतव्य होस्ट के लिए वांछनीय रूप से हल करता है।

कैविट एमप्टर - यह स्पष्ट रूप से मानक के खिलाफ जा रहा है और इसलिए शायद कुछ भी महत्वपूर्ण के लिए विचार नहीं किया जाना चाहिए। मैं मान रहा हूं कि रिकॉर्ड ऑर्डर कल्पना में नहीं है और इसलिए आधिकारिक तौर पर इस पर भरोसा नहीं किया जा सकता है ... यानी इस हैक के बारे में भूल जाने के बाद ही सही।

टिप - विभिन्न DNS सेटिंग्स की कोशिश करने के परिणाम की जांच के लिए एमएक्स टूलबॉक्स मुफ्त पेज बहुत आसान है।

मेरे संबंधित पोस्ट के लिए बेशर्म प्लग


2
अनिर्दिष्ट व्यवहार होने के नाते, यह निश्चित रूप से ऐसा कुछ नहीं है जिसे मैं गिनना चाहता हूं।
सिज्जोज

2
इस व्यवहार को केवल एक बग माना जा सकता है, एक कैशिंग नेमवेर CNAME प्रतिक्रिया को कैश कर सकता है ans MDAs कभी एमएक्स रिकॉर्ड टूल्स.ietf.org/html/rfc5321#section-5.1
जैसन

-3

आप डोमेन के रूट पर CNAME का उपयोग कर सकते हैं, हालाँकि, उन MX रिकॉर्ड्स को होस्ट रिकॉर्ड पर भी कॉन्फ़िगर किया जाना चाहिए, इसलिए यदि आपके पास mdom1.mail.com को yourdomain.com, और yourdomain के रूट के लिए ज़ोन पर कॉन्फ़िगर किया गया है। com CNre to thisrecord.cname.com है, आपको यह भी सुनिश्चित करना होगा कि mx1.mail.com उस CNAME होस्ट पर कॉन्फ़िगर किया गया है; यदि नहीं, तो सभी मेल खो जाएंगे!


4
समस्या यह है कि RFC1034 के अनुसार, "यदि CNAME RR नोड पर मौजूद है, तो कोई अन्य डेटा मौजूद नहीं होना चाहिए" - चूंकि रूट को NS रिकॉर्ड (उपयोगी, वैसे भी) होने की आवश्यकता है, इसलिए हमेशा अन्य डेटा होंगे , जो RFC के इस खंड का उल्लंघन करता है।
डॉकटोर जे

मेरी राय में इस सवाल का जवाब, सिवाय इसके कि MX रिकॉर्ड होना चाहिए, सही है बजाय CNAME मेजबान (नहीं भी) पर।
अलेक्जेंडर टूबेनकोर्ब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.