कई DNS सर्वर: यह हॉस्टलर के लिए क्यों है और इसे समानताएं Plesk पैनल में कैसे लागू किया जाता है

प्रागितिहास


प्रतिक्रिया और अधिक सटीक प्राथमिकता वाले कार्यों को प्राप्त करके हैरान, प्लिस्को डेवलपर्स ने UserVoice - http://plesk.ususoice.com पर एक खाता बनाया। इस प्रकार, उन्होंने एक जगह का आयोजन किया जहां ग्राहक अपने नवाचारों की पेशकश कर सकते हैं, वे जो कुछ भी पसंद करते हैं उसे लिखें, उन कार्यों के लिए वोट करें जिनकी उन्हें ज़रूरत है (जो सबसे अधिक वोट हासिल करते हैं वे विकास में आते हैं)। हमारे उपयोगकर्ताओं से हमें मिलने वाले लोकप्रिय प्रश्नों में से एक "दास डीएनएस समर्थन को स्वचालित करना" है। यह एक काफी पुराना फीचर अनुरोध है जो लगभग सभी Plesk सर्वर प्रशासक चाहते हैं। इस प्रश्न को एक बार और सभी के लिए बंद करने के लिए, हमने संबंधित Plesk एक्सटेंशन बनाने का निर्णय लिया। ऐसा करने के क्या कारण थे? वास्तव में हमने क्या किया?







कई कारणों से एक मेजबान को कम से कम दो एनएस सर्वर (या इससे भी अधिक) की आवश्यकता हो सकती है:


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

सर्किट आरेख


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

हमने इसे कैसे लागू किया?


कई वर्षों के लिए समानताएं Plesk पैनल और दास DNS को एकीकृत करना बहुत तुच्छ कार्य नहीं था। यह समझा जाता है कि Plesk सर्वर एक जादूगर के रूप में कार्य करता है। एक डोमेन ज़ोन के लिए प्लिस्कोप दास / मास्टर मोड को लागू करता है; आईपी पतों की एक वैश्विक सूची है जिसके साथ आप डोमेन ज़ोन के लिए अनुरोध कर सकते हैं। लेकिन दास सर्वर पर नए डोमेन ज़ोन बनाने के लिए कोई तंत्र नहीं है। और नहीं होगा। क्योंकि Plesk अवधारणा एक सर्वर के भीतर होस्टिंग संचालन को स्वचालित करने के लिए एक पैनल है। यदि आपको कई सर्वरों के एकीकरण की आवश्यकता है, तो सेवा के प्रकार से अलग, तो समानताएं अन्य उत्पाद हैं: समानताएं Plesk स्वचालन, समानताएं ऑपरेशन स्वचालन और, अंततः, एक महान व्यापक समानताएं स्वचालन समाधान।

"ठीक है, समस्या क्या है?" आप पूछते हैं। लेकिन तथ्य यह है कि ऐसे कई Plesk उपयोगकर्ता हैं, जिन्हें ऊपर सूचीबद्ध उत्पादों की आवश्यकता नहीं है, वे कुछ विशिष्ट समस्याओं को हल करने के लिए अयोग्य हैं। और उन्हें केवल दास नाम सर्वर के साथ एकीकरण की आवश्यकता है।

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

ऐसा लगता है कि जटिल होगा? Plesk के पास एक स्थानीय NS-server है, इसे एक मास्टर होने दें, एक ईवेंट सिस्टम है, आइए "स्क्रिप्ट बनाते हुए DNS ज़ोन" और "DNS ज़ोन को हटाना" जैसी घटनाओं पर हमारी स्क्रिप्ट के निष्पादन को लटका दें। सभी लोग खुश रहेंगे। दुर्भाग्य से, प्लेस्क में ऐसी कोई घटना नहीं है।

Plesk डेवलपर्स न केवल Plesk का विकास करते हैं, बल्कि स्वयं भी लगातार अपने उत्पाद का उपयोग करते हैं। इसलिए, हमने Plesk उपयोगकर्ताओं के लिए एक एक्सटेंशन बनाया जो आपको एक बाहरी दास नाम सर्वर के साथ Plesk को एकीकृत करने की अनुमति देता है जिस पर BIND9 स्थापित है। आप इसे बिना एसएमएस के मुफ्त में डाउनलोड कर सकते हैं, लिंक के द्वारा - autoinstall.plesk.com/extensions/packages/slave-dns-manager-1.0-1.zip

यह कैसे काम करता है?


Plesk स्थानीय NS सर्वर के रूप में BIND का उपयोग करता है। वह मानक rndc उपयोगिता का उपयोग कर रिमोट कंट्रोल करने की क्षमता रखता है। कोई भी हमें दूरस्थ सर्वर पर BIND स्थापित करने और rndc के माध्यम से प्रबंधित करने के लिए परेशान नहीं करता है। Plesk 11.5 "कस्टम DNS बैकएंड" तंत्र का परिचय देता है। इसके माध्यम से, आप तृतीय-पक्ष DNS सेवा से कनेक्ट कर सकते हैं, उदाहरण के लिए AWS Route53। प्रलेखन में इसके बारे में और पढ़ें।

