Sut i wirio beth mae VPN ar Windows yn ei lwybro mewn gwirionedd yn PowerShell
Nid yw teilsen VPN gysylltiedig yn profi cwmpas. Darllenwch fflag y proffil a gadwyd, y tabl llwybrau byw a rheolau NRPT yn y drefn hon.
Cysylltais y cleient VPN ar liniadur Windows 11, aeth y teilsen i Connected, agorodd cyfrifiadur rhannu ffeiliau mewnol, ac roedd safle cyhoeddus yn dal i lwytho'n syth o Wi-Fi y swyddfa. Mae'r gymysgedd hon yn edrych fel tiwnel wedi torri. Canlyniad arferol proffil sy'n anfon rhan o'r traffig drwy'r VPN ac yn gadael y gweddill ar y addasydd ffisegol yw hwn. Mae twneleiddio gorfodol yn newid pa lwybr diofyn y mae Windows yn ei ffafrio; nid yw'n dileu llwybrau mwy penodol ac nid yw'n addo y bydd traffig yn stopio pan fydd y cysylltiad yn cwympo. Dyma'r drefn yr wyf yn ei dilyn pan fydd cleient yn honni cwmpas: cyflwr y cleient, proffil a gadwyd, llwybrau a gymhwyswyd, datryswr, yna ffrydiau go iawn.
Dechreuwch gyda'r cleient, yna stopiwch ei drystio
Y cleient yw'r man cywir i ddechrau dim ond am ei fod yn dweud wrthych pa broffil sy'n weithredol. Agorwch briodweddau'r cysylltiad a nodwch enw union y proffil, p'un a gafodd ei greu ar gyfer y defnyddiwr presennol neu ar gyfer pawb ar y peiriant, a pha addasydd sy'n ymddangos yn ncpa.cpl ar ôl cysylltu. Ar fy liniadur prawf roedd yr addasydd yn cario enw'r proffil, a oedd yn gwneud allbwn y llwybrau yn hawdd i'w ddarllen. Ar beiriannau eraill mae'n ymddangos fel cofnod WAN Miniport ac nid yw'r enw'n dweud dim wrthych.
Yr hyn na all y cleient ei ddweud wrthych yw cwmpas. Mae teilsen gysylltiedig yn disgrifio cyflwr y tiwnel, nid rhestr o gyrchfannau. Mae cleientiaid trydydd parti hefyd yn cadw eu cyfluniad eu hunain, felly efallai nad oes gan broffil brodorol Windows, a phob priodwedd y byddwch yn ei darllen ohono, unrhyw beth i'w wneud â'r hyn a osododd y cleient hwnnw. Os daeth y VPN drwy AnyConnect, OpenVPN GUI, WireGuard neu asiant gwerthwr, nid yw'r gwiriadau PowerShell isod yn berthnasol yn bennaf a dylech ddarllen gosodiadau tiwnel hollt a llwybro'r cleient hwnnw yn lle hynny.
Darllenwch y proffil a gadwyd, nid y deilsen
Ar gyfer proffil brodorol Windows (IKEv2, L2TP, SSTP, neu un a wthiwyd gan MDM) un priodwedd yn unig yw'r penderfyniad tiwnel hollt a gadwyd:
Get-VpnConnection -Name 'Office' | Select-Object Name, ServerAddress, SplitTunneling, DnsSuffix
Ychwanegwch -AllUserConnection pan grëwyd y proffil ar gyfer pawb ar y ddyfais. Heb hynny rydych yn darllen rhestr y defnyddiwr presennol, a all fod yn wag neu'n dal cofnod arall ag enw tebyg. Mae gwerth False yn SplitTunneling yn golygu bod y proffil wedi'i gadw fel tiwnel llawn: mae Windows yn gosod llwybr diofyn drwy'r addasydd VPN. Mae True yn golygu tiwnel hollt, ac yna mae cwmpas yn dibynnu'n gyfan gwbl ar y llwybrau a'r rheolau datrys enwau y mae'r proffil hwnnw'n eu gwthio.
Triniwch y gwerth hwnnw fel cyfluniad, nid fel arsylwi. Mae'n cofnodi'r hyn y gofynnodd y proffil amdano adeg cysylltu. Gall Windows fod â llwybrau cymhwysol gwahanol oherwydd llwybr mwy penodol rhyngwyneb arall, gosodiad polisi, neu gofnod dros ben o gysylltiad blaenorol, felly nid yw'r Boole yn setlo'r cwestiwn ar ei ben ei hun.
Cymharwch y gwerth a gadwyd â'r tabl llwybrau a gymhwyswyd
Ar ôl cysylltu, rhedwch restri'r llwybrau ar addasydd y tiwnel yn lle sgrolio'r tabl cyfan:
$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 yw'r hanner defnyddiol. Mae'n ateb y cwestiwn nad yw'r cleient byth yn ei ateb: ar gyfer y gyrchfan hon, pa ryngwyneb a pha gyfeiriad ffynhonnell y bydd Windows yn ei ddefnyddio mewn gwirionedd? Rhedwch ef ar gyfer gwesteiwr mewnol, gwesteiwr cyhoeddus, ac unrhyw beth y credwch sy'n eithriad bwriadol. Dylai proffil tiwnel llawn ddangos rhyngwyneb y tiwnel ar gyfer y cyfeiriad cyhoeddus. Mae proffil tiwnel hollt fel arfer yn dangos yr addasydd ffisegol yno tra bod rhagddodiaid mewnol yn dal i ddatrys i'r VPN.
Mae dwy fagl yn esbonio'r rhan fwyaf o'r adroddiadau „mae'n llwybro'r ffordd anghywir“. Mae'r rhagddodiad mwyaf penodol bob amser yn ennill, felly mae /24 ar yr addasydd ffisegol yn curo llwybr diofyn ar y VPN waeth pa mor isel yw metrig y tiwnel. Dim ond rhwng llwybrau ar gyfer yr un rhagddodiad y mae metrig yn torri cyfartal. Ac mae IPv4 ac IPv6 yn cael eu penderfynu ar wahân: gall proffil sy'n cwmpasu 0.0.0.0/0 adael IPv6 ar y cyswllt lleol, sy'n gwneud i safle deu-stac edrych yn hanner twneleiddiedig. Gwiriwch Get-NetRoute -AddressFamily IPv6 cyn dod i'r casgliad bod y tiwnel yn iawn.
| 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 |
Gwiriwch ddatrys enwau ar wahân gyda NRPT
Mae enwau mewnol sy'n methu tra bod cyfeiriadau IP mewnol yn gweithio yn cyfeirio at bolisi datryswr, nid at lwybro. Mae Windows yn penderfynu DNS fesul gofod enw drwy'r tabl polisi datrys enwau, sy'n annibynnol ar y tabl llwybrau:
Get-DnsClientNrptPolicy -Effective | Select-Object Namespace, NameServers
Get-DnsClientServerAddress -InterfaceIndex $vpn.ifIndex
Pan fydd rheol yn cyfateb i *.corp.example, mae ymholiadau ar gyfer y gofod enw hwnnw yn mynd i weinyddion DNS y tiwnel hyd yn oed os yw'r llwybr data i'r gweinyddion hynny'n aros ar yr addasydd ffisegol mewn modd tiwnel hollt. Dyna'r cynllun, a dyna pam nad yw prawf porwr sy'n agor safle cyhoeddus yn dweud dim wrthych am enwau mewnol. Os yw'r addasydd yn rhestru'r gweinyddion disgwyliedig ond bod chwiliadau'n mynd i rywle arall o hyd, cymharwch drefn rheolau NRPT a gwiriwch a yw gofod enw mwy penodol yn cyfateb gyntaf.
Gwiriwch y ffrydiau, yna penderfynwch beth roeddech wedi gofyn amdano mewn gwirionedd
Ewch drwy'r cyrchfannau mewn trefn sefydlog fel bod canlyniadau'n gymharol ar draws peiriannau: cyfeiriad cyhoeddus, cyfeiriad mewnol, enw mewnol, ac un eithriad bwriadol fel argraffydd lleol neu alwad fideo. Cofnodwch y rhyngwyneb a'r cyfeiriad ffynhonnell y mae Find-NetRoute yn eu dychwelyd ar gyfer pob un. Ar ôl unrhyw newid polisi, ailgysylltwch ac ailadroddwch yr un pedwar gwiriad; y tabl llwybrau ar ôl ailgysylltu yw'r unig dystiolaeth bod y proffil newydd wedi dod i rym.
Yna gwahanwch lwybro oddi wrth orfodi. Mae twneleiddio gorfodol yn ffafrio'r tiwnel ar gyfer traffig sy'n cael ei gwmpasu tra bydd i fyny. Nid yw'n swits lladd. Os yw'r gofyniad yn bod dim yn gadael y peiriant pan fydd y tiwnel yn cwympo, rhaid i hynny ddod o gynllun blocio: proffil wal dân wedi'i gysylltu â chyflwr y tiwnel, proffil bob-amser ymlaen â hidlwyr traffig, neu opsiwn cau-ar-fethiant y cleient gwerthwr ei hun. Hefyd rhaid i dwneleiddio gorfodol adael cyfeiriad y gweinydd VPN ei hun yn gyrraeddadwy y tu allan i'r tiwnel, ac mae ei flocio yn enw „gorfodi popeth“ yn ffordd ddibynadwy o gloi eich hun allan o'r cysylltiad rydych yn ceisio ei orfodi.
Cyn newid unrhyw beth, ewch drwy'r rhestr hon. Mae pob eitem sy'n methu yn culhau ble mae'r gwir broblem.
- Enw a chwmpas y proffil wedi'u cadarnhau, gyda
-AllUserConnectionyn cael ei ddefnyddio ar gyfer proffiliau ar draws y peiriant. SplitTunnelingwedi'i ddarllen a'i drin fel cyfluniad yn hytrach na phrawf o gwmpas.- Llwybrau addasydd y tiwnel wedi'u rhestru ar wahân ar gyfer IPv4 ac IPv6.
Find-NetRoutewedi'i redeg ar gyfer un gyrchfan gyhoeddus, un fewnol ac un eithriad.- Rheolau NRPT wedi'u gwirio cyn beio llwybrau am fethiant enw.
- Gofyniad blocio wedi'i ailddarllen: nid yw llwybro a ffefrir yr un peth â blocio a orfodwyd.
Mae'r penderfyniad tiwnel llawn neu hollt yn perthyn i bwy bynnag sy'n berchen ar y proffil, ac mae nodiadau llwybro Microsoft yn disgrifio'r ymddygiad y mae Windows yn ei weithredu pan fydd proffil yn ei osod. Microsoft: twneleiddio gorfodol a hollt yw'r cyfeiriad yr wyf yn ei gadw ar agor wrth ddarllen yr allbwn.