Windows VPN-kveikja fyrir hvert forrit vs klofin göng: hvað einangrar
Windows VPN-snið sem forrit kveikir á opnar aðeins göng. Klofin göng með leiðum ræður því hvað fer inn í þau, og hvort tveggja bregst á mismunandi hátt fyrir eitt forrit.
Tvær Windows-uppsetningar líta eins út í Stillingum og hegða sér alls ekki eins. Önnur er afrituð VPN-snið með forritskveikju, þannig að ræsing eins keyrsluskrár reisir göngin. Hin er snið með klofnum göngum þar sem leiðalistinn nær tilviljun yfir það sem það forrit talar við. Sú fyrri svarar hvenær göngin eru til. Sú síðari svarar hvaða pakkar fara inn í þau, og aðeins sú síðari lætur restina af vélinni vera á líkamlega tenglinum á meðan forritið er áfram tengt.
Kveikjan er lífsferilsregla, ekki leiðarregla
Add-VpnConnectionTriggerApplication bindur slóð keyrsluskrár við sniðsnafn. Þegar það ferli byrjar hringir Remote Access Connection Manager í sniðið, og þegar skilyrði kveikjunnar lýkur getur tengingin dottið. Ekkert í þeirri skiptingu skoðar sokket. Cmdlet-ið þarf hækkað shell, fulla slóð að tvíundarskránni og -Force þegar þú skiptir út fyrirliggjandi færslu. Staðfestu að tengingin hafi lifað af með Get-VpnConnectionTrigger í stað þess að treysta á skilaboðin; tilvísun Add-VpnConnectionTriggerApplication hjá Microsoft listar færibreyturnar og dæmin.
Tvær takmarkanir skýra flest tilkynningar um að „kveikjan geri ekkert“. Kveikjur eru byggðar í kringum snið fyrir alla notendur, þannig að umfang sniðsins er það fyrsta sem þarf að ákvarða, og slóð forritsins verður að passa við tvíundarskrána sem raunverulega keyrir, ekki flýtileið eða ræsi sem býr til annað ferli. Hin takmörkunin er viljandi: á neti sem Windows flokkar sem treyst, er kveikjan aðgerðalaus, því sniðinu er ætlað að virka utan skrifstofunnar.
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
Klofin göng ráða því hvað fer yfir göngin
Með klofin göng af, setur Windows upp sjálfgefna leið byggða á flokki með lágu metrísku á VPN-viðmótið. Sérhver sokket fylgir henni, þar á meðal vafrinn og uppfærsluþjónustan, svo kveikja í þeirri uppsetningu færir alla vélina svo lengi sem sniðið er tengt. Kveikjan er enn bara lífsferilsregla; áhrifasviðið kom frá leiðinni.
Með klofin göng á, ber sniðið aðeins þær forskeytir sem gáttin ýtir eða sem þú bætir við VPN-viðmótið. Allt annað heldur áfram að nota líkamlegu sjálfgefnu leiðina. Það er fyrirkomulagið sem fólk á venjulega við með „eitt forrit um aðskilda útgöngu“, og það er leiðarákvörðun frá upphafi til enda.
Set-VpnConnection -Name "APP_VPN" -SplitTunneling $true
Get-VpnConnection -Name "APP_VPN" | Select-Object SplitTunneling
Get-NetRoute -InterfaceAlias "APP_VPN" | Sort-Object DestinationPrefix
Þar sem klofin leið hættir að einangra forritið þitt
Algenga bilunin er áfangastaður sem birtist aldrei á leiðalista ganganna. Forrit sem skráir sig inn á eitt vistfang og streymir svo frá CDN, eða leysir tugi snúningsendapunkta, setur sumar tengingar á VPN-viðmótið og hinar á Wi-Fi. IPv6 er sér tafla, svo snið sem ýtir aðeins IPv4-forskeytum getur virst rétt á meðan IPv6-umferð forritsins er staðbundin.
Tvö minni áhrif skipta jafn miklu. Lengsta forskeytisjöfnun vinnur, svo nákvæmari on-link leið, /32 sem ýtt er fyrir stjórnunarhýsil, eða undirnet annars millistéttar geta sigrað göngin fyrir nákvæmlega það vistfang sem þér er annt um. Upplausn gerist líka fyrir leiðarval: nema DNS-þjónar sniðsins eða NRPT-regla nái yfir nafnið getur forritið leyst í gegnum líkamlega millistétt og hringt svo í vistfang sem var aldrei innan gönguforskeytanna.
Þrjú form, og hvað hvert kaupir
Taflan er sá hluti sem ég myndi líma á vegginn, því ákvörðunin snýst um áhrifasvið frekar en eiginleika. Ef áfangastaðir forritsins eru stöðug forskeytir sem þú getur skráð gefur klofin leið einangrun með minnsta fótspori. Ef ekki heldur snið með sjálfgefinni leið á bak við VM eða annað tæki aðskilnaðinum heiðarlegum á kostnað þess að færa meira en eitt ferli.
| 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 |
Það sem ekkert þessara býður er binding á sokket-stigi á hýsilnum. Klassíski Windows VPN-klientinn hefur enga reglu sem segir að þetta ferli verði að nota þá millistétt; kveikjur og leiðasíur lifa í mismunandi lögum, og lagið sem velur viðmót er leiðataflan. Ef leiðarvísir lofar framfylgd fyrir hvert forrit einungis út frá afrituðu sniði, spurðu hvaða leið eða hvaða sía vinnur verkið.
Staðfestu parið í einni ferð
Prófaðu lífsferilinn og leiðarvalið aðskilið, í þeirri röð. Lokaðu forritinu, staðfestu að sniðið sýni Disconnected, ræstu svo forritið og athugaðu að staðan hafi breyst. Aðeins eftir að göngin eru uppi ættir þú að spyrja hvert tilteknur áfangastaður fer, og þú ættir að nota vistfangið sem forritið hringir í raun í stað ágiskunar.
$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 nefnir viðmótið og næsta hopp sem myndi bera þann áfangastað. Líkamlegt samheiti þar þýðir að göngin eru uppi og óviðkomandi fyrir það flæði: athugaðu ýttu forskeytin, svo nákvæmari leiðirnar, svo IPv6. Ef staðan breytist alls ekki þá spratt kveikjan ekki, og slóð keyrsluskrárinnar, umfang sniðsins og rekstrarlogg VPN-klientsins eru þrír staðirnir til að skoða.
Taktu til sómastega svo næsta próf sé heiðarlegt
Fjarlægðu í öfugri röð við það sem þú byggðir: fyrst forritskveikjuna, svo sniðið. Að eyða sniðinu á meðan kveikjan er eftir skilur eftir hangandi tengingu sem gerir næstu tilraun ruglingslega, og Remove-VpnConnection -Force hreinsar ekki alltaf símaskráarfærslu sem var búin til utan cmdletanna.
Færslur fyrir hvern notanda eru í rasphone.pbk notandans undir Roaming-sniðinu; færslur fyrir alla notendur eru undir ProgramData. Athugaðu geymsluna sem passar við umfang sniðsins, tengdu aftur sniðið sem þú hélt og staðfestu að leiðir þess og DNS hegði sér enn, svo síðara próf mæli breytinguna sem þú gerðir frekar en afgangsstöðu.
- Göngin hefjast við ræsingu ferlis, ekki við innskráningu.
- Aðeins fyrirhuguðu forskeytin birtast á VPN-viðmótinu.
- Raunverulegt fjarvistfang forritsins leysist í VPN-samheitið.
- Engin hangandi kveikja er eftir þegar sniðinu hefur verið fjarlægt.