संक्षेप में, इस कार्यशीलता के अर्थ को Plesk में एक स्क्रिप्ट में पंजीकृत करने की क्षमता के रूप में वर्णित किया जा सकता है जो DNS ज़ोन का एक JSON विवरण प्राप्त करेगा, जो आपको हर बार जब आप Plesk में कोई सक्रिय क्षेत्र बनाते / अपडेट / हटाते हैं, तो ज़ोन के साथ क्या करना है। वह सब हमें चाहिए। इस कार्यक्षमता को लागू करते समय, यह मान लिया गया था कि आप Plesk के साथ एक स्थानीय BIND स्थापित नहीं करेंगे, लेकिन एक बाहरी सेवा का उपयोग करेंगे। लेकिन! एक स्थानीय BIND को हटाना बिल्कुल भी आवश्यक नहीं है। स्क्रिप्ट स्थानीय DNS सेवा के समानांतर काम कर सकती है। हमारा विस्तार इस विचार का उपयोग करता है।

विस्तार का एल्गोरिथ्म इस प्रकार है:
  1. एक्सटेंशन सेटिंग्स में, दास सर्वर को पंजीकृत करें
  2. दास सर्वर का आईपी पता स्वचालित रूप से उन लोगों की सूची में जोड़ दिया जाता है, जिन्हें Plesk सर्वर से डोमेन ज़ोन स्थानांतरित करने की अनुमति है
  3. जब एक सक्रिय डोमेन ज़ोन Plesk में बनाया / अद्यतन / हटा दिया जाता है, तो Plesk स्थानीय क्षेत्र सेवा में डोमेन ज़ोन बनाता / संशोधित / हटाता है
  4. इसके बाद, एक स्क्रिप्ट चलाई जाती है जो डोमेन नाम, कमांड (क्रिएट / अपडेट / डिलीट) प्राप्त करती है
  5. स्क्रिप्ट प्रत्येक कनेक्टेड दास सर्वर के लिए rndc कमांड चलाता है
  6. दास सर्वर एक Plesk सर्वर से डोमेन ज़ोन को सिंक्रनाइज़ करता है

इस प्रकार, हमें दास नाम सर्वर के साथ काम करने के लिए एक बहुत ही सरल और बहुत मजबूत योजना मिली। ज़ोन फ़ाइल प्रारूप, कनेक्शन और सेवा को फिर से शुरू करने से जुड़ी सभी समस्याएं स्वयं डीएनएस सेवा की जिम्मेदारी हैं। व्यवस्थापक को बाहरी Plesk के साथ काम करने के लिए केवल 1 बार दास सर्वर को कॉन्फ़िगर करने की आवश्यकता होती है। अब आप रजिस्ट्रार के पास जा सकते हैं और कह सकते हैं कि Plesk सर्वर और दास सर्वर आपके डोमेन के NS सर्वर हैं। और इसके लिए धन्यवाद, हमने पोस्ट की शुरुआत में सूचीबद्ध सभी कार्यों को हल किया।

और अब थोड़ा और अधिक, तकनीकी विवरणों के साथ।

एक दास नाम सर्वर सेट करें (डेबियन 7 के साथ सर्वर के उदाहरण का उपयोग करके):
  1. हमने BIND डाल दिया
     apt-get install bind9 
  2. Rndc के माध्यम से नए क्षेत्रों के निर्माण की अनुमति दें। फ़ाइल में /etc/bind/named.conf.options , विकल्पों के अंदर {} निर्देश, हम लिखते हैं:
     allow-new-zones yes; 
  3. हम इंगित करते हैं कि किस से आईपी एड्रेस कंट्रोल कमांड प्राप्त किया जा सकता है, और हम BIND को सभी उपलब्ध नेटवर्क इंटरफेस को सुनने के लिए कहते हैं। फ़ाइल में /etc/bind/named.conf.local हम लिखते हैं:
     controls { inet * port 953 allow { <PLESK_IP>; <ANOTHER_PLESK_IP> 127.0.0.1; }; }; 
  4. एक्सेस कुंजी याद रखना सुनिश्चित करें, यह /etc/bind/rndc.key फ़ाइल में स्थित है:
     key "rndc-key" { algorithm hmac-md5; secret "vwOxonI4n4CVRUhKAOAAIA=="; }; 

यह सब है, गुलाम नाम सर्वर का सेटअप किया जाता है।

अगला कदम हमारे प्लेस्क पर जाना है और एक्सटेंशन स्थापित करना है (हमने ऊपर उल्लेख किया है कि इसे कहां डाउनलोड करना है)। एक्सटेंशन पेज पर, हमारे आईपी और कुंजी को इंगित करते हुए, हमारा दास सर्वर जोड़ें। एक्सटेंशन rndc उपयोगिता के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएगा, जिसमें हमारे दास सर्वर के लिए सेटिंग्स होंगी। अब Plesk स्वचालित रूप से सभी बनाए गए, अपडेट किए गए और हटाए गए ज़ोन को स्वचालित रूप से स्लेव सर्वर में ट्रांसलेट कर देगा। प्रत्येक कॉन्फ़िगर किए गए ग़ुलाम के लिए निम्न कमांड निष्पादित करके:

अब, Plesk में डोमेन जोड़ने पर, एक DNS ज़ोन स्वचालित रूप से मास्टर सर्वर और दास सर्वर दोनों पर बनाया जाता है।

वैसे, हम टिप्पणियों को पढ़ते हैं और सवालों के जवाब देते हैं (हमारे समानताएं Plesk पैनल डेवलपर्स टेक ब्लॉग पर भी: devblog.plesl.com )।

संदर्भ

Source: https://habr.com/ru/post/In200452/


All Articles