Windowsen aplikazioko VPN aktibatzailea eta tunel zatitua: zerk isolatzen du
Aplikazio batek aktibatutako Windows VPN profilek tunel bat baino ez du irekitzen. Bideratutako tunel zatitu batek erabakitzen du zer sartzen den, eta bakoitzak modu ezberdinean egiten du huts aplikazio batentzat.
Windows konfigurazio bi berdinak dirudite Ezarpenetan eta ez dira batere berdin portatzen. Bata aplikazio aktibatzaile bat duen VPN profil kopiatua da, beraz exekutagarri bat abiatzeak tunela altxatzen du. Bestea tunel zatituko profila da, zeinen bide-zerrendak kasualitatez estaltzen duen aplikazio horrek hitz egiten duena. Lehenengoak tunela noiz dagoen erantzuten du. Bigarrenak zer pakete sartzen diren erantzuten du, eta bigarrenak soilik uzten du gainerako makina esteka fisikoan, aplikazioa konektatuta mantenduz.
Aktibatzailea bizi-zikloaren araua da, ez bideratze-araua
Add-VpnConnectionTriggerApplication exekutagarri baten bidea profileko izen batera lotzen du. Prozesu hori abiatzen denean, Urruneko Sarbiderako Konexio Kudeatzaileak profila markatzen du, eta aktibatzailearen baldintza amaitzen denean, konexioa erori daiteke. Truke horretan ezerk ez ditu socketak aztertzen. Cmdlet-ak shell goratu bat, binarioaren bide osoa eta -Force lehendik dagoen sarrera bat ordezkatzen duzunean. Berretsi elkartea bizirik iraun zuela honekin: Get-VpnConnectionTrigger gonbitan fidatu beharrean; Microsoften Add-VpnConnectionTriggerApplication erreferentzia parametroak eta adibideak zerrendatzen ditu.
Bi mugak azaltzen dituzte „aktibatzaileak ez du ezer egiten” dioen txosten gehienak. Aktibatzaileak erabiltzaile guztientzako profiletan oinarritzen dira, beraz profilen irismena da argitu beharreko lehen gauza, eta aplikazioaren bideak benetan exekutatzen den binarioarekin bat etorri behar du, ez lasterbide batekin edo bigarren prozesu bat sortzen duen abiarazle batekin. Beste muga nahitakoa da: Windows-ek fidagarri gisa sailkatzen duen sare batean, aktibatzailea geldirik geratzen da, profila bulegotik kanpo aritzeko pentsatuta dagoelako.
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
Tunel zatituak erabakitzen du zer igarotzen den tuneletik
Tunel zatitua itzalita dagoenean, Windows-ek klasean oinarritutako bide lehenetsi bat instalatzen du metrika baxuarekin VPN interfazean. Socket bakoitzak hura jarraitzen du, nabigatzailea eta eguneratze zerbitzua barne, beraz konfigurazio horretan aktibatzaile batek makina osoa mugitzen du profila konektatuta dagoen bitartean. Aktibatzailea bizi-zikloaren araua besterik ez da oraindik; eragin-erradioa bidetik etorri zen.
Tunel zatitua piztuta dagoenean, profilek pasabideak bultzatzen duen edo VPN interfazera gehitzen dituzun aurrizkiak baino ez ditu eramaten. Gainerako guztiak bide lehenetsi fisikoa erabiltzen jarraitzen du. Hori da jendeak „aplikazio bat irteera bereizi batetik” esatean normalean adierazten duen antolamendua, eta hasieratik bukaerara bideratze-erabakia da.
Set-VpnConnection -Name "APP_VPN" -SplitTunneling $true
Get-VpnConnection -Name "APP_VPN" | Select-Object SplitTunneling
Get-NetRoute -InterfaceAlias "APP_VPN" | Sort-Object DestinationPrefix
Non uzten dion bideratutako zatiketak zure aplikazioa isolatzeari
Hutsegite ohikoa tunelaren bide-zerrendan inoiz agertzen ez den helmuga bat da. Helbide baten aurka saioa hasten duen eta gero CDN batetik streaming egiten duen aplikazio batek, edo dozena bat endpoint birakari ebazten dituenak, konexio batzuk VPN interfazean jarriko ditu eta gainerakoak Wi-Fi-n. IPv6 taula bereizia da, beraz IPv4 aurrizkiak soilik bultzatzen dituen profil bat zuzena dirudi aplikazioaren IPv6 trafikoa lokala geratzen den bitartean.
Bi efektu txikiagok beste hainbeste axola dute. Aurrizkirik luzeenaren bat-etortzeak irabazten du, beraz esteka bereko bide zehatzago batek, kudeaketa ostalari baterako bultzatutako /32 batek edo bigarren egokigailu baten azpisareak tunela gaindi dezakete axola zaizun helbiderako zehazki. Ebazpena bideratzearen aurretik ere gertatzen da: profileko DNS zerbitzariek edo NRPT arau batek izena estaltzen ez badute, aplikazioak egokigailu fisikoaren bidez ebatzi dezake eta gero inoiz tunelatutako aurrizkien barruan egon ez zen helbide bat markatu.
Hiru forma, eta zer erosten duen bakoitzak
Taula hormara itsatsiko nukeen zatia da, erabakia eragin-erradioari buruzkoa baita, ez ezaugarriei buruzkoa. Aplikazioaren helmugak zerrendatu ditzakezun aurrizki egonkorrak badira, bideratutako zatiketak isolamendua ematen du arrastorik txikienarekin. Hala ez badira, VM edo bigarren gailu baten atzeko bide lehenetsiko profilek bereizketa zintzo mantentzen du prozesu bat baino gehiago mugitzearen truke.
| 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 |
Aukera hauetako inork ez du eskaintzen ostalarian socket mailako lotura. Windows VPN bezero klasikoak ez du prozesu honek egokigailu hura erabili behar duenik dioen araurik; aktibatzaileak eta bide-iragazkiak geruza ezberdinetan bizi dira, eta interfaze bat hautatzen duen geruza bide-taula da. Gidak profil kopiatu batetik bakarrik aplikazioko betearazpena agintzen badu, galdetu zein bidek edo zein iragazkik egiten duen lana.
Egiaztatu bikotea txanda bakarrean
Probatu bizi-zikloa eta bideratzea bereizita, ordena horretan. Itxi aplikazioa, berretsi profilek Disconnected erakusten duela, gero abiatu aplikazioa eta egiaztatu egoera aldatu dela. Tunela altxatuta dagoenean soilik galdetu beharko zenuke norako joaten den helmuga zehatz bat, eta aplikazioak benetan markatzen duen helbidea erabili beharko zenuke, ez susmo bat.
$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 interfazea eta helmuga hura eramango lukeen hurrengo jauzia izendatzen ditu. Han alias fisiko batek tunela altxatuta dagoela eta fluxu horretarako garrantzirik ez duela esan nahi du: egiaztatu bultzatutako aurrizkiak, gero bide zehatzagoak, gero IPv6. Egoera batere aldatzen ez bada, aktibatzailea ez zen piztu, eta exekutagarriaren bidea, profilen irismena eta VPN bezeroaren eragiketa-erregistroa dira begiratzeko hiru lekuak.
Desegin garbi hurrengo proba zintzoa izan dadin
Kendu eraiki zenuen ordena alderantziz: lehenengo aplikazio aktibatzailea, gero profila. Profila ezabatzeak aktibatzailea geratzen den bitartean zintzilik dagoen elkarte bat uzten du, hurrengo saiakera nahasgarri egiten duena, eta Remove-VpnConnection -Force ez du beti cmdlet-en kanpo sortutako telefono-agendako sarrera bat garbitzen.
Erabiltzaile bakoitzeko sarrerak erabiltzailearen rasphone.pbk barruan daude Roaming profilean; erabiltzaile guztientzako sarrerak ProgramData azpian daude. Egiaztatu profilen irismenari dagokion biltegia, berriz konektatu gordetako profila eta berretsi bere bideak eta DNS oraindik ondo dabiltzala, geroagoko proba batek egin duzun aldaketa neurtzeko utzitako egoera ez ezik.
- Tunela prozesua abiatzean altxatzen da, ez saioa hastean.
- Aurrizki aurreikusitakoak soilik agertzen dira VPN interfazean.
- Aplikazioaren benetako urruneko helbidea VPN aliasera ebazten da.
- Ez da aktibatzaile zintzilikatzailerik geratzen profila kendu ondoren.