Ilova asosidagi va manzil asosidagi split tunneling bir ish uchun ikki sozlama emas. Biri qaysi jarayon paket yuborayotganini so‘raydi; ikkinchisi o‘sha paket qayerga ketayotganini so‘raydi. Birinchi savol uchun qurilgan qoida trafik yordamchi jarayondan kelganda jim ravishda muvaffaqiyatsiz bo‘ladi, ikkinchisi uchun qurilgan qoida esa xost nomi siz hech qachon ro‘yxatga kiritmagan manzilga yechilganda muvaffaqiyatsiz bo‘ladi. Talabga mos obyektni tanlang, so‘ngra uni ikki sinov paketi bilan isbotlang: biri tunneldan foydalanishi, ikkinchisi foydalanmasligi kerak.

Ikki qoida turli qatlamlarda ishlaydi

Ilova qoidasi tarmoq qatlamidan yuqorida, operatsion tizim yuboruvchiga beradigan identifikatsiyaga qarshi qo‘llaniladi. Android'da bu paket orqasidagi UID bo‘lib, VPN xizmati har bir UID uchun trafik tunnelga kirishini hal qiladi. Manzil haqida hech narsa so‘ralmaydi, shuning uchun tanlangan ilova hamma joyga yeta oladi, boshqa hech bir ilova esa ichki tarmoqqa yeta olmaydi.

Manzil qoidasi paketning o‘ziga qo‘llaniladi. Tunnel interfeysi prefikslar to‘plamiga ega, marshrutlash jadvali mos trafikni o‘sha yerga yuboradi, yuboruvchi jarayon esa ahamiyatsiz. Shuning uchun manzil qoidasi hech kim ro‘yxatga kiritishni eslay olmagan xizmat, printer yoki to‘plam ishni qamrab oladi, va shuning uchun mijoz jarayonga hech qachon qaramaydigan platformada uni faqat shu dastur deb ifodalash mumkin emas.

Ilova qoidalari mobil mijozlar va boshqariladigan agentlarga mos

Android tanlovni to‘g‘ridan-to‘g‘ri taqdim etadi: VpnService.Builder.addAllowedApplication() va addDisallowedApplication() paket nomlarini oladi va qaror har bir UID uchun qo‘llanadi, Android'ning VPN dasturchi qo‘llanmasida ta'riflanganidek. iOS'da bundle identifikatorlariga asoslangan har bir ilova uchun VPN qoidalari orqali ekvivalent mavjud, ular odatda qo‘lda yozilmasdan MDM profili orqali yetkaziladi.

Desktop mijozlari zaif nuqta. Windows va macOS VPN mijozlarining ko‘pchiligi manzil bo‘yicha marshrutlaydi va jarayon bo‘yicha tanlagichni umuman taklif qilmaydi, chunki tunnel drayveri jarayonlarni emas, paketlarni ko‘radi. Rejangiz noutbukda bitta ilovani tunnellashga bog‘liq bo‘lsa, uning atrofida loyihalashdan oldin mijozning haqiqiy imkoniyatlarini tekshiring; ehtimol siz manzillar ro‘yxati va ikkinchi mashina o‘rtasida tanlashyapsiz.

Odamlar e'tibordan chetda qoldiradigan natija: bu platformalarda marshrutlar bilan ilova qoidasini taqlid qilib bo‘lmaydi. Ilovaning serveriga xost marshruti qo‘shish hammaning trafigini o‘sha serverga tunnellaydi, brauzer va yangilovchi bilan birga.

Manzil qoidalari subnet ro‘yxatlari va saytlarga yetib borishga mos

WireGuard modelni aniq qiladi. AllowedIPs kriptokalit marshrutlash: manzili hamkor ro‘yxatiga tushadigan ichki paket o‘sha hamkorga shifrlanadi, qolgan hamma narsa odatiy yo‘l bilan shifrlanmasdan chiqadi. Nomlash uchun jarayon ham, nima kiritilgani haqida noaniqlik ham yo‘q.

OpenVPN itarilgan marshrutlash jadvali orqali xuddi shu joyga yetadi. route-nopull serverning marshrutlarni buyurishini to‘xtatadi, so‘ngra mijoz tomonidagi route 10.20.0.0 255.255.0.0 vpn_gateway ofis prefiksini aniq qamrab oladi. IPv6 bu mijozlarning har birida alohida bayonot, va uni unutish to‘g‘ri ko‘rinadigan IPv4 bo‘linishi atrofida oqib ketishning eng keng tarqalgan yo‘li.

