एका ओळीने वेगळे असलेले दोन प्रोफाइल त्याच होस्टवर दुसरा क्लायंट सुरू होताच वेगळे वागतात। एक nobind बाळगते आणि कर्नेल देतो तो कोणताही स्थानिक पोर्ट घेते; दुसरे 1194 राखून ठेवते, आणि दुसरी इन्स्टन्स आधीच वापरात असलेल्या पत्त्यासह बंद पडते। ती ओळ स्रोत पोर्ट कोण निवडतो हे ठरवते, जे पुढे प्रोफाइल मशीनवरील इतर कोणत्याही गोष्टीसोबत राहू शकते का हे ठरवते। तीन प्रश्न हे ठरवतात, आणि पहिला प्रश्न उर्वरित दोनपर्यंत पोहोचण्यापूर्वी बहुतेक प्रोफाइलना उत्तर देतो।

nobind प्रत्यक्षात काय वगळते

डीफॉल्टनुसार क्लायंट कॉल करण्यापूर्वी स्थानिक सॉकेट बांधतो, आणि प्रोफाइल वेगळे सांगत नसेल तर स्थानिक पोर्ट 1194 असतो। nobind ते राखीव काढून टाकते, त्यामुळे कनेक्शनच्या वेळी स्टॅक न वापरलेला पोर्ट वाटप करतो। हे डीफॉल्ट नाही, अपवाद आहे, आणि ओळ नसलेला क्लायंट 1194 धरतो, म्हणूनच पिन न केलेली दुसरी इन्स्टन्स टक्करते। वितरित केलेल्या बहुतेक क्लायंट प्रोफाइल्स त्या कारणाने हे निर्देश धरतात, आणि नमुना फाइल काहीतरी करणे म्हणजे यंत्रणा डीफॉल्टने तेच करणे नव्हे।

जे बदलत नाही ते दूरची बाजू आहे। सर्व्हर अजूनही प्रोफाइल सांगते तिथे ऐकतो, आणि कॉन्फिगरेशनमधील गंतव्य पोर्ट अजूनही गंतव्य पोर्ट आहे। गतिमान स्रोत पोर्ट तुमच्या स्वतःच्या सॉकेटचा परतीचा पत्ता बदलतो, सर्व्हरच्या सॉकेटमध्ये काहीही नाही।

हे काहीही लपवत नाही। तुमचा सार्वजनिक पत्ता मार्ग ज्यात त्याचे भाषांतर करतो तो आहे, पॅकेट अजूनही स्थानिक नेटवर्क ओलांडते, आणि ते नेटवर्क चालवणारा कोणीही अजूनही प्रवाह पाहतो। nobind गोपनीयतेचे वैशिष्ट्य नाही किंवा फायरवॉल चुकवण्याचा मार्ग नाही।

हे ठरवणाऱ्या तीन अटी

एक प्रश्न उर्वरित दोन ठरवतो, म्हणून काहीही संपादित करण्यापूर्वी त्याला उत्तर द्या। जर साथीदार बाहेर कॉल करतो, तर उर्वरित प्रश्न आधीच घेतलेला निर्णय फक्त सूक्ष्म करतात। जर तो येणारी कनेक्शन स्वीकारतो, तर स्थानिक पोर्टचे कोणतेही समायोजन त्याला पोहोचण्यायोग्य करत नाही।

हा साथीदार कनेक्शन सुरू करतो का? जर बाहेर कॉल करतो, तर गतिमान स्रोत पोर्ट हानिकारक नाही आणि सहसा चांगला, कारण उत्तर त्याच प्रवाहाने परत येते। जर येणाऱ्या कनेक्शनची वाट पाहतो, तर पुढे काही पोर्ट प्रकाशित करत नसेल तर गतिमान पोर्ट त्याला पोहोचू न देणारा बनवतो। ते एकच उत्तर प्रत्येक क्लायंट प्रोफाइलला प्रत्येक सर्व्हर प्रोफाइलपासून वेगळे करते।

मार्ग स्रोत पोर्टवर फिल्टर करतो का? एका ज्ञात पोर्टसाठी लिहिलेला कडक नियम स्पष्ट स्थानिक पोर्ट सक्तीचा करतो, आणि प्रोफाइलने कोणता नियम पूर्ण करते ते नोंदवावे। बहुतेक नेटवर्क फक्त गंतव्यावर फिल्टर करतात, म्हणून ही अट पहिल्यापेक्षा दुर्मिळ आहे। जिथे लागू होते, तिथे ते गतिमान पोर्टच्या प्राधान्याला मागे टाकते।

अनेक इन्स्टन्स होस्ट सामायिक करतात का? एक स्थिर पोर्ट त्यापैकी दोनांना सेवा देऊ शकत नाही, आणि पुन्हा सुरू केलेली इन्स्टन्स 1194 अजूनही बंद होण्याच्या स्थितीत आढळू शकते। गतिमान पोर्ट इतर काहीही न बदलता तो संघर्ष दूर करतात। याला तुम्ही आत्मविश्वासाने उत्तर देऊ शकत नसाल, तर होय असे गृहीत धरा आणि कर्नेलला निवडू द्या।

