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 эсвэл хоёр дахь төхөөрөмжийн ард байгаа өгөгдмөл зам профайл нь нэгээс олон процессыг зөөх зардлаар тусгаарлалтыг шударга байлгадаг.

ShapeWhat starts the tunnelWhat enters itPick it when
Trigger plus routed splitProcess startOnly pushed or added prefixesThe app's endpoints are stable prefixes and the host should stay direct
Trigger plus default routeProcess startEverything, machine-wideYou need one exit for all traffic and accept the wider scope
Separate VM or deviceGuest boot or loginEverything inside that guestThe 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 псевдоним руу шийдэгддэг.
  • Профайлыг устгасны дараа унжиж буй триггер үлдэхгүй.

Холбоотой нийтлэлүүд