हेडलेस OpenVPN: पर्यवेक्षित सत्र या प्रबंधित सेवा
SSH से OpenVPN शुरू करना दूरस्थ नेटवर्क में बदलाव है। पर्यवेक्षित सत्र या अपनी स्वामित्व वाली सेवा चुनें, और क्रेडेंशियल तथा वापसी का रास्ता तैयार रखें।
SSH से OpenVPN चलाना उसे दूरस्थ मशीन पर, उसी मशीन के निष्पादन संदर्भ में शुरू करता है। इससे यह दूरस्थ नेटवर्क में बदलाव बनता है, दूर से बटन दबाना नहीं। दो समझदार मोड हैं पर्यवेक्षित फ़ोरग्राउंड सत्र और अपनी स्वामित्व वाली सेवा, और उनकी तैयारी, क्रेडेंशियल और विफलता व्यवहार अलग हैं।
दो मोड, एक प्रोफ़ाइल
दोनों मोड एक ही प्रोफ़ाइल का उपयोग करते हैं और दोनों होस्ट पर रूटिंग बदलते हैं। अंतर यह है कि शुरू होते समय कौन उपस्थित है, और सत्र समाप्त होने के बाद क्या होता है।
| Mode | Useful for | What it needs |
|---|---|---|
| Supervised foreground session | A connection with a human watching and able to type | A usable terminal, a reviewed profile and recovery access |
| Managed service | An unattended lifecycle that starts without a login | Owned configuration, supported credential delivery and restart policy |
फ़ोरग्राउंड मोड उस पर्यवेक्षित कनेक्शन के लिए है जहाँ कोई व्यक्ति उपस्थित हो। सेवा मोड ऐसे कनेक्शन के लिए है जो किसी के लॉग इन किए बिना ऊपर आना चाहिए। दोनों को मिला देना—फ़ोरग्राउंड प्रक्रिया चलती रहने देते हुए उसी प्रोफ़ाइल पर सेवा भी सक्षम करना—यहाँ सबसे आम स्वयं-पैदा की गई खराबी है।
फ़ोरग्राउंड सत्र वास्तव में क्या है
फ़ोरग्राउंड OpenVPN प्रक्रिया को टनल चालू रहने तक चलते रहना चाहिए। Initialization Sequence Completed का अर्थ है कि आरंभ पूरा हो गया, यह नहीं कि आपको प्रॉम्प्ट के लौटने की प्रतीक्षा करनी चाहिए। डेस्कटॉप GUI उस लंबे काम को विंडो के पीछे छिपाता है, और इसी कारण लोग अपेक्षा करते हैं कि SSH कमांड भी वैसा ही व्यवहार करे। वह नहीं करता।
एप्लिकेशन की पहुँच अलग से जाँचें। व्यस्त टर्मिनल और एक लॉग पंक्ति न तो सफलता साबित करते हैं न विफलता।
बिना निगरानी वाली सेवा को क्या चाहिए
सेवा अपने खाते, कार्य निर्देशिका और फ़ाइलसिस्टम प्रतिबंधों के साथ शुरू होती है, और ये सब आपके शेल से भिन्न हैं। स्पष्ट पथ और उचित स्वामित्व का उपयोग करें, इस पर भरोसा न करें कि आप संयोग से कहाँ खड़े थे। यूनिट को वह पुनःआरंभ नीति दें जो आप वास्तव में चाहते हैं, क्योंकि बैकऑफ़ के बिना कनेक्शन लूप लॉग भर देता है और साथी सिरे को परेशान करता है। फिर सत्यापित करें कि यह रीबूट के बाद ऊपर आती है, आपके अगले लॉगिन के बाद नहीं।
इंटरैक्टिव MFA डिज़ाइन से ही बिना निगरानी वाला मामला तोड़ देता है। यदि प्रोफ़ाइल को व्यक्ति द्वारा टाइप किया गया कोड चाहिए, तो यह बिना निगरानी वाली सेवा नहीं है, और संग्रहीत एकबारगी कोड क्रेडेंशियल डिज़ाइन नहीं है। बूट पर पता लगाने के बजाय सचेत रूप से यह तय करें।
क्रेडेंशियल चार अलग इनपुट हैं
OpenVPN के मैनुअल में कंसोल इनपुट, क्रेडेंशियल फ़ाइलें, निजी कुंजी के पासफ़्रेज़ और प्रबंधन-संचालित इंटरैक्शन अलग हैं। उपयोगकर्ता नाम और पासवर्ड की जोड़ी एक चीज़ है, और एन्क्रिप्टेड कुंजी का पासफ़्रेज़ दूसरी। अनुरोध पर क्रेडेंशियल देने वाला प्रबंधन इंटरफ़ेस तीसरा है। सब कुछ एक फ़ाइल में जोड़ने के बजाय अपने प्रमाणीकरण डिज़ाइन से मेल खाने वाला तंत्र चुनें, क्योंकि वह एक बार काम कर गया था।
पहचान या निजी सामग्री रखने वाली प्रोफ़ाइलों और लॉग की रक्षा करें। सेवा खाता उन्हें पढ़ता है, और सही समूह सदस्यता वाला कोई भी।
एक स्वामी, और वापसी का रास्ता
चौड़ा टनल रूट सक्षम करने से पहले अपना SSH प्रशासन पथ सुरक्षित रखें। मृत एंडपॉइंट वाला फ़ुल-टनल कॉन्फ़िगरेशन मशीन को अगम्य छोड़ सकता है, और तब मरम्मत के लिए ऐसा कंसोल चाहिए जो आपने व्यवस्थित नहीं किया। स्वीकृत आउट-ऑफ़-बैंड कंसोल या सचेत प्रबंधन-वापसी नीति ही बीमा है।
नियमित संचालन के लिए एक ही कॉन्फ़िगरेशन स्वामी चुनें। स्वचालित सेवा और फ़ोरग्राउंड प्रक्रिया जब एक ही इंटरफ़ेस, रूट और रिज़ॉल्वर स्थिति के लिए प्रतिस्पर्धा करते हैं तो ऐसी विफलताएँ होती हैं जो प्रदाता की समस्या जैसी दिखती हैं। पर्यवेक्षित रन को उसके सामान्य इंटरप्ट से रोकें, और प्रबंधित रन को उसके प्रबंधक के माध्यम से, openvpn नाम की हर प्रक्रिया मारने के बजाय।
लिखने योग्य भेद सरल है: पर्यवेक्षित रन आपके सत्र पर निर्भर हो सकता है, और बिना निगरानी वाली सेवा नहीं।