Xost nomi marshrut emas. Agar profil domen maydonini taklif qilsa, unga mijoz bir marta yechadigan nom sifatida qarang, doimiy manzillar diapazoni sifatida emas; kontent yetkazish tarmoqlari va yuklamani muvozanatlovchilar ertaga boshqa manzillar beradi.

Ikkala model qayerda buziladi: yordamchilar, umumiy xizmatlar, yechuvchilar

Yordamchi jarayonlar ilova qoidalarini buzadi va bu server nosozligiga o‘xshaydi. Brauzerning yangilovchisi, halokat hisobchisi, SYSTEM sifatida ishlaydigan sinxronlash xizmati va boshqa paketga joylashtirilgan WebView — bularning barchasi alohida identifikatsiyalar, shuning uchun brauzerni tunnellash haqiqiy so‘rovni tunneldan tashqarida qoldirishi mumkin. Aksincha ham shunday chalkash: tunnellangan jarayon ichidagi umumiy kutubxonani chaqiradigan chiqarib tashlangan ilovaning trafigi baribir tunneldan o‘tadi.

Manzil qoidalari umumiy xizmatlarda va nomlarda buziladi. Fayl bo‘lishishlar, printerlar, ichki DNS va litsenziya serveri manzillarda yashaydi, shuning uchun bitta ilovaning tunneli brauzerga kirish beradi, ulangan disk esa o‘lik qoladi. Bu qamrov farqi hech bir modelning xatosi emas, lekin bitta ilovaning tunneli nega shunchalik ko‘p VPN yoniq va bo‘lishish yo‘q holatini keltirib chiqarishining sababi ham shu.

Yechuvchilar ikkalasini ham kesib o‘tadi. Agar mijoz ichki DNS serverlarini o‘rnatsa, lekin operatsion tizim ommaviy yechuvchiga HTTPS orqali DNS ishlatsa, javob tunneldan tashqaridan keladi va manzil qoidasi hech qachon mos kelmasligi mumkin. Qoida noto‘g‘ri degan xulosaga kelishdan oldin qaysi yechuvchi haqiqatan javob berganini tekshiring va mijoz tomonida tunnel yechuvchisini umuman o‘rnatganini tasdiqlang. DNS'ni tunneldan tashqarida qoldiradigan bo‘linish marshrutlash jadvalida benuqson ko‘rinadi va baribir har bir ichki nomda muvaffaqiyatsiz bo‘ladi.

Tartib: tanlash, qo‘llash, tekshirish

Menyudan emas, talabdan boshlang. Agar maqsad faqat shu ilova tunneldan foydalansin bo‘lsa, ilova qoidalari va ularni qo‘llab-quvvatlaydigan platforma kerak. Agar maqsad bu tarmoqlarga tunnel orqali yetish bo‘lsa, prefikslar kerak. Agar javob ikkalasi bo‘lsa, ularni ikki alohida boshqaruv sifatida amalga oshiring va qaysi biri qaysi nosozlik uchun javob berishini yozib qo‘ying.

Ifodalay oladigan eng tor shaklni qo‘llang, so‘ngra mijozning holat belgisi o‘rniga marshrutlash jadvalidan so‘rab tekshiring:

ip route get 10.20.30.40
ip -6 route get 2001:db8:10::40
wg show wg0 allowed-ips
Get-NetRoute -DestinationPrefix 10.20.0.0/16
Find-NetRoute -RemoteIPAddress 10.20.30.40

Birinchi ikki satr haqiqiy manzil ishlatadigan interfeysni nomlaydi; wg show sozlangan prefikslar ro‘yxatini chop etadi; Windows'da Find-NetRoute paket yuborilganda stek javob beradigan aynan shu savolga javob beradi. Agar interfeys tunnel bo‘lsa, qoida mos keldi.

Keyin chiqarib tashlanishi kerak bo‘lgan ikkinchi paketni boshqa ilovadan xuddi shu manzilga sinab ko‘ring. Chiptaga mijoz versiyasini, qoida turini, prefikslar yoki paketlar ro‘yxatini va kuzatilgan ikki natijani yozing. Aynan shu natijalar juftligi keyingi muhandisga siyosat noto‘g‘ri sozlanganini yoki trafik unga hech qachon tegishli bo‘lmaganini aytadi.

O'xshash maqolalar