Windows'da VPN aslida nimani marshrutlashini PowerShell'da qanday tekshirish mumkin
Ulangan VPN plitkasi qamrovni isbotlamaydi. Saqlangan profil bayrog'i, joriy marshrut jadvali va NRPT qoidalarini shu tartibda o'qing.
Men Windows 11 noutbukida VPN mijozi uladim, plitka Connected holatiga o'tdi, ichki fayl almashinuvi ochildi va ommaviy sayt hali ham ofis Wi-Fi tarmog'idan to'g'ridan-to'g'ri yuklanardi. Bu aralashma buzilgan tunnelga o'xshaydi. Lekin bu trafikning bir qismini VPN orqali yuborib, qolganini jismoniy adapterda qoldiradigan profilning oddiy natijasi. Majburiy tunnellash Windows qaysi standart marshrutni afzal ko'rishini o'zgartiradi; u aniqroq marshrutlarni o'chirmaydi va aloqa uzilganda trafik to'xtaydi deb va'da bermaydi. Quyida mijoz qamrovni da'vo qilganda men amal qiladigan tartib: mijoz holati, saqlangan profil, qo'llangan marshrutlar, hal qiluvchi, keyin haqiqiy oqimlar.
Mijozdan boshlang, keyin unga ishonishni to'xtating
Mijoz boshlash uchun to'g'ri joy, chunki u qaysi profil faol ekanini aytadi. Ulanish xususiyatlarini oching va aniq profil nomini, u joriy foydalanuvchi uchunmi yoki mashinadagi hamma uchun yaratilganini, va ulangandan keyin ncpa.cpl ichida qaysi adapter paydo bo'lishini yozib oling. Mening sinov noutbukimda adapter profil nomini olib yurgan, bu marshrut chiqishini o'qishni osonlashtirgan. Boshqa mashinalarda u WAN Miniport yozuvi sifatida ko'rinadi va nom sizga hech narsa aytmaydi.
Mijoz ayta olmaydigan narsa — qamrov. Ulangan plitka tunnel holatini tasvirlaydi, manzillar ro'yxatini emas. Uchinchi tomon mijozlari ham o'z konfiguratsiyasini saqlaydi, shuning uchun mahalliy Windows profili va undan o'qigan har bir xususiyat o'sha mijoz o'rnatgan narsaga aloqasi bo'lmasligi mumkin. Agar VPN AnyConnect, OpenVPN GUI, WireGuard yoki sotuvchi agenti orqali kelgan bo'lsa, quyidagi PowerShell tekshiruvlari asosan qo'llanilmaydi va ular o'rniga o'sha mijozning o'z split-tunnel va marshrutlash sozlamalarini o'qish kerak.
Saqlangan profilni o'qing, plitkani emas
Mahalliy Windows profili uchun (IKEv2, L2TP, SSTP yoki MDM itargan) saqlangan split-tunnel qarori bitta xususiyat:
Get-VpnConnection -Name 'Office' | Select-Object Name, ServerAddress, SplitTunneling, DnsSuffix
Profil qurilmadagi hamma uchun yaratilgan bo'lsa -AllUserConnection qo'shing. Usiz siz joriy foydalanuvchi ro'yxatini o'qiysiz, u bo'sh bo'lishi yoki o'xshash nomdagi boshqa yozuvni saqlashi mumkin. False qiymati SplitTunneling ichida bo'lsa, profil to'liq tunnel sifatida saqlangan: Windows VPN adapteri orqali standart marshrut o'rnatadi. True split tunnel demakdir va qamrov o'sha profil itargan marshrutlar va nom hal qilish qoidalariga to'liq bog'liq.
Bu qiymatga konfiguratsiya sifatida qarang, kuzatuv sifatida emas. U profil ulanish paytida nima so'raganini qayd etadi. Windows boshqa interfeysning aniqroq marshruti, siyosat sozlamasi yoki oldingi ulanishdan qolgan yozuv tufayli boshqacha qo'llangan marshrutlar bilan qolishi mumkin, shuning uchun mantiqiy qiymat savolni yolg'iz hal qilmaydi.
Saqlangan qiymatni qo'llangan marshrut jadvali bilan solishtiring
Ulangandan keyin butun jadvalni aylantirish o'rniga tunnel adapteridagi marshrutlarni sanab chiqing:
$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 foydali yarmi. U mijoz hech qachon javob bermaydigan savolga javob beradi: bu manzil uchun Windows aslida qaysi interfeys va qaysi manba manzilini ishlatadi? Buni ichki host, ommaviy host va siz ataylab istisno deb hisoblagan hamma narsa uchun ishga tushiring. To'liq tunnel profili ommaviy manzil uchun tunnel interfeysini ko'rsatishi kerak. Split tunnel profili odatda u yerda jismoniy adapterni ko'rsatadi, ichki prefikslar esa hanuz VPN ga hal qilinadi.
«U noto'g'ri tomonga marshrutlaydi» degan xabarlarning ko'pini ikkita tuzoq tushuntiradi. Eng aniq prefiks har doim yutadi, shuning uchun jismoniy adapterdagi /24 tunnel metrikasi qanchalik past bo'lsa ham VPN dagi standart marshrutdan ustun keladi. Metrika faqat bir xil prefiks marshrutlari orasidagi tenglikni hal qiladi. Va IPv4 bilan IPv6 alohida hal qilinadi: 0.0.0.0/0 ni qamrab olgan profil IPv6 ni mahalliy havolada qoldirishi mumkin, bu ikki qavatli saytni yarim tunnellangan ko'rinishga keltiradi. Tunnel joyida degan xulosaga kelishdan oldin Get-NetRoute -AddressFamily IPv6 ni tekshiring.
| 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 |
Nom hal qilishni NRPT bilan alohida tekshiring
Ichki nomlar muvaffaqiyatsiz bo'lib, ichki IP manzillar ishlasa, bu marshrutlashga emas, hal qiluvchi siyosatiga ishora qiladi. Windows har bir nom maydoni uchun DNS ni nom hal qilish siyosati jadvali orqali hal qiladi, u marshrut jadvalidan mustaqil:
Get-DnsClientNrptPolicy -Effective | Select-Object Namespace, NameServers
Get-DnsClientServerAddress -InterfaceIndex $vpn.ifIndex
Qoida *.corp.example ga mos kelsa, o'sha nom maydoni uchun so'rovlar tunnelning DNS serverlariga boradi, split tunnel rejimida o'sha serverlarga ma'lumot yo'li jismoniy adapterda qolsa ham. Bu dizayn va shuning uchun ommaviy saytni ochadigan brauzer sinovi ichki nomlar haqida hech narsa aytmaydi. Agar adapter kutilgan serverlarni sanasa, lekin qidiruv hanuz boshqa joyga ketsa, NRPT qoidalari tartibini solishtiring va aniqroq nom maydoni birinchi mos kelishini tekshiring.
Oqimlarni tekshiring, keyin aslida nima so'raganingizni hal qiling
Manzillarni belgilangan tartibda ko'rib chiqing, natijalar mashinalar orasida solishtirilsin: ommaviy manzil, ichki manzil, ichki nom va bitta ataylab istisno, masalan mahalliy printer yoki video qo'ng'iroq. Har biri uchun Find-NetRoute qaytargan interfeys va manba manzilini yozib oling. Har qanday siyosat o'zgarishidan keyin qayta ulanib, o'sha to'rtta tekshiruvni takrorlang; qayta ulanishdan keyingi marshrut jadvali yangi profil kuchga kirganining yagona dalili.
Keyin marshrutlashni ijro etishdan ajrating. Majburiy tunnellash tunnel turgan vaqtda qamrab olingan trafik uchun tunnelni afzal ko'radi. Bu kill switch emas. Agar talab tunnel yiqilganda mashinadan hech narsa chiqmasligi bo'lsa, u to'sib qo'yuvchi dizayndan kelishi kerak: tunnel holatiga bog'langan firewall profili, trafik filtrlari bo'lgan doim yoniq profil yoki sotuvchi mijozining o'z nosozlikda yopilish opsiyasi. Majburiy tunnellash, shuningdek, VPN serverining o'z manzilini tunnel tashqarisida yetib boriladigan qilib qoldirishi kerak, va uni «hamma narsani majburlash» nomi bilan to'sish siz tatbiq qilmoqchi bo'lgan ulanishdan o'zingizni qulflashning ishonchli usuli.
Biror narsani o'zgartirishdan oldin bu ro'yxatni ko'rib chiqing. Muvaffaqiyatsiz har bir band haqiqiy muammo qayerdaligini toraytiradi.
- Profil nomi va ko'lami tasdiqlandi, mashina bo'ylab profillar uchun
-AllUserConnectionishlatildi. SplitTunnelingo'qildi va qamrov isboti emas, konfiguratsiya sifatida qabul qilindi.- Tunnel adapterining marshrutlari IPv4 va IPv6 uchun alohida sanab chiqildi.
Find-NetRoutebitta ommaviy, bitta ichki va bitta istisno manzil uchun ishga tushirildi.- NRPT qoidalari marshrutlarni nom nosozligida ayblashdan oldin tekshirildi.
- Bloklash talabi qayta o'qildi: afzal marshrutlash tatbiq etilgan bloklash bilan bir xil emas.
To'liq yoki split tunnel qarori profil egasiga tegishli, va Microsoft ning marshrutlash eslatmalari profil belgilaganida Windows qanday xatti-harakatni amalga oshirishini tasvirlaydi. Microsoft: majburiy va split tunnellash chiqishni o'qiyotganda ochiq tutadigan manbam.