हैंडशेक पूरा होता है, ब्राउज़िंग चलती है, और प्रिंटर, NAS तथा स्थानीय SSH होस्ट गायब हो जाते हैं। Windows क्लाइंट में यह आम तौर पर राउटिंग की विफलता ही नहीं होती: जिस पीयर के अनुमत प्रीफ़िक्स में शाब्दिक डिफ़ॉल्ट शामिल होता है, वह टनल से बाहर के ट्रैफ़िक को ब्लॉक करें सक्रिय कर देता है, और यह विकल्प फ़ायरवॉल नियमों के रूप में लागू होता है जो किसी भी दूसरे इंटरफ़ेस से निकलने वाले पैकेट गिरा देते हैं। रूट टेबल स्थानीय सबनेट को अब भी सीधा लिंक दिखाती है, इसीलिए लक्षण झूठ जैसा लगता है। इसके बारे में क्या करना है, यह तीन शर्तें तय करती हैं, और उनमें से सिर्फ़ एक राउटिंग से जुड़ी है।

दो विफलताएँ एक ही लक्षण पहनती हैं

पहली विफलता क्लाइंट का fail-closed मोड है, और उसकी पहचान यह है कि टनल के बाहर सब कुछ रुक जाता है जबकि टनल ख़ुद बख़ूबी काम करता रहता है। दूसरी असली पहुँच की समस्या है: छूटा हुआ रूट, क्लाइंट के पीछे के सबनेट के लिए सर्वर पर छूटी हुई प्रविष्टि, या दो नेटवर्क जो एक ही पता-सीमा साझा करते हैं। दोनों ऐसी मशीन देते हैं जो ब्राउज़ कर सकती है और प्रिंट नहीं कर सकती, और उनके उपाय उलटे हैं, इसलिए निदान कॉन्फ़िगरेशन से पहले आना चाहिए।

भेद करने वाला अवलोकन यह है कि क्या स्थानीय सबनेट अब भी रूट टेबल में मौजूद है, जबकि उसकी ओर का ट्रैफ़िक गिराया जा रहा है।

तीन शर्तें जवाब तय करती हैं

पहला, क्या इस मशीन को fail-closed चाहिए? अगर जवाब हाँ है, तो गिरती हुई टनल को ट्रैफ़िक रोकना चाहिए, उसे भौतिक इंटरफ़ेस पर वापस जाने देने के बजाय, और यह अपेक्षा स्थानीय सुविधा से ऊपर है। दूसरा, जब तक टनल चालू है, क्या स्थानीय उपकरण पहुँच में रहने चाहिए? प्रिंटिंग, नेटवर्क स्टोरेज और स्थानीय प्रबंधन कंसोल आम कारण हैं, और ये वैध अपेक्षाएँ हैं, ऐसी छूट नहीं जिनके लिए माफ़ी माँगी जाए। तीसरा, क्या प्रोफ़ाइल डिफ़ॉल्ट को शाब्दिक 0.0.0.0/0 के रूप में व्यक्त करता है? यही ब्योरा क्लाइंट के नियमों को सक्रिय करता है, और यह संपादन योग्य है।

प्रोफ़ाइल को छूने से पहले इन तीनों का लिखित जवाब दें, क्योंकि हर जवाब अलग कॉन्फ़िगरेशन की ओर इशारा करता है।

fail-closed चुनें और LAN छोड़ दें

अगर लीक स्थानीय पहुँच से ज़्यादा मायने रखता है, तो शाब्दिक डिफ़ॉल्ट रखें और टनल से बाहर के ट्रैफ़िक को ब्लॉक करें चालू रहने दें। यह सुसंगत रुख है: मशीन को ऐसे उपकरण के रूप में लिया जाता है जो या तो टनल के भीतर है या ऑफ़लाइन, और स्थानीय सेवाएँ किसी दूसरे उपकरण से या टनल के ज़रिए पहुँची जाती हैं अगर सर्वर उन्हें राउट करता है। कीमत असली है और उसे परिनियोजन नोट्स में लिखा जाना चाहिए, न कि उस व्यक्ति को खुद पता चले जिसे प्रिंट करना है।

टनल गिरने पर कैफ़े के नेटवर्क पर जो काम नहीं दिखना चाहिए, वह करने वाली मशीनों के लिए यह सही चुनाव है। घर के लैपटॉप के लिए यह बुरा डिफ़ॉल्ट है जिसे स्कैनर भी चाहिए।

LAN ऐक्सेस चुनें और डिफ़ॉल्ट दूसरे ढंग से व्यक्त करें

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

[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820

उस चेकबॉक्स को हटाने पर क्लाइंट प्रोफ़ाइल में वही दो जोड़ियाँ लिखता है, इसलिए बनाई गई फ़ाइल की ऊपर के ब्लॉक से तुलना करना तंत्र का अनुमान लगाने के बजाय उसे पुष्ट करने का तेज़ तरीका है। इसके दो नतीजे निकलते हैं। कवरेज एक जैसा है, इसलिए टनल में और कुछ नहीं बदलता। सुरक्षा एक जैसी नहीं है: नियम हटने पर गिरती हुई टनल मशीन को उसके भौतिक इंटरफ़ेस का इस्तेमाल करने देती है, और fail-closed ठीक यही रोक रहा था।

बाकी दो संदिग्ध हर हाल में जाँचें

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

Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0

नेटवर्क श्रेणी लोगों की अपेक्षा से ज़्यादा मायने रखती है: नया बना टनल अडैप्टर अगर सार्वजनिक के रूप में वर्गीकृत हो जाए तो उस पर कौन-से नियम लागू होते हैं यह बदल जाता है, और नतीजा दूर के सिरे पर फ़ायरवॉल ब्लॉक जैसा दिख सकता है। रूट प्रिंट दिखाता है कि डिफ़ॉल्ट है भी या नहीं, जो नीति की समस्या को छूटे हुए रूट से अलग करता है।

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

संबंधित लेख