सर्वर मॉनिटरिंग और मेश नेटवर्क
CreateYourVPN सर्वर की सेहत पर कैसे नज़र रखता है: सेल्फ़-चेक, सर्वरों के बीच आपसी जाँच का मेश नेटवर्क, और अनपहुँच सर्वरों को यूज़र्स से अपने आप छिपाना।
कोई सर्वर सबसे बुरे समय पर धोखा दे सकता है: कोई सर्विस क्रैश हो जाए, होस्ट मशीन को रिबूट कर दे — या इससे भी बुरा, सर्वर किसी यूज़र के देश में ब्लॉक हो जाए और तकनीकी रूप से चलते हुए भी पहुँच से बाहर हो जाए। आपके यूज़र्स को इसमें से कुछ भी दिखना नहीं चाहिए। यह पाठ बताता है कि CreateYourVPN आपके सर्वरों की निगरानी कैसे करता है और जब कोई मुश्क़िल में हो तो क्या होता है।
जाँच की दो परतें
सिस्टम हर सर्वर को दो नज़रियों से देखता है।
1. सर्वर ख़ुद अपनी जाँच करता है
हर कुछ मिनट में हर सर्वर रिपोर्ट भेजता है: क्या पोर्ट 443 पर ट्रैफ़िक लिसनर चालू है, और क्या VPN सर्विस चल रही है। पाठ 3 वाले मेट्रिक्स भी इसी रिपोर्ट के साथ आते हैं। अगर रिपोर्ट कहती है "मैं ठीक नहीं हूँ", तो सर्वर को "सर्वर उपलब्ध नहीं" स्टेटस मिलता है। अगर रिपोर्ट आना पूरी तरह बंद हो जाए, तो स्टेटस बन जाता है "सर्वर से कोई डेटा नहीं" — हो सकता है मशीन बंद हो गई हो या उसका नेटवर्क चला गया हो।
2. सर्वर एक-दूसरे को "जाँचते" हैं
सेल्फ़-चेक सबसे चालाक मामला नहीं पकड़ सकते: एक सर्वर ख़ुद को सेहतमंद मानता है, लेकिन बाहर से उस तक पहुँचा नहीं जा सकता — जैसे, उसका IP ब्लॉक हो गया हो। इसीलिए आपके सारे सर्वर आपसी जाँच के एक मेश नेटवर्क में जुड़े होते हैं: हर सर्वर नियमित रूप से हर पड़ोसी तक पहुँचने की कोशिश करता है — बिल्कुल वैसे ही जैसे किसी यूज़र का ऐप करता।
इसके बाद एक "वोट" काम करता है:
- एक अकेली नाकाम दस्तक का कोई मतलब नहीं — नेटवर्क में बस झटका आया हो सकता है। सिर्फ़ लगातार नाकामियों की लड़ी मायने रखती है।
- कोई सर्वर सिर्फ़ तभी "आपके सर्वरों से पहुँच योग्य नहीं" चिन्हित होता है जब कई स्वतंत्र सर्वर लगातार उस तक पहुँचने में नाकाम रहें — एक सर्वर की राय फ़ैसला नहीं होती।
- "अविश्वसनीय गवाह" से भी सुरक्षा है: अगर कोई सर्वर अचानक दावा करे कि उसे अपने आधे पड़ोसी नहीं दिख रहे, तो दिक़्क़त सबसे ज़्यादा उसी की अपनी है — और उसके वोट रद्द कर दिए जाते हैं।
यही स्कीम ब्लॉक पकड़ लेती है: अगर किसी सर्वर को उस देश में ब्लॉक कर दिया जाए जहाँ आपके बाक़ी सर्वर हैं, तो उस देश के पड़ोसी जल्दी ही उस तक पहुँचना बंद कर देंगे, एक कोरम बन जाएगा, और सिस्टम सर्वर को अनपहुँच चिन्हित कर देगा। इस बीच, बिना ब्लॉक वाले देशों के सर्वर उसे देखते रहेंगे — और राय के इस फ़र्क़ से तस्वीर साफ़ हो जाती है।
जब दो सर्वरों के बीच कनेक्शन जाँच पास न हो
वोटिंग तब ब्लॉक पकड़ती है जब पहुँच बंद करने वाले देश में आपके कई सर्वर हों। पर आमतौर पर वहाँ ठीक एक ही होता है: वह आपका विदेशी सर्वर देखना बंद कर देता है, जबकि विदेशी सर्वर आपस में बढ़िया देखते रहते हैं। ऐसी तस्वीर के लिए कोरम कभी नहीं बनेगा।
हम फिर भी इसे नोटिस करते हैं, पर ईमानदारी से बताते हैं कि हम क्या नहीं जानते। «A को B नहीं दिखता» से यह नहीं निकाला जा सकता कि किसका पता ब्लॉक है: यह दोनों के बीच के रास्ते के बारे में एक ही कथन है, और बाहर से दोनों स्थितियाँ एक जैसी दिखती हैं। इसलिए:
- डिफ़ॉल्ट रूप से हम किसी पर दोष नहीं डालते। जिस तरफ़ जाँच नहीं पहुँचती, उसके प्रवेश बिंदु «अनुपलब्ध» चिह्नित करते हैं, और अगर जाँच दोनों दिशाओं में पास न हो तो दोनों तरफ़ के। कारण में दोनों सर्वर नाम से आते हैं (सर्वर कार्ड में कोई प्रवेश बिंदु खोलने पर दिखता है)। कौन-सा सर्वर बदलना है यह आपको तय करना होगा: आमतौर पर वही जिस तक आपके ग्राहक नहीं पहुँच पाते।
- इनमें से कोई भी छिपाया नहीं जाता। जोड़ी को छिपाने का मतलब होगा एक बिलकुल स्वस्थ सर्वर भी सब्सक्रिप्शन से बाहर कर देना। ग्राहकों को दोनों सर्वरों के प्रवेश बिंदु मिलते रहते हैं, और बैलेंसिंग बस स्वस्थ सर्वरों को प्राथमिकता देती है, अगर रूट में ऐसे हों।
जाँच करने वाला सर्वर
«दोनों में से कोई एक» के बजाय सटीक उत्तर पाने के लिए, उस सर्वर को चिह्नित करें जिसकी जाँच पर आपको भरोसा है: सर्वर कार्ड → «इस सर्वर से बाकी सर्वरों की ब्लॉकिंग जाँचें»।
फिर नियम सीधा है: अगर जाँच करने वाला सर्वर किसी सामान्य सर्वर को देखना बंद कर दे, तो हम सामान्य सर्वर का पता ब्लॉक मानते हैं, आपको IP बदलने की सलाह वाला ईमेल भेजते हैं और जब तक रूट में विकल्प है तब तक उस सर्वर के प्रवेश बिंदु ग्राहकों को देना बंद कर देते हैं। इसका उल्टा, यानी सामान्य सर्वर को जाँचकर्ता न दिखे, कुछ भी नहीं दर्शाता।
सबसे अच्छा जाँचकर्ता वह सर्वर है जो आपके ग्राहकों के देश में ही हो: उसका नज़रिया उपयोगकर्ता के ऐप की देखी तस्वीर के सबसे करीब होता है। आप कई सर्वर चिह्नित कर सकते हैं। पर अगर सभी सर्वर चिह्नित कर दें, तो दिशा फिर गायब हो जाएगी: फैसला करने वाला कोई नहीं बचेगा, और जोड़ियाँ डिफ़ॉल्ट व्यवहार पर लौट आएँगी। ध्यान रखें कि जाँचकर्ता सर्वर स्वयं अब इस संकेत से चिह्नित नहीं होगा: हम उसी की तरफ से आकलन करते हैं, इसलिए उसका आकलन करने वाला कोई नहीं बचता।
किसी मुश्क़िल सर्वर के साथ क्या होता है
ये स्टेटस सीधे बैलेंसिंग में जाते हैं: "सर्वर उपलब्ध नहीं" और "आपके सर्वरों से पहुँच योग्य नहीं" वाले स्टेटस के साथ सर्वरों को रोटेशन से बाहर निकाल दिया जाता है — उनकी तरफ़ कोई नया कनेक्शन नहीं भेजा जाता, और यूज़र्स की सब्सक्रिप्शन में उनकी जगह उन्हीं रूट के सेहतमंद सर्वर ले लेते हैं। एकमात्र अपवाद है जाँचकर्ता के बिना टूटी जोड़ी: वहाँ प्रवेश बिंदु चिह्नित होते हैं, पर किसी को भी हटाया नहीं जाता।
साथ ही, सिस्टम सावधान रहता है — यह "नुक़सान न पहुँचाओ" के सिद्धांत पर बना है:
- कोई रूट कभी ख़ाली नहीं छोड़ा जाता। अगर किसी रूट के सारे सर्वर "ख़राब" निकलें, तो सिस्टम यूज़र्स को ख़ाली लिस्ट देने के बजाय जो भी सबसे अच्छा विकल्प उपलब्ध है वह देगा — वरना ऐप्स यह मान लेंगे कि सर्वर ग़ायब हो गए और उन्हें मिटा देंगे।
- ख़ामोशी फ़ैसला नहीं है। "सर्वर से कोई डेटा नहीं" स्टेटस अपने आप किसी सर्वर को रोटेशन से नहीं हटाता: बिना ताज़ा डेटा के सिस्टम कोई अचानक क़दम नहीं उठाता।
सब कुछ अपने आप ठीक हो जाता है
कोई भी स्टेटस हमेशा के लिए "चिपकता" नहीं — स्थिति हमेशा ताज़ा डेटा से दोबारा तय होती है:
- सर्वर फिर से सेहतमंद रिपोर्ट भेजता है → "सर्वर उपलब्ध नहीं" हट जाता है;
- पड़ोसी दोबारा उस तक पहुँचने लगते हैं → नाकामियों की लड़ी रीसेट हो जाती है, और "आपके सर्वरों से पहुँच योग्य नहीं" वाला निशान चला जाता है;
- रिपोर्ट फिर आने लगती हैं → "सर्वर से कोई डेटा नहीं" ग़ायब हो जाता है।
सर्वर को ठीक करें (या उसके अनब्लॉक होने का इंतज़ार करें) — और वह ख़ुद-ब-ख़ुद सेवा में वापस आ जाता है। किसी को मैन्युअल रूप से "फिर से चालू करना" नहीं पड़ता।
पैनल में यह कहाँ दिखता है
किसी भी यूज़र का कार्ड खोलें → उसकी सर्वर लिस्ट: हर सर्वर के बग़ल में एक स्टेटस डॉट होता है, और जब कुछ गड़बड़ हो — वजह बताती एक कैप्शन: "सर्वर उपलब्ध नहीं", "आपके सर्वरों से पहुँच योग्य नहीं" (साथ में यह भी कि आपके कितने सर्वर इसे नहीं देख पा रहे), या "सर्वर से कोई डेटा नहीं"। अप्रत्यक्ष संकेत सर्वर कार्ड पर भी दिखते हैं: मेट्रिक्स पर एक "पुराना" बैज और "कोई डेटा नहीं — एजेंट प्रतिसाद नहीं दे रहा"।
मेश जाँच बेहद किफ़ायती हैं: ये सख़्त रोज़ाना सीमा वाली बेहद छोटी प्रोब-दस्तकें हैं — इनका आपके सर्वरों के ट्रैफ़िक या परफ़ॉर्मेंस पर कोई असर नहीं पड़ता।
मुख्य बातें
- नियंत्रण की दो परतें: सर्वर ख़ुद अपनी जाँच करता है, और उसके मेश पड़ोसी उसे बाहर से जाँचते हैं।
- ब्लॉक कई सर्वरों के "वोट" से पकड़े जाते हैं — किसी एक-बारगी झटके पर घबराहट नहीं।
- मुश्क़िल सर्वर रोटेशन से बाहर हो जाते हैं; यूज़र्स ख़ामोशी से सेहतमंद सर्वरों पर चले जाते हैं।
- सब कुछ अपने आप ठीक होता है: सर्वर के फिर से जीवित होते ही, वह अपने आप वापस जुड़ जाता है।
- अगर सर्वरों की किसी जोड़ी के बीच कनेक्शन जाँच पास न हो और जाँचकर्ता चुना न हो, तो हम उस तरफ़ के प्रवेश बिंदु चिह्नित करते हैं जहाँ तक पहुँच नहीं (या दोनों के, अगर जाँच दोनों दिशाओं में पास न हो) और कोई भी छिपाते नहीं: फैसला आपका है।
आगे क्या
इंफ्रास्ट्रक्चर ख़ुद को ठीक करना जानता है, लेकिन एक चीज़ ऐसी है जिसे अलग से सुरक्षित रखना ज़रूरी है — आपका यूज़र बेस।
आपातकालीन एक्सेस: जब नेटवर्क सब कुछ ब्लॉक कर दे
CreateYourVPN में आपातकालीन एक्सेस (OLCRTC): व्हाइटलिस्ट वाले नेटवर्कों के लिए वीडियो कॉल का भेस धरा हुआ बैकअप चैनल — यह आपके सर्वरों पर कितना भारी पड़ता है, Pro के साथ क्या अपने आप चालू होता है, और यूज़र्स को पहले से क्या बताना चाहिए।
बैकअप: अपने यूज़र्स को सेव और रीस्टोर करें
अपने यूज़र बेस का बैकअप क्यों लें, Google Drive या S3 पर ऑटोमैटिक कॉपी कैसे सेट करें, और बैकअप से रीस्टोर कैसे करें।