जिथे पिन केलेला पोर्ट योग्य उत्तर आहे

काही नेटवर्क गंतव्यासोबत स्रोत पोर्टवरही फिल्टर करतात, म्हणून ऑपरेटरने एका ज्ञात पोर्टवरूनच रहदारी जाऊ देणारा नियम लिहिला असू शकतो। तेव्हा स्थानिक पोर्ट पिन करणे योग्य आहे, आणि प्रोफाइलने पूर्ण होणाऱ्या नियमाचे नाव देणारी टिप्पणी धरावी। सर्व्हर पोर्टशी सममितीसाठी पिन करणे कारण नाही, कारण त्या दोन संख्यांचा एकमेकांशी काहीही संबंध नाही। पिन फक्त टेम्प्लेटमध्ये होता म्हणून असेल, तर तो हटवा।

अन्यथा पिन केलेला पोर्ट अडचण विकत घेतो: एका मशीनवरील दोन क्लायंट दोन्ही 1194 धरू शकत नाहीत, आणि दुसरा प्रोफाइलऐवजी पोर्टकडे निर्देश करणाऱ्या त्रुटीने अयशस्वी होतो। वेगाने पुन्हा सुरू होणारा कंटेनर त्याच भिंतीवर आदळतो। दुरुस्ती म्हणजे वितरित प्रोफाइल्समध्ये आधीच असलेला निर्देश।

सर्व्हर आणि क्लायंट सममित नाहीत

OpenVPN 2.6 मॅन्युअल ला nobind च्या शेजारी lport ठेवते, हा एका ओळीतला युक्तिवाद आहे: एक पर्याय सांगतो कर्नेल निवडते, दुसरा सांगतो तुम्ही निवडता। गतिमान स्थानिक पोर्ट फक्त बाहेर कॉल करणाऱ्या साथीदारासाठी काम करतो, कारण उत्तर देणारी बाजू पोर्ट आधीच जाणू शकत नाही। म्हणूनच क्लायंट प्रोफाइल सर्व्हरवर कॉपी केल्याने कोणालाही न पोहोचणारा श्रोता तयार होतो।

अनेक नेटवर्क इंटरफेस असलेल्या होस्टवर पत्ता पोर्टपेक्षा वेगळा निर्णय असतो। विशिष्ट स्थानिक पत्ता बांधणे आणि विशिष्ट पोर्ट बांधणे या दोन वेगळ्या सेटिंग्ज आहेत, आणि दोन अपलिंक असलेला सर्व्हर सहसा दोन्ही पिन करतो। दोन्ही पिन करणारा क्लायंट कोणत्याही फायद्याशिवाय तोच कडकपणा स्वीकारतो।

सारांश भूमिकांबद्दल आहे, सुरक्षिततेबद्दल नाही: जो बाहेर कॉल करतो तो स्वतःच्या स्रोताबद्दल लवचिक असू शकतो, आणि जो उत्तर देतो तो असू शकत नाही। कोणताही पर्याय दुसऱ्या बाजूने तुमच्या ओळखीबद्दल शिकणारे बदलत नाही। म्हणूनच हा निर्देश क्लायंट नमुन्यांमध्ये दिसतो आणि सर्व्हर नमुन्यांमध्ये जवळपास कधीच नाही।

कर्नेलने निवडलेला पोर्ट तपासा

कनेक्ट केल्यानंतर कॉन्फिगरेशन नाही, सॉकेट वाचा, कारण कॉन्फिगरेशन हेतू सांगते आणि सॉकेट काय घडले ते सांगते। नोंदवण्यायोग्य तथ्ये म्हणजे स्थानिक पोर्ट, दूरचा टोकाचा बिंदू आणि अजूनही काही ऐकत आहे का। Linux होस्टवर तीनही एका आदेशाच्या अंतरावर आहेत।

ss -unp | grep openvpn
ss -lunp | grep openvpn
sudo lsof -nP -i | grep openvpn

nobind सह क्लायंट उच्च स्थानिक पोर्ट आणि कॉन्फिगर केलेला दूरचा पोर्ट दाखवतो, हा अपेक्षित आकार आहे। सर्व्हर त्याच्या कॉन्फिगर केलेल्या पोर्टवर ऐकणारे सॉकेट दाखवतो, आणि ते सॉकेट नसेल तर प्रोफाइल एकतर श्रोता नाही किंवा बांधता आले नाही। प्रवाह असूनही पॅकेट परत येत नसल्यास, प्रोफाइल संपादित करण्यापूर्वी निवडलेल्या स्रोत पोर्टची मार्गावरील कोणत्याही पोर्ट फिल्टरशी तुलना करा। एक गोष्ट बदला, पुन्हा कनेक्ट करा आणि सॉकेट पुन्हा वाचा।

संबंधित लेख