Windows में एक IKEv2 क्लाइंट आता है जिसे PowerShell शुरू से अंत तक नियंत्रित करता है, इसलिए काम करने वाली टनल को न GUI चाहिए और न तीसरे पक्ष का सॉफ़्टवेयर। लगभग हर विफलता तीन जगहों से आती है: प्रमाणपत्र कहाँ पहुँचा, रूट प्रीफ़िक्स कैसे लिखे गए और चुनी गई EAP विधि क्या अपेक्षा करती है। इन्हें उसी क्रम में संभालें, क्योंकि हर एक अगले के शुरू होने से पहले जाँचा जा सकता है और बाद की त्रुटि पहले की त्रुटि को छिपा देगी।

मशीन प्रमाणपत्र वाली टनलें इसलिए होती हैं कि कोई लॉगिन करे उससे पहले शुरू हों, इसलिए पहचान सामान्यतः उपयोगकर्ता के नहीं, कंप्यूटर के स्टोर में रहनी चाहिए।

पहले प्रमाणपत्र, फिर टनल

दो आयात महत्वपूर्ण हैं। क्लाइंट पहचान Cert:\LocalMachine\My में Import-PfxCertificate से जाती है, और जारी करने वाला CA Cert:\LocalMachine\Root में Import-Certificate से जाता है। अकेला लीफ़ प्रमाणपत्र कोई श्रृंखला सिद्ध नहीं करता, इसलिए दूसरा आयात छोड़ने से सत्यापन के पास बनाने को कुछ नहीं बचता। उपस्थिति के अलावा, निजी कुंजी जुड़ी होनी चाहिए और कंप्यूटर खाते को उसे पढ़ने की अनुमति होनी चाहिए। Get-ChildItem Cert:\LocalMachine\My सूची दिखाता है कि क्या आया; विषयों की जगह थंबप्रिंट की तुलना करें, क्योंकि लगभग एक जैसे विषय सामान्य हैं।

तैनाती से पहले विस्तारित कुंजी उपयोग जाँचें। IKEv2 मशीन पहचान के लिए क्लाइंट प्रमाणीकरण सामान्य आवश्यकता है, और सामने वाले पक्ष को उस CA पर भरोसा करना होगा जिसने उसे हस्ताक्षरित किया। उपयोगकर्ता के स्टोर में रहने वाली पहचान कंप्यूटर-संदर्भ के कनेक्शन के लिए अस्तित्व में नहीं है।

प्रोफ़ाइल और उसके रूट बनाएँ

Add-VpnConnection -Name "Office IKEv2" -ServerAddress vpn.example.com -TunnelType Ikev2 -EncryptionLevel Required -AuthenticationMethod MachineCertificate -AllUserConnection प्रोफ़ाइल लिखता है। -AllUserConnection स्विच उसे वैश्विक फ़ोन बुक में प्रकाशित करता है, जो साझा या सेवा-प्रबंधित बॉक्स के लिए उपयुक्त है; एक उपयोगकर्ता के लिए इसे छोड़ दें। आप जो भी पता दें, उसे सर्वर के प्रमाणपत्र में दिए DNS नाम से मेल खाना चाहिए, वरना विफलता टनल पहले से चालू होने के बाद दिखती है। फिर प्रीफ़िक्स Add-VpnConnectionRoute के साथ एक-एक करके जोड़े जाते हैं, और केवल वही जिनकी डिज़ाइन को वास्तव में आवश्यकता है।

IPv6 में एक विचित्रता है: Windows ::/0 को VPN रूट के रूप में अस्वीकार करता है, इसलिए ::/1 और 8000::/1 मिलकर वही पता स्थान कवर करते हैं। किसी प्रीफ़िक्स को रूट करने से दूर के फ़ायरवॉल पर भी कुछ नहीं मिलता, इसलिए प्रीफ़िक्स सूची और फ़ायरवॉल नीति अलग दस्तावेज़ रहते हैं।

क्रेडेंशियल प्रमाणीकरण विधि के अंतर्गत आते हैं

मशीन प्रमाणपत्र प्रोफ़ाइल को उपयोगकर्ता का कोई रहस्य नहीं चाहिए, जबकि EAP-MSCHAPv2 प्रोफ़ाइल को चाहिए। दूसरे मामले में VPNCredentialsHelper मॉड्यूल Set-VpnConnectionUsernamePassword देता है, और वह सादा पाठ चाहता है: $cred.Password एक SecureString है, इसलिए पहले उसे GetNetworkCredential().Password से खोलें। मॉड्यूल को हर वहाँ इंस्टॉल करें जहाँ कमांड चलता है, केवल उस वर्कस्टेशन पर नहीं जहाँ यह लिखा गया था। EAP-TLS या कस्टम विधि इस cmdlet का बिलकुल उपयोग नहीं करती; इसके बजाय वे EAP कॉन्फ़िगरेशन XML लेती हैं।

rasdial "Office IKEv2" शेल से कनेक्शन उठाता है, और घटना लॉग के बजाय परिणाम अग्रभूमि में देखने का यह सबसे तेज़ तरीका है।

कनेक्टेड टनल क्या सिद्ध नहीं करती

कनेक्टेड स्थिति IKE आदान-प्रदान और प्रमाणीकरण चरण को कवर करती है, उससे आगे कुछ नहीं। DNS व्यवहार, निजी होस्ट तक का मार्ग और दूर का फ़ायरवॉल सभी अभी सिद्ध नहीं। बाहर की ओर काम करें: टनल अडैप्टर, फिर निजी पते के लिए रूट लुकअप, फिर एक सेवा जिसे उपयोग करने का आपको अधिकार है। पहला अवलोकन जो विफल होता है वही जाँचने योग्य परत बताता है।

प्रोफ़ाइल बदलते समय पिछली को Remove-VpnConnection -Name "Office IKEv2" -Force से हटाएँ, फिर उसे फिर से बनाएँ; वरना संपादन के बाद भी पुरानी सेटिंग्स और रूट बनी रहती हैं। यदि वह फिर भी कनेक्ट न हो, तो प्रोफ़ाइल में दर्ज थंबप्रिंट की तुलना स्टोर में मौजूद थंबप्रिंट से करें, क्योंकि Windows किसी ऐसी पहचान का संदर्भ रख सकता है जो इस बीच अपरिवर्तित विषय के अंतर्गत बदल दी गई हो।

थंबप्रिंट, EAP विधि और रूट सूची प्रोफ़ाइल के पास रखें। मिलकर वे बाद में जो गड़बड़ होता है उसका अधिकांश हिस्सा समझाते हैं।

संबंधित लेख