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

जाँचें कि रूट वास्तव में किस ओर इशारा करता है

रूट प्रविष्टि और अडैप्टरों को साथ-साथ पढ़कर शुरू करें। VPN इंटरफ़ेस पर अगली छलाँग और ऐसा इंडेक्स रखने वाला रूट जो किसी मौजूदा अडैप्टर से न मिले, इस विफलता की पहचान है; किसी दूसरे इंडेक्स पर वही प्रीफ़िक्स या तो बचा हुआ अंश है या वह रूट जो आप वास्तव में चाहते हैं। किसी को भी बदलने से पहले दोनों सूचियाँ पढ़ें, क्योंकि दिलचस्प तुलना रूट की संख्या और अभी मौजूद संख्याओं के बीच है। यदि रूट का इंडेक्स अडैप्टर सूची में दिखता है, तो इंडेक्स आपकी समस्या नहीं है और खोज मेट्रिक्स, नीति या दूर के सिरे की ओर बढ़ती है। यदि नहीं दिखता, तो और कुछ निदान करने की ज़रूरत नहीं: रूट उस ढाँचे से बँधा है जो अब नहीं है।

Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling

Store कॉलम रीबूट के पार टिकने वाली प्रविष्टि को अडैप्टर के साथ गायब होने वाली प्रविष्टि से अलग करता है, और यही अंतर तय करता है कि खराबी कल लौटेगी या नहीं। स्थायी स्टोर में ऐसी प्रविष्टि जो गायब हो चुके इंडेक्स की ओर इशारा करती है, सबसे बुरा मामला है, क्योंकि वह रीबूट झेलती है पर कभी किसी चीज़ से नहीं मिलती।

प्रीफ़िक्स को प्रोफ़ाइल से बाँधें, अडैप्टर से नहीं

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

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

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

नया जोड़ने से पहले पुराने रूट साफ़ करें

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

Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false

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

अलग क्रम में दोबारा कनेक्ट करें

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

rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1

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

जानें कि रूट क्या नहीं कर सकता

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

प्रीफ़िक्स सूची प्रोफ़ाइल के साथ रखें और नोट करें कि वह किस दायरे के अंतर्गत जोड़ा गया, ताकि अगला व्यक्ति रूट तालिका से अनुमान लगाने के बजाय इच्छित डिज़ाइन पढ़ सके। केवल किसी की स्मृति में मौजूद रूट ही अगली बार दोबारा कनेक्ट होने पर गलत तरीके से फिर बनते हैं। परिनियोजन टिप्पणियों में एक पंक्ति की टिप्पणी दोबारा खोजने की पूरी दोपहर से कम खर्चीली है।

संबंधित लेख