Windows मधील प्रत्येक ऍपसाठी VPN ट्रिगर विरुद्ध स्प्लिट टनेलिंग: काय वेगळे करते
ऍपमुळे सुरू होणारी Windows VPN प्रोफाइल फक्त एक टनेल उघडते. राउट केलेली स्प्लिट टनेल त्यात काय जाते हे ठरवते, आणि दोन्ही एका ऍपसाठी वेगवेगळ्या पद्धतीने अपयशी होतात.
Windows मधील दोन सेटअप सेटिंग्जमध्ये सारखे दिसतात आणि अजिबात सारखे वागत नाहीत। एक कॉपी केलेली VPN प्रोफाइल आहे ज्यात ऍप्लिकेशन ट्रिगर आहे, त्यामुळे एक अंमलबजावणीयोग्य फाइल सुरू केल्यावर टनेल वर येते। दुसरी स्प्लिट-टनेल प्रोफाइल आहे जिची राउट यादी योगायोगाने ते झाकते ज्याशी ते ऍप बोलते। पहिली टनेल कधी अस्तित्वात आहे हे सांगते। दुसरी कोणते पॅकेट आत जातात हे सांगते, आणि फक्त दुसरी मशीनचा उर्वरित भाग भौतिक लिंकवर ठेवते तर ऍप जोडलेले राहते।
ट्रिगर जीवनचक्राचा नियम आहे, राउटिंगचा नियम नाही
Add-VpnConnectionTriggerApplication अंमलबजावणीयोग्य मार्ग प्रोफाइल नावाशी जोडतो। ती प्रक्रिया सुरू झाल्यावर रिमोट ऍक्सेस कनेक्शन मॅनेजर प्रोफाइल डायल करतो, आणि ट्रिगरची अट संपल्यावर कनेक्शन तुटू शकते। त्या देवाणघेवाणीत काहीही सॉकेट तपासत नाही। कमांडला उन्नत शेल, बायनरीचा पूर्ण मार्ग आणि -Force जेव्हा तुम्ही विद्यमान नोंद बदलता तेव्हा गरज असते। जोडणी टिकली आहे याची खात्री करा याद्वारे: Get-VpnConnectionTrigger प्रॉम्प्टवर विश्वास ठेवण्याऐवजी; Microsoft चा Add-VpnConnectionTriggerApplication संदर्भ पॅरामीटर्स आणि उदाहरणे सूचीबद्ध करतो।
दोन मर्यादा “ट्रिगर काहीही करत नाही” अशा बहुतेक तक्रारी स्पष्ट करतात। ट्रिगर सर्व वापरकर्त्यांच्या प्रोफाइलभोवती बनवले जातात, म्हणून प्रोफाइलची व्याप्ती ही पहिली गोष्ट ठरवायची आहे, आणि ऍपचा मार्ग प्रत्यक्ष चालणाऱ्या बायनरीशी जुळला पाहिजे, शॉर्टकटशी किंवा दुसरी प्रक्रिया तयार करणाऱ्या लाँचरशी नाही। दुसरी मर्यादा जाणीवपूर्वक आहे: Windows विश्वसनीय ठरवत असलेल्या नेटवर्कवर ट्रिगर निष्क्रिय राहतो, कारण प्रोफाइल कार्यालयाबाहेर काम करण्यासाठी आहे।
Add-VpnConnectionTriggerApplication -Name "APP_VPN" -ApplicationID "C:\Program Files\Vendor\app.exe" -Force
Get-VpnConnectionTrigger -Name "APP_VPN" | Format-List *
Get-VpnConnection -Name "APP_VPN" | Format-List Name,ConnectionStatus,SplitTunneling,AllUserConnection
स्प्लिट टनेल टनेलमधून काय जाते हे ठरवते
स्प्लिट टनेल बंद असताना Windows VPN इंटरफेसवर कमी मेट्रिकचा वर्ग-आधारित डीफॉल्ट राउट बसवतो। प्रत्येक सॉकेट त्याचे अनुसरण करते, ब्राउझर आणि अपडेट सेवाही, त्यामुळे त्या संरचनेत ट्रिगर प्रोफाइल जोडलेले असताना संपूर्ण मशीन हलवतो। ट्रिगर अजूनही फक्त जीवनचक्राचा नियम आहे; परिणामाची त्रिज्या राउटमधून आली।
स्प्लिट टनेल सुरू असताना प्रोफाइल फक्त ते प्रीफिक्स घेऊन जाते जे गेटवे ढकलते किंवा जे तुम्ही VPN इंटरफेसवर जोडता। बाकी सर्व भौतिक डीफॉल्ट राउट वापरत राहते। हीच ती व्यवस्था आहे जिला लोक सहसा “एक ऍप वेगळ्या निर्गमातून” म्हणतात, आणि तो सुरुवातीपासून शेवटपर्यंत राउटिंगचा निर्णय आहे।
Set-VpnConnection -Name "APP_VPN" -SplitTunneling $true
Get-VpnConnection -Name "APP_VPN" | Select-Object SplitTunneling
Get-NetRoute -InterfaceAlias "APP_VPN" | Sort-Object DestinationPrefix
राउट केलेली विभागणी तुमचे ऍप वेगळे करणे कुठे थांबवते
सामान्य अपयश असे गंतव्य आहे जे टनेलच्या राउट यादीत कधीच दिसत नाही। एका पत्त्यावर साइन इन करून नंतर CDN वरून स्ट्रीम करणारे ऍप, किंवा डझनभर फिरणारे एंडपॉइंट सोडवणारे ऍप, काही कनेक्शन VPN इंटरफेसवर आणि उर्वरित Wi-Fi वर ठेवेल। IPv6 वेगळी तक्ता आहे, त्यामुळे फक्त IPv4 प्रीफिक्स ढकलणारी प्रोफाइल बरोबर दिसू शकते तर ऍपचा IPv6 रहदारी स्थानिक राहतो।
दोन लहान परिणाम तितकेच महत्त्वाचे आहेत। सर्वात लांब प्रीफिक्स जुळणी जिंकते, त्यामुळे अधिक विशिष्ट ऑन-लिंक राउट, व्यवस्थापन होस्टसाठी ढकललेला /32, किंवा दुसऱ्या ऍडॉप्टरचे सबनेट तुम्हाला महत्त्वाच्या असलेल्या पत्त्यासाठी टनेलला हरवू शकतात। नाव सोडवणेही राउटिंगपूर्वी होते: प्रोफाइलचे DNS सर्व्हर किंवा NRPT नियम नाव झाकत नसल्यास ऍप भौतिक ऍडॉप्टरमधून सोडवून मग टनेल केलेल्या प्रीफिक्समध्ये कधीच नसलेला पत्ता डायल करू शकते।
तीन आकार, आणि प्रत्येक काय देतो
तक्ता हा भाग मी भिंतीवर चिकटवेन, कारण निर्णय परिणामाच्या त्रिज्याबद्दल आहे, वैशिष्ट्यांबद्दल नाही। ऍपची गंतव्ये स्थिर प्रीफिक्स असतील जी तुम्ही सूचीबद्ध करू शकता, तर राउट केलेली विभागणी सर्वात लहान ठसेसह वेगळेपण देते। नसल्यास, VM किंवा दुसऱ्या डिव्हाइसच्या मागे डीफॉल्ट-राउट प्रोफाइल एकापेक्षा जास्त प्रक्रिया हलवण्याच्या किमतीत वेगळेपण प्रामाणिक ठेवते।
| Shape | What starts the tunnel | What enters it | Pick it when |
|---|---|---|---|
| Trigger plus routed split | Process start | Only pushed or added prefixes | The app's endpoints are stable prefixes and the host should stay direct |
| Trigger plus default route | Process start | Everything, machine-wide | You need one exit for all traffic and accept the wider scope |
| Separate VM or device | Guest boot or login | Everything inside that guest | The app's destinations rotate, or the host must keep its own public address |
यापैकी कोणतेही होस्टवर सॉकेट-स्तरीय बाइंडिंग देत नाही। Windows च्या क्लासिक VPN क्लायंटमध्ये ही प्रक्रिया तोच ऍडॉप्टर वापरली पाहिजे असा नियम नाही; ट्रिगर आणि राउट फिल्टर वेगवेगळ्या स्तरांमध्ये राहतात, आणि इंटरफेस निवडणारा स्तर राउटिंग तक्ता आहे। एखादा मार्गदर्शक फक्त कॉपी केलेल्या प्रोफाइलमधून प्रति-ऍप अंमलबजावणीचे वचन देत असेल, तर कोणता राउट किंवा कोणता फिल्टर काम करत आहे ते विचारा।
एका फेरीत जोडीची पडताळणी करा
जीवनचक्र आणि राउटिंग स्वतंत्रपणे तपासा, याच क्रमाने। ऍप बंद करा, प्रोफाइल Disconnected सांगते याची खात्री करा, नंतर ऍप सुरू करा आणि स्थिती बदलली आहे का ते पहा। टनेल वर आल्यावरच विशिष्ट गंतव्य कुठे जाते हे विचारा, आणि अंदाजाऐवजी ऍप प्रत्यक्ष डायल करत असलेला पत्ता वापरा।
$app = Get-Process app | Select-Object -First 1
Get-VpnConnection -Name "APP_VPN" | Select-Object ConnectionStatus
Get-NetTCPConnection -OwningProcess $app.Id -State Established | Select-Object RemoteAddress,RemotePort
Find-NetRoute -RemoteIPAddress 203.0.113.10
Find-NetRoute इंटरफेस आणि ते गंतव्य नेणारा पुढील हॉप सांगतो। तिथे भौतिक उपनाव असेल तर टनेल वर आहे आणि त्या प्रवाहासाठी अप्रस्तुत आहे: ढकललेले प्रीफिक्स, नंतर अधिक विशिष्ट राउट, नंतर IPv6 तपासा। स्थिती अजिबात बदलत नसेल, तर ट्रिगर चालला नाही, आणि अंमलबजावणीयोग्याचा मार्ग, प्रोफाइलची व्याप्ती आणि VPN क्लायंटचा परिचालन लॉग या तीन जागा पाहण्यासारख्या आहेत।
पुढील चाचणी प्रामाणिक व्हावी म्हणून स्वच्छ काढा
ज्या उलट क्रमाने बनवले त्याच क्रमाने काढा: आधी ऍप्लिकेशन ट्रिगर, नंतर प्रोफाइल। ट्रिगर राहून प्रोफाइल हटवल्यास एक लटकलेली जोडणी राहते जी पुढील प्रयत्न गोंधळात टाकते, आणि Remove-VpnConnection -Force कमांडबाहेर तयार केलेली फोनबुक नोंद नेहमी साफ करत नाही।
प्रति-वापरकर्ता नोंदी वापरकर्त्याच्या rasphone.pbk मध्ये Roaming प्रोफाइलखाली असतात; सर्व वापरकर्त्यांच्या नोंदी ProgramData खाली असतात। प्रोफाइलच्या व्याप्तीशी जुळणारा साठा तपासा, ठेवलेली प्रोफाइल पुन्हा जोडा आणि तिचे राउट व DNS अजूनही नीट वागतात याची खात्री करा, जेणेकरून नंतरची चाचणी तुम्ही केलेला बदल मोजेल, उरलेली स्थिती नाही।
- टनेल प्रक्रिया सुरू झाल्यावर वर येते, लॉगिनवर नाही।
- VPN इंटरफेसवर फक्त इच्छित प्रीफिक्स दिसतात।
- ऍपचा खरा दूरचा पत्ता VPN उपनावात सोडवला जातो।
- प्रोफाइल हटवल्यानंतर कोणताही लटकलेला ट्रिगर राहत नाही।