Windows VPN के डिफ़ॉल्ट मार्ग से एक होस्ट को बाहर रखना
पूर्ण-टनल प्रोफ़ाइल डिफ़ॉल्ट मार्ग की मालिक होती है। एक होस्ट को भौतिक इंटरफ़ेस पर अधिक संकीर्ण प्रीफ़िक्स चाहिए, जो हर कनेक्शन के बाद फिर से जोड़ा जाता है।
लैपटॉप ऑफ़िस VPN से जुड़ता है और सब कुछ उसके पीछे चलता है, जिसमें एक प्रिंटर का वेब पेज और एक इंट्रानेट शामिल है जो केवल स्थानीय नेटवर्क पर उत्तर देता है। हाथ से बनाया गया मार्ग इसे एक घंटे के लिए ठीक करता है, फिर कनेक्शन टूटता है, वापस आता है, और अपवाद गायब हो जाता है। टनल में कुछ भी गड़बड़ नहीं है: Windows एक ही रूटिंग तालिका रखता है, और VPN एडाप्टर हर कनेक्शन पर उस तालिका में अपना हिस्सा फिर से लिखता है। जो बचता है वह वह सब है जो एडाप्टर की अपनी प्रविष्टियों से बाहर रहता है।
टनल कौन-सी प्रविष्टि ले लेती है
तालिका दो बार दर्ज करें, एक बार टनल बंद होने पर और एक बार चालू होने पर, और डिफ़ॉल्ट पंक्तियों की तुलना करें। जब प्रोफ़ाइल डिफ़ॉल्ट प्रीफ़िक्स का दावा करती है, तो एडाप्टर की प्रविष्टि तालिका की सबसे चौड़ी पंक्ति होती है, इसलिए कोई भी अपवाद उससे अधिक संकीर्ण होना चाहिए। यह प्रीफ़िक्स लंबाई का अंकगणित है, भरोसे या नीति का कथन नहीं। यह यह भी तय करता है कि अपवाद को किस इंटरफ़ेस का नाम देना है।
आगे बढ़ने से पहले इंटरफ़ेस इंडेक्स और स्थानीय गेटवे लिख लें, क्योंकि मशीन के दूसरे नेटवर्क में जुड़ने पर दोनों बदल जाते हैं। नीचे दिए गए कमांड उन्हें मशीन से पढ़ते हैं, स्मृति से नहीं।
route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.30
दूसरा कमांड उस इंटरफ़ेस और अगले हॉप की जानकारी देता है जो वह एक पता अभी उपयोग करेगा, जो चालीस पंक्तियाँ पढ़कर अनुमान लगाने से बेहतर है। इसे जुड़ने से पहले और बाद में चलाएँ और आपके पास वह जोड़ी होगी जो परिवर्तन रिकॉर्ड के साथ जोड़ने लायक है। दोनों आउटपुट इस पेज के बाकी हिस्से में उपयोग होने वाली संख्याएँ देते हैं।
होस्ट मार्ग विशिष्टता पर जीतता है
सबसे लंबे प्रीफ़िक्स का मिलान विजेता तय करता है, इसलिए भौतिक गेटवे से जाने वाला /32 टनल से जाने वाले डिफ़ॉल्ट को हरा देता है, बिना टनल को छुए। उस पते का ट्रैफ़िक स्थानीय इंटरफ़ेस से निकलता है जबकि बाकी सब अपना मौजूदा रास्ता बनाए रखता है। टनल अब भी डिफ़ॉल्ट ले जाती है और उस गंतव्य के लिए अकेला उम्मीदवार होना बस बंद कर देती है। प्रीफ़िक्स लंबाई ही वह एकमात्र लीवर है जो तालिका देती है, और इस काम के लिए वह काफ़ी है।
विशिष्टता डोमेन नाम को बाहर रखने के स्पष्ट शॉर्टकट को भी रद्द करती है, क्योंकि तालिका पते मिलाती है और एक नाम कई पतों में हल हो सकता है। पहले होस्ट हल करें, फिर तय करें कि उसके कौन-से पते अपवाद के योग्य हैं।
नीचे सब कुछ के लिए, Office नाम का कनेक्शन, स्थानीय गेटवे 10.0.0.1 इंटरफ़ेस 7 पर, और गंतव्य 198.51.100.30 पर मान लें। ये प्लेसहोल्डर हैं, डिफ़ॉल्ट नहीं, और ऊपर के कमांड वही मान देते हैं जो आपकी मशीन वास्तव में उपयोग करती है। यह प्रतिस्थापन नोट परिवर्तन के साथ रखें ताकि अगला पाठक संख्याएँ नकल न करे।
मार्ग को अगले पुनःकनेक्शन से आगे टिकाएँ
Windows VPN कनेक्शन पर कोई बहिष्करण निर्देश नहीं देता, इसलिए अपवाद को भौतिक इंटरफ़ेस पर ही रहना होगा जहाँ एडाप्टर उसे फिर से नहीं लिखेगा। जवाब जैसा दिखने वाला cmdlet उल्टा करता है: Add-VpnConnectionRoute प्रीफ़िक्स को टनल के अंदर ले जाता है, और यह दर्पण स्थिति है जहाँ विभाजित प्रोफ़ाइल को एक गंतव्य ले जाना चाहिए और बाकी स्थानीय छोड़ना चाहिए । यहाँ उसकी ओर हाथ बढ़ाना गारंटी देता है कि जो ट्रैफ़िक आप बाहर रखना चाहते थे वह अंदर चला जाए।
हाथ वाला रूप एक ही कमांड है। उसकी कमज़ोरी पुनःकनेक्शन नहीं, नेटवर्क परिवर्तन है।
route -p add 198.51.100.30 mask 255.255.255.255 10.0.0.1 metric 1 if 7
यह -p के कारण रीबूट के बाद भी टिकता है और एक पता इंटरफ़ेस 7 से बाहर भेजता है जबकि टनल बाकी सब कुछ ले जाती है। लैपटॉप को दूसरे नेटवर्क पर ले जाएँ और गेटवे तथा इंडेक्स दोनों पुराने पड़ जाते हैं, इसलिए प्रविष्टि चुपचाप विफल हो जाती है। दर्ज करें कि इसका मालिक कौन है और इसे कब हटाना चाहिए।
कनेक्शन स्क्रिप्ट अधिक मज़बूत संस्करण है, क्योंकि यह प्रविष्टि के बचने की आशा करने के बजाय हर कनेक्शन के बाद अपवाद फिर से जोड़ती है। नीचे की दो पंक्तियाँ उस चीज़ की हैं जो टनल शुरू करती है, लॉगऑन स्क्रिप्ट की नहीं।
rasdial Office
route add 198.51.100.30 mask 255.255.255.255 10.0.0.1 metric 1 if 7
जो भी टनल को ऊपर लाता है वह दूसरी पंक्ति के लिए सही जगह है, और rasdial कनेक्शन स्थापित होने के बाद ही लौटता है, इसलिए मार्ग एडाप्टर की अपनी प्रविष्टियों के पीछे उतरता है। नींद से जागने के बाद इसे फिर चलाएँ, क्योंकि सस्पेंड मार्ग गिरा सकता है और टनल ऊपर छोड़ सकता है। यदि काम उल्टा है, एक प्रीफ़िक्स को टनल में धकेलना और बाकी स्थानीय रखना, तो Add-VpnConnectionRoute सही उपकरण है।
रूटिंग प्रोसेस नहीं चुन सकती
कभी-कभी आवश्यकता गंतव्य से भी संकीर्ण होती है: एक प्रोग्राम स्थानीय रास्ता ले और बाकी सब टनल के अंदर रहे। रूटिंग इसे व्यक्त नहीं कर सकती, क्योंकि यह प्रोसेस के बजाय पते मिलाती है । काम करने वाला पैटर्न समस्या को लॉन्चर में धकेल देता है।
प्रोफ़ाइल को डिफ़ॉल्ट मार्ग से दूर रखें और उस एक प्रोग्राम को स्थानीय इंटरफ़ेस पते से बाँधकर शुरू करें, तब अपवाद लॉन्च कमांड बन जाता है और टनल वही रखती है जो पहले से संभाल रही थी। रूटिंग तालिका में कुछ नहीं बदलता, और इसीलिए यह पुनःकनेक्शन में टिकता है। इसका मतलब यह भी है कि टनल को शुरू से डिफ़ॉल्ट मार्ग नहीं रखना चाहिए, इसलिए यह अलग डिज़ाइन है, पिछले पर पैच नहीं।
इसकी कमज़ोरी तकनीकी नहीं, परिचालनगत है। प्रोग्राम को हमेशा रैपर के ज़रिए शुरू होना चाहिए, और अगर नींद के बाद बाइंडिंग गायब है तो वह चुपचाप तालिका जो भी रास्ता दे वह ले लेता है। यह उस ब्राउज़र के लिए सह्य है जिसे आप जानबूझकर खोलते हैं और उस किसी भी चीज़ के लिए अस्वीकार्य है जो कभी टनल नहीं छोड़नी चाहिए।
प्रति-उपयोगकर्ता कनेक्शन भी इसे नहीं सुलझाते। Windows कनेक्शन को किसी खाते तक सीमित कर सकता है जबकि रूटिंग तालिका मशीन-व्यापी रहती है, इसलिए डिफ़ॉल्ट मार्ग वाला खाता-सीमित कनेक्शन अब भी मशीन के हर प्रोसेस को, अन्य सत्रों सहित, अनुप्रेषित करता है। दायरा तभी वास्तविक होता है जब मार्ग का दायरा खाते से मेल खाए। इसलिए एक लैपटॉप साझा करने वाले दो लोग एक तालिका साझा करते हैं, और दूसरा वही टनल विरासत में पाता है जो पहले ने शुरू की थी।
पुष्टि करें कि अपवाद पुनःकनेक्शन में बचा रहा
परिवर्तन को उसी तरह जाँचें जैसे वह विफल होगा: डिस्कनेक्ट करें, फिर जुड़ें, नया एप्लिकेशन खोलें, फिर एक पता माँगें जो स्थानीय रहना चाहिए और एक जो टनल का उपयोग करना चाहिए। दोनों की Find-NetRoute से जुड़ी स्थिति में तुलना करें।
अगर पुनःकनेक्शन के बाद प्रीफ़िक्स तालिका में नहीं है, तो वह गलत फ़ॉर्मेट में नहीं, गलत ऑब्जेक्ट में रहता है। इसे भौतिक इंटरफ़ेस पर ले जाएँ और परीक्षण दोहराएँ। दोनों कमांड आउटपुट परिवर्तन रिकॉर्ड के साथ रखें, क्योंकि काम करने वाली स्थिति का स्नैपशॉट बाद में व्याख्या के एक पैराग्राफ से अधिक सवालों का जवाब देता है। अगला व्यक्ति जानना चाहेगा कि कनेक्शन ने क्या पैदा किया, न कि आप क्या पैदा करना चाहते थे।