Windows-ൽ VPN യഥാർത്ഥത്തിൽ എന്താണ് റൂട്ട് ചെയ്യുന്നതെന്ന് PowerShell-ൽ എങ്ങനെ പരിശോധിക്കാം
കണക്ട് ചെയ്ത VPN ടൈൽ കവറേജ് തെളിയിക്കുന്നില്ല. സംരക്ഷിച്ച പ്രൊഫൈൽ ഫ്ലാഗ്, ലൈവ് റൂട്ട് ടേബിൾ, NRPT നിയമങ്ങൾ ഈ ക്രമത്തിൽ വായിക്കുക.
Windows 11 ലാപ്ടോപ്പിൽ VPN ക്ലയന്റ് കണക്ട് ചെയ്തു, ടൈൽ Connected ആയി, ഒരു ആന്തരിക ഫയൽ ഷെയർ തുറന്നു, ഒരു പൊതു സൈറ്റ് ഇപ്പോഴും ഓഫീസ് Wi-Fi-ൽ നിന്ന് നേരിട്ട് ലോഡ് ആയി. ഈ മിശ്രിതം പൊട്ടിയ ടണൽ പോലെ തോന്നുന്നു. ചില ട്രാഫിക് VPN വഴി അയച്ച് ബാക്കി ഫിസിക്കൽ അഡാപ്റ്ററിൽ വിടുന്ന പ്രൊഫൈലിന്റെ സാധാരണ ഔട്ട്പുട്ടാണ് ഇത്. ഫോഴ്സ് ടണലിംഗ് Windows ഏത് ഡിഫോൾട്ട് റൂട്ടിന് മുൻഗണന നൽകുന്നു എന്ന് മാറ്റുന്നു; അത് കൂടുതൽ നിർദ്ദിഷ്ട റൂട്ടുകൾ ഇല്ലാതാക്കുന്നില്ല, കണക്ഷൻ വിട്ടുപോകുമ്പോൾ ട്രാഫിക് നിലയ്ക്കും എന്ന് വാഗ്ദാനം ചെയ്യുന്നുമില്ല. തുടർന്ന് ഒരു ക്ലയന്റ് കവറേജ് അവകാശപ്പെടുമ്പോൾ ഞാൻ പിന്തുടരുന്ന ക്രമമാണ്: ക്ലയന്റ് അവസ്ഥ, സംരക്ഷിച്ച പ്രൊഫൈൽ, പ്രയോഗിച്ച റൂട്ടുകൾ, റിസോൾവർ, പിന്നെ യഥാർത്ഥ ഫ്ലോകൾ.
ക്ലയന്റിൽ നിന്ന് തുടങ്ങുക, പിന്നെ അതിനെ വിശ്വസിക്കുന്നത് നിർത്തുക
ഏത് പ്രൊഫൈൽ സജീവമാണെന്ന് പറയുന്നതിനാൽ മാത്രമാണ് ക്ലയന്റ് തുടങ്ങാൻ ശരിയായ സ്ഥലം. കണക്ഷൻ പ്രോപ്പർട്ടികൾ തുറന്ന് കൃത്യമായ പ്രൊഫൈൽ നാമം, അത് നിലവിലെ ഉപയോക്താവിനാണോ മെഷീനിലെ എല്ലാവർക്കുമാണോ സൃഷ്ടിച്ചത്, കണക്ട് ചെയ്തതിന് ശേഷം ncpa.cpl-ൽ ഏത് അഡാപ്റ്റർ കാണുന്നു എന്നിവ രേഖപ്പെടുത്തുക. എന്റെ ടെസ്റ്റ് ലാപ്ടോപ്പിൽ അഡാപ്റ്റർ പ്രൊഫൈൽ നാമം വഹിച്ചിരുന്നു, അത് റൂട്ട് ഔട്ട്പുട്ട് വായിക്കാൻ എളുപ്പമാക്കി. മറ്റ് മെഷീനുകളിൽ അത് WAN Miniport എൻട്രിയായി കാണാം, പേര് നിങ്ങൾക്ക് ഒന്നും പറയുന്നില്ല.
ക്ലയന്റ് പറയാൻ കഴിയാത്തത് കവറേജാണ്. കണക്ട് ചെയ്ത ടൈൽ ടണലിന്റെ അവസ്ഥ വിവരിക്കുന്നു, ലക്ഷ്യസ്ഥാനങ്ങളുടെ പട്ടികയല്ല. മൂന്നാം കക്ഷി ക്ലയന്റുകളും സ്വന്തം കോൺഫിഗറേഷൻ സൂക്ഷിക്കുന്നു, അതിനാൽ നേറ്റീവ് Windows പ്രൊഫൈലിനും അതിൽ നിന്ന് നിങ്ങൾ വായിക്കുന്ന ഓരോ സവിശേഷതയ്ക്കും ആ ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്തതുമായി ബന്ധമില്ലായിരിക്കാം. VPN AnyConnect, OpenVPN GUI, WireGuard അല്ലെങ്കിൽ വെണ്ടർ ഏജന്റ് വഴി വന്നിട്ടുണ്ടെങ്കിൽ, താഴെയുള്ള PowerShell പരിശോധനകൾ കൂടുതലും ബാധകമല്ല, പകരം ആ ക്ലയന്റിന്റെ സ്വന്തം split-tunnel, റൂട്ടിംഗ് ക്രമീകരണങ്ങൾ വായിക്കണം.
സംരക്ഷിച്ച പ്രൊഫൈൽ വായിക്കുക, ടൈൽ അല്ല
നേറ്റീവ് Windows പ്രൊഫൈലിന് (IKEv2, L2TP, SSTP അല്ലെങ്കിൽ MDM തള്ളുന്ന ഒന്ന്) സംരക്ഷിച്ച split-tunnel തീരുമാനം ഒരു സവിശേഷത മാത്രമാണ്:
Get-VpnConnection -Name 'Office' | Select-Object Name, ServerAddress, SplitTunneling, DnsSuffix
പ്രൊഫൈൽ ഉപകരണത്തിലെ എല്ലാവർക്കുമായി സൃഷ്ടിച്ചതാണെങ്കിൽ -AllUserConnection ചേർക്കുക. അതില്ലാതെ നിങ്ങൾ നിലവിലെ ഉപയോക്താവിന്റെ പട്ടിക വായിക്കുന്നു, അത് ശൂന്യമാകാം അല്ലെങ്കിൽ സമാനമായ പേരുള്ള മറ്റൊരു എൻട്രി ഉണ്ടാകാം. False മൂല്യം SplitTunneling-ൽ എന്നാൽ പ്രൊഫൈൽ പൂർണ്ണ ടണലായി സംരക്ഷിച്ചു: Windows VPN അഡാപ്റ്റർ വഴി ഡിഫോൾട്ട് റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നു. True എന്നാൽ split tunnel, കവറേജ് പിന്നെ ആ പ്രൊഫൈൽ തള്ളുന്ന റൂട്ടുകളെയും നാമ പരിഹാര നിയമങ്ങളെയും ആശ്രയിച്ചിരിക്കുന്നു.
ആ മൂല്യത്തെ കോൺഫിഗറേഷനായി കാണുക, നിരീക്ഷണമായല്ല. കണക്ഷൻ സമയത്ത് പ്രൊഫൈൽ എന്ത് ആവശ്യപ്പെട്ടു എന്ന് അത് രേഖപ്പെടുത്തുന്നു. മറ്റൊരു ഇന്റർഫേസിന്റെ കൂടുതൽ നിർദ്ദിഷ്ട റൂട്ട്, പോളിസി ക്രമീകരണം അല്ലെങ്കിൽ മുൻ കണക്ഷനിൽ നിന്നുള്ള ബാക്കി എൻട്രി എന്നിവ കാരണം Windows വ്യത്യസ്ത പ്രയോഗിച്ച റൂട്ടുകളിൽ എത്താം, അതിനാൽ ബൂളിയൻ ചോദ്യം ഒറ്റയ്ക്ക് തീർപ്പാക്കുന്നില്ല.
സംരക്ഷിച്ച മൂല്യം പ്രയോഗിച്ച റൂട്ട് ടേബിളുമായി താരതമ്യം ചെയ്യുക
കണക്ട് ചെയ്ത ശേഷം മുഴുവൻ ടേബിളും സ്ക്രോൾ ചെയ്യുന്നതിന് പകരം ടണൽ അഡാപ്റ്ററിലെ റൂട്ടുകൾ ലിസ്റ്റ് ചെയ്യുക:
$vpn = Get-NetAdapter | Where-Object InterfaceDescription -match 'VPN|WAN Miniport'
Get-NetRoute -InterfaceIndex $vpn.ifIndex | Sort-Object DestinationPrefix
Find-NetRoute -RemoteIPAddress 10.20.4.15 | Select-Object -First 1
Find-NetRoute ഉപയോഗപ്രദമായ പകുതിയാണ്. ക്ലയന്റ് ഒരിക്കലും ഉത്തരം നൽകാത്ത ചോദ്യത്തിന് അത് ഉത്തരം നൽകുന്നു: ഈ ലക്ഷ്യസ്ഥാനത്തിന് Windows യഥാർത്ഥത്തിൽ ഏത് ഇന്റർഫേസും ഏത് ഉറവിട വിലാസവും ഉപയോഗിക്കും? ആന്തരിക ഹോസ്റ്റ്, പൊതു ഹോസ്റ്റ്, മനഃപൂർവ്വം ഒഴിവാക്കൽ എന്ന് നിങ്ങൾ കരുതുന്ന എല്ലാത്തിനും ഇത് പ്രവർത്തിപ്പിക്കുക. പൂർണ്ണ ടണൽ പ്രൊഫൈൽ പൊതു വിലാസത്തിന് ടണൽ ഇന്റർഫേസ് കാണിക്കണം. split tunnel പ്രൊഫൈൽ സാധാരണയായി അവിടെ ഫിസിക്കൽ അഡാപ്റ്റർ കാണിക്കുന്നു, ആന്തരിക പ്രിഫിക്സുകൾ ഇപ്പോഴും VPN-ലേക്ക് പരിഹരിക്കപ്പെടുന്നു.
«അത് തെറ്റായ ദിശയിലേക്ക് റൂട്ട് ചെയ്യുന്നു» എന്ന റിപ്പോർട്ടുകളിൽ ഭൂരിഭാഗവും രണ്ട് കെണികൾ വിശദീകരിക്കുന്നു. ഏറ്റവും നിർദ്ദിഷ്ട പ്രിഫിക്സ് എപ്പോഴും വിജയിക്കുന്നു, അതിനാൽ ഫിസിക്കൽ അഡാപ്റ്ററിലെ /24 ടണലിന്റെ മെട്രിക് എത്ര താഴ്ന്നതായാലും VPN-ലെ ഡിഫോൾട്ട് റൂട്ടിനെ തോൽപ്പിക്കുന്നു. മെട്രിക് ഒരേ പ്രിഫിക്സിലെ റൂട്ടുകൾക്കിടയിലെ സമനില മാത്രം തീർക്കുന്നു. IPv4, IPv6 എന്നിവ വെവ്വേറെ തീരുമാനിക്കുന്നു: 0.0.0.0/0 ഉൾക്കൊള്ളുന്ന പ്രൊഫൈലിന് IPv6 പ്രാദേശിക ലിങ്കിൽ വിടാം, ഇത് ഇരട്ട-സ്റ്റാക്ക് സൈറ്റിനെ പകുതി ടണലിംഗ് ഉള്ളതായി കാണിക്കുന്നു. ടണൽ കുഴപ്പമില്ലെന്ന് തീരുമാനിക്കുന്നതിന് മുൻപ് Get-NetRoute -AddressFamily IPv6 പരിശോധിക്കുക.
| What you see | Most likely cause | Check next |
|---|---|---|
| Public traffic leaves the physical adapter while SplitTunneling reads False | A more specific route on that adapter wins over the tunnel default | Find-NetRoute for the exact destination, then look for a /24 or host route on the physical interface |
| Internal name fails, internal IP works | No NRPT rule for that namespace, or a broader rule matches first | Get-DnsClientNrptPolicy and the namespace order |
| A dual-stack site opens directly while IPv4 uses the tunnel | The profile covers only the IPv4 default route | The IPv6 route table on both interfaces |
| Routes look right but one app still goes direct | The app uses its own proxy, or the client keeps a per-app list | The app's proxy settings and the client's application list |
NRPT ഉപയോഗിച്ച് നാമ പരിഹാരം വെവ്വേറെ പരിശോധിക്കുക
ആന്തരിക നാമങ്ങൾ പരാജയപ്പെടുകയും ആന്തരിക IP വിലാസങ്ങൾ പ്രവർത്തിക്കുകയും ചെയ്യുമ്പോൾ അത് റൂട്ടിംഗിനെയല്ല, റിസോൾവർ പോളിസിയെ സൂചിപ്പിക്കുന്നു. Windows ഓരോ നെയിംസ്പേസിനും DNS നാമ പരിഹാര പോളിസി ടേബിൾ വഴി തീരുമാനിക്കുന്നു, അത് റൂട്ട് ടേബിളിൽ നിന്ന് സ്വതന്ത്രമാണ്:
Get-DnsClientNrptPolicy -Effective | Select-Object Namespace, NameServers
Get-DnsClientServerAddress -InterfaceIndex $vpn.ifIndex
ഒരു നിയമം *.corp.example-മായി പൊരുത്തപ്പെടുമ്പോൾ ആ നെയിംസ്പേസിലെ ക്വെറികൾ ടണലിന്റെ DNS സെർവറുകളിലേക്ക് പോകുന്നു, split tunnel മോഡിൽ ആ സെർവറുകളിലേക്കുള്ള ഡാറ്റ പാത്ത് ഫിസിക്കൽ അഡാപ്റ്ററിൽ തുടരുന്നുവെങ്കിലും. അതാണ് രൂപകൽപ്പന, അതുകൊണ്ടാണ് പൊതു സൈറ്റ് തുറക്കുന്ന ബ്രൗസർ പരിശോധന ആന്തരിക നാമങ്ങളെക്കുറിച്ച് ഒന്നും പറയാത്തത്. അഡാപ്റ്റർ പ്രതീക്ഷിച്ച സെർവറുകൾ ലിസ്റ്റ് ചെയ്യുന്നുവെങ്കിലും തിരച്ചിലുകൾ ഇപ്പോഴും മറ്റെവിടെയോ പോകുന്നുവെങ്കിൽ, NRPT നിയമങ്ങളുടെ ക്രമം താരതമ്യം ചെയ്ത് കൂടുതൽ നിർദ്ദിഷ്ട നെയിംസ്പേസ് ആദ്യം പൊരുത്തപ്പെടുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക.
ഫ്ലോകൾ പരിശോധിച്ച്, പിന്നെ നിങ്ങൾ യഥാർത്ഥത്തിൽ ആവശ്യപ്പെട്ടത് എന്തെന്ന് തീരുമാനിക്കുക
ഫലങ്ങൾ മെഷീനുകൾക്കിടയിൽ താരതമ്യം ചെയ്യാനാകാൻ ലക്ഷ്യസ്ഥാനങ്ങൾ സ്ഥിരമായ ക്രമത്തിൽ പരിശോധിക്കുക: പൊതു വിലാസം, ആന്തരിക വിലാസം, ആന്തരിക നാമം, പ്രാദേശിക പ്രിന്റർ അല്ലെങ്കിൽ വീഡിയോ കോൾ പോലുള്ള ഒരു മനഃപൂർവ്വ ഒഴിവാക്കൽ. ഓരോന്നിനും Find-NetRoute നൽകുന്ന ഇന്റർഫേസും ഉറവിട വിലാസവും രേഖപ്പെടുത്തുക. ഏതെങ്കിലും പോളിസി മാറ്റത്തിന് ശേഷം വീണ്ടും കണക്ട് ചെയ്ത് അതേ നാല് പരിശോധനകൾ ആവർത്തിക്കുക; വീണ്ടും കണക്ട് ചെയ്തതിന് ശേഷമുള്ള റൂട്ട് ടേബിൾ മാത്രമാണ് പുതിയ പ്രൊഫൈൽ പ്രാബല്യത്തിൽ വന്നതിന്റെ തെളിവ്.
തുടർന്ന് റൂട്ടിംഗിനെ നിർവ്വഹണത്തിൽ നിന്ന് വേർതിരിക്കുക. ഫോഴ്സ് ടണലിംഗ് ടണൽ ഉയർന്നിരിക്കുന്നിടത്തോളം കവർ ചെയ്ത ട്രാഫിക്കിന് ടണലിന് മുൻഗണന നൽകുന്നു. അത് kill switch അല്ല. ടണൽ വീഴുമ്പോൾ മെഷീനിൽ നിന്ന് ഒന്നും പുറത്തുപോകരുത് എന്നതാണ് ആവശ്യമെങ്കിൽ, അത് തടയുന്ന രൂപകൽപ്പനയിൽ നിന്ന് വരണം: ടണൽ അവസ്ഥയുമായി ബന്ധിപ്പിച്ച firewall പ്രൊഫൈൽ, ട്രാഫിക് ഫിൽട്ടറുകളുള്ള എപ്പോഴും-ഓൺ പ്രൊഫൈൽ, അല്ലെങ്കിൽ വെണ്ടർ ക്ലയന്റിന്റെ സ്വന്തം പരാജയത്തിൽ അടയ്ക്കൽ ഓപ്ഷൻ. ഫോഴ്സ് ടണലിംഗ് VPN സെർവറിന്റെ സ്വന്തം വിലാസവും ടണലിന് പുറത്ത് എത്താനാകുന്നതായി വിടണം, «എല്ലാം നിർബന്ധമാക്കുക» എന്ന പേരിൽ അത് തടയുന്നത് നിങ്ങൾ നടപ്പാക്കാൻ ശ്രമിക്കുന്ന കണക്ഷനിൽ നിന്ന് സ്വയം പുറത്താക്കാനുള്ള വിശ്വസനീയമായ വഴിയാണ്.
എന്തെങ്കിലും മാറ്റുന്നതിന് മുൻപ് ഈ പട്ടിക പരിശോധിക്കുക. പരാജയപ്പെടുന്ന ഓരോ ഇനവും യഥാർത്ഥ പ്രശ്നം എവിടെയെന്ന് ചുരുക്കുന്നു.
- പ്രൊഫൈൽ നാമവും പരിധിയും സ്ഥിരീകരിച്ചു, മെഷീൻ-വ്യാപക പ്രൊഫൈലുകൾക്ക്
-AllUserConnectionഉപയോഗിച്ചു. SplitTunnelingവായിച്ചു, കവറേജിന്റെ തെളിവല്ല, കോൺഫിഗറേഷനായി കണക്കാക്കി.- ടണൽ അഡാപ്റ്ററിന്റെ റൂട്ടുകൾ IPv4, IPv6 എന്നിവയ്ക്ക് വെവ്വേറെ ലിസ്റ്റ് ചെയ്തു.
- ഒരു പൊതു, ഒരു ആന്തരിക, ഒരു ഒഴിവാക്കൽ ലക്ഷ്യസ്ഥാനത്തിന്
Find-NetRouteപ്രവർത്തിപ്പിച്ചു. - നാമ പരാജയത്തിന് റൂട്ടുകളെ കുറ്റപ്പെടുത്തുന്നതിന് മുൻപ് NRPT നിയമങ്ങൾ പരിശോധിച്ചു.
- തടയൽ ആവശ്യകത വീണ്ടും വായിച്ചു: മുൻഗണനാ റൂട്ടിംഗ് നിർബന്ധിത തടയലിന് തുല്യമല്ല.
പൂർണ്ണമോ split ടണലോ എന്ന തീരുമാനം പ്രൊഫൈൽ ഉടമയ്ക്കുള്ളതാണ്, കൂടാതെ Microsoft-ന്റെ റൂട്ടിംഗ് കുറിപ്പുകൾ പ്രൊഫൈൽ അത് സജ്ജീകരിക്കുമ്പോൾ Windows നടപ്പാക്കുന്ന സ്വഭാവം വിവരിക്കുന്നു. Microsoft: ഫോഴ്സ്, split ടണലിംഗ് ഔട്ട്പുട്ട് വായിക്കുമ്പോൾ ഞാൻ തുറന്നിടുന്ന റഫറൻസാണ്.