Windows VPN колдонмо триггери жана бөлүнгөн туннель: эмнени обочолойт
Колдонмо менен ишке киргизилген Windows VPN профили туннелди гана ачат. Маршрутталган бөлүнгөн туннель эмнени кирерин чечет, жана ар бири бир колдонмо үчүн башкача ишке ашпайт.
Эки Windows конфигурациясы Жөндөөлөрдө бирдей көрүнөт жана такыр башкача жүрөт. Бири колдонмо триггери бар көчүрүлгөн VPN профили, ошондуктан бир аткарылуучу файлды иштетүү туннелди көтөрөт. Экинчиси бөлүнгөн туннель профили, анын маршруттар тизмеси кокустан ошол колдонмо сүйлөшкөн нерсени камтыйт. Биринчиси туннель качан бар экенине жооп берет. Экинчиси кайсы пакеттер кирерине жооп берет, жана экинчиси гана машинанын калганын физикалык байланышта калтырат, колдонмо туташкан бойдон калат.
Триггер — жашоо цикл эрежеси, маршруттоо эрежеси эмес
Add-VpnConnectionTriggerApplication аткарылуучу файлдын жолун профилдин атына байланыштырат. Бул процесс башталганда, Алыскы кирүү байланыштарынын менеджери профилди чакырат, жана триггер шарты бүткөндө, байланыш үзүлүшү мүмкүн. Бул алмашууда эч нерсе сокеттерди текшербейт. Командага көтөрүлгөн shell, бинардык файлга толук жол жана -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 трафиги жергиликтүү бойдон калат.
Дагы эки кичинекей таасир да ошондой маанилүү. Эң узун префикс дал келүү жеңет, ошондуктан такыраак on-link маршрут, башкаруу хосту үчүн түртүлгөн /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 псевдонимине чечилет.
- Профиль алынгандан кийин салбыраган триггер калбайт.