Linux पर VPN शुरू करने पर वास्तव में क्या होता है
Linux पर VPN शुरू करने से एक इंटरफ़ेस बनता है, रूट इंस्टॉल होते हैं और रिज़ॉल्वर बदलता है। कौन सी सेवा किस चरण की मालिक है, यह जानना अधिकांश सेटअप विफलताओं को समझाता है।
कनेक्ट दबाएँ और Linux मशीन पर तीन चीज़ें बदलती हैं: एक इंटरफ़ेस दिखाई देता है, रूट इंस्टॉल होते हैं, और रिज़ॉल्वर अलग तरह से उत्तर देना शुरू करता है। अधिकांश सेटअप विफलताएँ इससे आती हैं कि उन तीन में से एक बाकी के बिना हो जाए, या दो प्रोग्राम इस पर असहमत हों कि उनका मालिक कौन है। क्रम को समझना विफलता को क्लाइंट के लॉग आउटपुट पढ़ने से तेज़ी से समझाता है।
कुछ भी काम करने से पहले एक इंटरफ़ेस दिखाई देता है
एक टनल क्लाइंट एक वर्चुअल इंटरफ़ेस खोलता है और उसे पैकेट देता है। TUN डिवाइस IP पैकेट ले जाता है, जो रूटेड VPN को चाहिए; TAP डिवाइस Ethernet फ़्रेम ले जाता है, जो ब्रिज्ड डिज़ाइन को चाहिए। कर्नेल मॉड्यूल डिवाइस देता है, और सत्र जितनी देर चलता है क्लाइंट उसका मालिक रहता है।
इंटरफ़ेस का ऊपर आना टनल के काम करने के बराबर नहीं है। पीयर के पहुँच से बाहर होने पर भी यह पते के साथ मौजूद हो सकता है, और इसीलिए इंटरफ़ेस सूची पहली जाँच है, आख़िरी नहीं। जो डिवाइस खुद को ऊपर बताता है वह कर्नेल का वर्चुअल लिंक पर दृष्टिकोण बताता है, पीयर की उत्तर देने की तैयारी नहीं।
दिया गया इंटरफ़ेस मोड जैसा है वैसा ही रहने दें। TUN प्रोफ़ाइल को TAP में बदलने से रूटेड सर्वर ब्रिज्ड नहीं हो जाता, और आम तौर पर ऐसा कनेक्शन बनता है जो स्थापित होता है और कुछ भी आगे नहीं भेजता।
रूट वही इंस्टॉल करता है जो टनल का मालिक है
रूट दूसरा बदलाव हैं, और उनका स्वामित्व उनकी सामग्री से अधिक मायने रखता है। NetworkManager प्रोफ़ाइल, systemd यूनिट और हाथ से चलाया गया क्लाइंट सभी रूट इंस्टॉल कर सकते हैं, और उनमें से दो एक साथ ऐसा करें तो ऐसी तालिका बनती है जिसे बाद में कोई समझा नहीं सकता।
ip -br addr show ip route show ip -6 route show
पूर्ण टनल प्रोफ़ाइल डिफ़ॉल्ट रूट को बदल देता है; स्प्लिट टनल प्रोफ़ाइल अधिक विशिष्ट रूट जोड़ता है और डिफ़ॉल्ट को वैसा ही रहने देता है। दोनों सामान्य हैं, और दूसरा ही कारण है कि दूर से प्रबंधित मशीन पर डिफ़ॉल्ट रूट हटाना खराब पहला परीक्षण है। उसे हटाना उस सत्र को खोने का भी सबसे तेज़ तरीका है जिसका उपयोग आप समस्या ठीक करने के लिए कर रहे हैं।
मानने के बजाय तालिका पढ़ें। अधिक विशिष्ट रूट या नीति नियम ट्रैफ़िक को टनल में भेज सकता है जबकि डिफ़ॉल्ट रूट अभी भी भौतिक इंटरफ़ेस की ओर इशारा करता है, जो पूरी तालिका पढ़ने तक विरोधाभासी लगता है। यह संयोजन स्प्लिट टनल के लिए सामान्य है और उस किसी के लिए भ्रमित करने वाला है जो उम्मीद करता है कि एक पंक्ति डिज़ाइन बता देगी। वह रूट खोजें जो आपके वास्तविक गंतव्य से मेल खाता है, वह नहीं जो आरेख से मेल खाता है।
रिज़ॉल्वर हाथ बदलता है
DNS तीसरा बदलाव है और वह जो सबसे अधिक संभावना है कि कहीं ऐसी जगह प्रबंधित हो जहाँ आपने नहीं देखा। डेस्कटॉप पर NetworkManager प्रति कनेक्शन रिज़ॉल्वर सेटिंग भेज सकता है। systemd-resolved वाले सिस्टम में सेटिंग प्रति लिंक लागू होती है और /etc/resolv.conf स्टब या सिम्बॉलिक लिंक हो सकता है, ऐसी फ़ाइल नहीं जिसे आपको संपादित करना चाहिए।
resolvectl status readlink -f /etc/resolv.conf cat /etc/resolv.conf
यदि रिज़ॉल्वर फ़ाइल में हाथ से किया गया संपादन फिर से कनेक्ट होने के बाद गायब हो जाए, तो यह उस घटक को खोजने का संकेत है जो उसे बनाए रखता है और उसके बजाय प्रोफ़ाइल बदलने का। उत्पन्न फ़ाइल को संपादित करना ऐसा बदलाव है जिसे फिर से कनेक्ट होना मिटा देगा।
निजी नामों को आम तौर पर आंतरिक रिज़ॉल्वर और ऑपरेटर द्वारा दिए गए खोज डोमेन चाहिए। सार्वजनिक रिज़ॉल्वर से बदलने पर वही संसाधन टूट सकता है जिसके लिए VPN मौजूद है, और लक्षण DNS विफलता की बजाय रूटिंग विफलता जैसा दिखता है। नाम और पता अलग-अलग जाँचें, क्योंकि एक का काम करना और दूसरे का विफल होना ठीक-ठीक बताता है कि कहाँ देखना है। यह एक तुलना रूट डिबगिंग का एक घंटा बचाती है।
प्रति कनेक्शन एक मैनेजर
प्रोफ़ाइल प्रारूप तय करता है कि कौन सा प्रोग्राम इसे उपयोग कर सकता है। OpenVPN प्रोफ़ाइल को OpenVPN या संगत प्लगइन चाहिए, और WireGuard कॉन्फ़िगरेशन का अपना प्रारूप है पीयर कुंजियों और अनुमत प्रीफ़िक्स के साथ। फ़ाइल एक्सटेंशन कुछ भी कहे, आयात संवाद एक को दूसरे में अनुवादित नहीं करता।
एक मैनेजर चुनें और कनेक्शन का मालिक उसे बनने दें। एक ही टनल को दो उपकरणों से ऊपर लाने से रूट तालिका और फिर से कनेक्ट होने का व्यवहार अस्पष्ट हो जाता है, और जो दूसरा शुरू होता है वह आम तौर पर ऐसे तरीक़ों से जीतता है जिन्हें दोहराना कठिन है।
अपने वितरण द्वारा समर्थित पैकेज इंस्टॉल करें और ऑपरेटर से प्रोफ़ाइल प्राप्त करें। इसे क्रेडेंशियल की तरह मानें, क्योंकि इसमें आम तौर पर एक निजी कुंजी या समकक्ष सामग्री होती है, और इसे वहाँ रखें जहाँ आपके बाकी रहस्य रहते हैं। डाउनलोड फ़ोल्डर में छोड़ी गई प्रोफ़ाइल डेस्क पर छोड़ी गई कुंजी है।
ऊपर है पर काम नहीं कर रहा तो क्या जाँचें
इंटरफ़ेस ऊपर है और क्लाइंट सफलता बता रहा है, ऐसे में बाहर की ओर काम करें: रूट तालिका गंतव्य के लिए टनल चुनती है या नहीं, रिज़ॉल्वर निजी नाम के लिए उत्तर देता है या नहीं, और सामने वाले पक्ष के पास वापसी मार्ग है या नहीं। हर एक के पास अलग आदेश और अलग मालिक है।
nmcli connection show --active nmcli device status wg show
nmcli संदर्भ स्थिति और कनेक्शन आदेशों का दस्तावेज़ीकरण करता है यदि आपको पूरा सेट चाहिए। यहाँ मायने यह रखता है कि प्रोफ़ाइल का सक्रिय होना और डिवाइस का ट्रैफ़िक ले जाना अलग बातें हैं, क्योंकि दोनों असहमत हो सकते हैं।
सेटअप को पूरा कहने से पहले उसी मैनेजर से एक बार फिर से कनेक्ट करें, और जाँचें कि डिस्कनेक्ट के बाद DNS अभी भी काम करता है। जो कॉन्फ़िगरेशन केवल पहले नेटवर्क बदलाव तक काम करता है वह पूरा नहीं है, वह बस इस समय काम कर रहा है।