स्टैटिक-की मोड ठीक दो पीयर जोड़ता है, और यह उसका डिज़ाइन है, कोई ऐसी सीमा नहीं जिसे किसी ने हटाना भूल दिया हो। client-to-client सर्वर मोड का फ़ॉरवर्डिंग विकल्प है, इसलिए इसे --secret कॉन्फ़िगरेशन में जोड़ने से इसमें कुछ नहीं बदलता कि कितने क्लाइंट जुड़ सकते हैं। निर्णय यह नहीं है कि कौन-सा फ़्लैग जोड़ें, बल्कि यह है कि परिनियोजन को पॉइंट-टू-पॉइंट लिंक चाहिए या बहु-क्लाइंट सेवा। यदि कई डिवाइस को स्वतंत्र रूप से जुड़ना है, तो सुरक्षा मोड बदल जाता है और हर डिवाइस को एक पहचान मिलती है।

दो पीयर, एक कुंजी और प्रति-क्लाइंट कोई स्थिति नहीं: वही आकार इस मोड की पूरी कहानी है।

स्टैटिक-की मोड किसके लिए है

सीक्रेट मोड में दोनों पीयर एक ही कुंजी फ़ाइल साझा करते हैं, और वह कुंजी ट्रैफ़िक को सीधे सुरक्षित करती है। कोई हैंडशेक नहीं, कोई प्रमाणपत्र अदला-बदली नहीं और प्रति-क्लाइंट कोई सत्र नहीं, क्योंकि सर्वर के अर्थ में कोई क्लाइंट नहीं हैं, केवल दो अंतिम बिंदु हैं।

यह मोड दस्तावेज़ीकृत कुंजी रोटेशन प्रक्रिया वाली निश्चित मशीन जोड़ी के लिए उपयोगी रहता है, और OpenVPN 2.6 इसे ठीक इसलिए अप्रचलित चिह्नित करता है कि TLS मोड उन मामलों को बेहतर गुणों के साथ कवर करता है। जो यह नहीं कर सकता वह है एक जुड़ते डिवाइस को दूसरे से अलग पहचानना, क्योंकि फ़ाइल का स्वामित्व ही पूरी प्रमाणीकरण कहानी है। तीसरा डिवाइस जोड़ने का अर्थ है उसके साथ वही कुंजी साझा करना, जिसके बाद पहले दो उसे अपने से अलग नहीं पहचान सकते।

इसीलिए दो-पीयर की सीमा संरचनात्मक है, बदली जा सकने वाली कोई सेटिंग नहीं।

client-to-client लुप्त टुकड़ा क्यों नहीं है

client-to-client नियंत्रित करता है कि जुड़े क्लाइंट सर्वर के माध्यम से ट्रैफ़िक का आदान-प्रदान कर सकते हैं या नहीं। यह क्लाइंट को प्रवेश नहीं देता, पहचान नहीं देता और ऐसा सर्वर मोड नहीं बनाता जो कॉन्फ़िगर न किया गया हो, और स्टैटिक-की कॉन्फ़िगरेशन में इसके शासन के लिए कोई क्लाइंट सूची नहीं होती।

दूसरा आम भ्रम tls-crypt या tls-auth सामग्री से जुड़ा है। TLS सर्वर उनमें से एक कुंजी सभी क्लाइंट में साझा कर सकता है, क्योंकि वह यह साबित करने के बजाय कि हर क्लाइंट कौन है, नियंत्रण चैनल की रक्षा करता है। TLS मोड में साझा नियंत्रण-चैनल कुंजी साझा स्टैटिक डेटा कुंजी से भिन्न वस्तु है, भले ही दोनों एक जैसी दिखने वाली फ़ाइलों के रूप में आएँ।

मोड के बीच चुनाव दो प्रश्नों पर आता है। क्या एक से अधिक डिवाइस को स्वतंत्र रूप से जुड़ना है, और क्या परिनियोजन को प्रति-डिवाइस निरसन चाहिए? दोनों पर ना हो तो स्टैटिक-की मोड व्यवहार्य रहता है; किसी एक पर हाँ हो तो यह TLS की ओर संकेत करता है। तीसरा कोई विकल्प नहीं है जहाँ बिना अपनी पहचान के दूसरे क्लाइंट को प्रवेश दिया जाए।

बहु-क्लाइंट सर्वर बनाना

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

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

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

फिर फ़ॉरवर्डिंग नीति का सोच-समझकर निर्णय लें। client-to-client उपयोगकर्ता-स्थान के सर्वर पथ में क्लाइंट-से-क्लाइंट ट्रैफ़िक सक्षम करता है, जो कई परिनियोजन चाहते हैं और कुछ को नहीं होना चाहिए। यह नीति स्विच है, पहचान तंत्र नहीं, और इसे इसलिए चालू करना चाहिए कि डिज़ाइन को इसकी आवश्यकता है, न कि इसलिए कि किसी ट्यूटोरियल ने इसे शामिल किया।

जाँचना कि क्लाइंट वास्तव में स्वतंत्र हैं

दो क्लाइंट जोड़ें और पुष्टि करें कि उन्हें अलग-अलग पते मिलते हैं और वे सर्वर के लॉग में अलग-अलग पहचान के साथ दिखते हैं। फिर एक को निरस्त करें और पुष्टि करें कि दूसरा काम करता रहता है, जो यह व्यावहारिक परीक्षण है कि पहचान साझा नहीं की गई थीं।

अनुमत पीयर-टू-पीयर सेवा और उसे जाँचें जो अवरुद्ध रहनी चाहिए। दो सफल लॉगिन प्रवेश साबित करते हैं, अलगाव नहीं, और यह अंतर तब मायने रखता है जब परिनियोजन को उपयोगकर्ता समूहों को अलग करना हो।

अंत में, सर्वर मोड को स्मृति से नहीं, चल रहे कॉन्फ़िगरेशन से पढ़ें। अतिरिक्त विकल्पों वाला स्टैटिक-की कॉन्फ़िगरेशन अभी भी पॉइंट-टू-पॉइंट लिंक है, और सही TLS सर्वर ही एकमात्र ऐसी व्यवस्था है जिसमें कई क्लाइंट वास्तव में अलग पीयर होते हैं।

यदि लॉग हर डिवाइस के लिए एक ही सामान्य नाम दिखाता है, तो समस्या मोड नहीं है। समस्या नामांकन प्रक्रिया है।

संबंधित लेख