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 ઉપનામમાં ઉકેલાય છે.
- પ્રોફાઇલ દૂર કર્યા પછી કોઈ લટકતું ટ્રિગર રહેતું નથી.