IOS में PPTP VPN समर्थन को अक्षम करने के कारण, मेरे एक क्लाइंट ने PPTP से L2TP/IPSec में Windows Server 2012 R2 चलाने वाले VPN सर्वर को पुन:कॉन्फ़िगर करने का निर्णय लिया। लैन के अंदर से आंतरिक वीपीएन क्लाइंट बिना किसी समस्या के वीपीएन सर्वर से जुड़ते हैं, हालांकि बाहरी विंडोज क्लाइंट को एल2टीपी वीपीएन सर्वर के साथ कनेक्शन स्थापित करने का प्रयास करते समय त्रुटि 809 मिलती है:
L2TP-IPsec-VPN-Server.hostname से कनेक्ट नहीं हो सकता
आपके कंप्यूटर और VPN सर्वर के बीच नेटवर्क कनेक्शन स्थापित नहीं किया जा सका क्योंकि दूरस्थ सर्वर प्रतिसाद नहीं दे रहा है। ऐसा इसलिए हो सकता है क्योंकि आपके कंप्यूटर और रिमोट सर्वर के बीच एक नेटवर्क डिवाइस (जैसे फायरवॉल, NAT, राउटर आदि) को VPN कनेक्शन की अनुमति देने के लिए कॉन्फ़िगर नहीं किया गया है। यह निर्धारित करने के लिए कि कौन सा उपकरण समस्या पैदा कर रहा है, कृपया अपने व्यवस्थापक या अपने सेवा प्रदाता से संपर्क करें।
अन्य Windows संस्करणों में, कनेक्शन त्रुटियाँ 800 , 794 या 809 एक ही समस्या का संकेत दे सकता है।
यह ध्यान देने योग्य है कि वीपीएन सर्वर एक NAT के पीछे है, और राउटर को L2TP पोर्ट को अग्रेषित करने के लिए कॉन्फ़िगर किया गया है:
- यूडीपी 1701 - लेयर 2 फॉरवर्डिंग प्रोटोकॉल (L2F) और लेयर 2 टनलिंग प्रोटोकॉल (L2TP)
- यूडीपी 500
- यूडीपी 4500 NAT-T – IPSec नेटवर्क एड्रेस ट्रांसलेटर ट्रैवर्सल
- प्रोटोकॉल 50 ईएसपी
ये पोर्ट वीपीएन कनेक्शन के लिए विंडोज फ़ायरवॉल नियमों में भी खुले हैं। यानी, क्लासिक कॉन्फ़िगरेशन का उपयोग किया जाता है। अंतर्निहित Windows VPN क्लाइंट कनेक्शन के लिए उपयोग किया जाता है।
यदि आप पीपीटीपी के माध्यम से उसी वीपीएन सर्वर से जुड़ते हैं, तो कनेक्शन सफलतापूर्वक स्थापित हो जाता है।NAT के पीछे विंडोज़ पर L2TP/IPSec के लिए VPN त्रुटि 809
जैसा कि यह निकला, समस्या पहले से ही ज्ञात है और लेख में वर्णित है https://support.microsoft.com/en-us/kb/926179। Windows अंतर्निहित VPN क्लाइंट डिफ़ॉल्ट रूप से NAT के माध्यम से L2TP/IPsec कनेक्शन का समर्थन नहीं करता है। ऐसा इसलिए है क्योंकि IPsec ESP . का उपयोग करता है (एनकैप्सुलेटिंग सिक्योरिटी पेलोड) पैकेट को एन्क्रिप्ट करने के लिए, और ESP PAT का समर्थन नहीं करता है (पोर्ट एड्रेस ट्रांसलेशन)। यदि आप संचार के लिए IPSec का उपयोग करना चाहते हैं, तो Microsoft VPN सर्वर पर सार्वजनिक IP पतों का उपयोग करने की अनुशंसा करता है।
लेकिन एक उपाय भी है। आप NAT-T . के लिए समर्थन सक्षम करके इस कमी को ठीक कर सकते हैं प्रोटोकॉल, जो आपको पोर्ट 4500 पर यूडीपी पैकेट में ईएसपी 50 पैकेट को एनकैप्सुलेट करने की अनुमति देता है। एनएटी-टी विंडोज को छोड़कर लगभग सभी ऑपरेटिंग सिस्टम (आईओएस, एंड्रॉइड, लिनक्स) में डिफ़ॉल्ट रूप से सक्षम है।
यदि L2TP/IPsec VPN सर्वर NAT डिवाइस के पीछे है, तो NAT के माध्यम से बाहरी क्लाइंट को सही तरीके से कनेक्ट करने के लिए, आपको L2TP और NAT-T के लिए UDP पैकेट एनकैप्सुलेशन की अनुमति देने के लिए सर्वर और क्लाइंट दोनों तरफ रजिस्ट्री में कुछ बदलाव करने होंगे। IPsec में समर्थन।
- रजिस्ट्री संपादक खोलें (
regedit.exe
) और निम्न रजिस्ट्री कुंजी पर जाएँ:- Windows 10/8.1/Vista और Windows Server 2016/2012R2/2008R2 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
- Windows XP/Windows Server 2003 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
- एक DWORD बनाएं AssumeUDPEncapsulationContextOnSendRule . नाम के साथ पैरामीटर और मान 2; नोट . संभावित मान UDPEncapsulationContextOnSendRule मान हैं:
- 0 - (एक डिफ़ॉल्ट मान) बताता है कि सर्वर NAT के बिना इंटरनेट से जुड़ा है;
- 1 - NAT डिवाइस के पीछे VPN सर्वर है;
- 2 — VPN सर्वर और क्लाइंट दोनों NAT के पीछे हैं।
- बस अपने कंप्यूटर को पुनरारंभ करें और सुनिश्चित करें कि वीपीएन सुरंग सफलतापूर्वक स्थापित हो गई है
साथ ही, आप रजिस्ट्री में परिवर्तन करने के लिए PowerShell cmdlet का उपयोग कर सकते हैं:
Set-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Services\PolicyAgent" -Name "AssumeUDPEncapsulationContextOnSendRule" -Type DWORD -Value 2 –Force;
NAT-T समर्थन को सक्षम करने के बाद, आप NAT (डबल NAT सहित) के माध्यम से क्लाइंट से VPN सर्वर से सफलतापूर्वक कनेक्ट करने में सक्षम होंगे।
कुछ मामलों में, वीपीएन के ठीक से काम करने के लिए, आपको टीसीपी 1701 के लिए एक अतिरिक्त फ़ायरवॉल नियम को सक्षम करने की आवश्यकता है (कुछ L2TP कार्यान्वयन में, इस पोर्ट का उपयोग UDP 1701 के संयोजन में किया जाता है)। NAT-T ने पहले के Windows 10 बिल्ड में ठीक से काम नहीं किया, उदाहरण के लिए, 10240, 1511, 1607। यदि आपके पास एक पुराना Windows संस्करण है, तो हम आपको Windows 10 बिल्ड को अपग्रेड करने की सलाह देते हैं।एक ही LAN से कई L2TP VPN कनेक्शन
एक और दिलचस्प वीपीएन बग है। यदि आपके स्थानीय नेटवर्क में कई विंडोज़ कंप्यूटर हैं, तो आप बाहरी L2TP/IPSec VPN सर्वर से एक साथ एक से अधिक कनेक्शन स्थापित नहीं कर सकते। यदि आप किसी अन्य कंप्यूटर से एक ही वीपीएन सर्वर से कनेक्ट करने का प्रयास करते हैं (विभिन्न डिवाइस से सक्रिय वीपीएन सुरंग के साथ), तो त्रुटि कोड 809 या 789 दिखाई देगा:
Error 789: The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remove computer.दिलचस्प बात यह है कि यह समस्या केवल विंडोज डिवाइस पर होती है। एक ही स्थानीय नेटवर्क पर Linux/MacOS/Android उपकरणों पर, ऐसी कोई समस्या नहीं है। आप एक ही समय में कई उपकरणों से VPN L2TP सर्वर से आसानी से जुड़ सकते हैं।
TechNet के अनुसार, समस्या विंडोज़ पर L2TP/IPSec क्लाइंट के गलत कार्यान्वयन से संबंधित है (कई वर्षों से ठीक नहीं)।
इस बग को ठीक करने के लिए, आपको HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters में दो रजिस्ट्री पैरामीटर बदलने होंगे। रजिस्ट्री कुंजी और अपने कंप्यूटर को पुनरारंभ करें:
- AllowL2TPWeakCrypto - 00000001 . में बदलें (कमजोर एन्क्रिप्शन एल्गोरिदम की अनुमति देता है, L2TP/IPSec के लिए MD5 और DES एल्गोरिदम का उपयोग किया जाता है);
- प्रतिबंध IPSec - 00000000 . में बदलें (IPsec एन्क्रिप्शन को सक्षम करता है, जिसे अक्सर कुछ VPN क्लाइंट या सिस्टम टूल द्वारा अक्षम कर दिया जाता है)।
इन रजिस्ट्री परिवर्तनों को लागू करने के लिए निम्न आदेश चलाएँ:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters" /v AllowL2TPWeakCrypto /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters" /v ProhibitIpSec /t REG_DWORD /d 0 /f
यह एक साझा सार्वजनिक आईपी पते के माध्यम से विंडोज पर समवर्ती L2TP / IPSec वीपीएन कनेक्शन के लिए समर्थन को सक्षम करता है (विंडोज एक्सपी से विंडोज 10 के सभी संस्करणों पर काम करता है)।