Noutbukda ishlaydigan profil telefonda ishlamaydi. Ko‘zga tashlanadigan qadam — mijoz konfiguratsiyasida bitta so‘zni o‘zgartirish. Bu so‘z yordam bermaydi, chunki ikki tomon bir xil turdagi trafik haqida gapirmaydi.

TAP Ethernet kadrlarini tashiydi. TUN IP paketlarini tashiydi. Android VPN ilovasiga IP interfeys beriladi, bu esa konfiguratsiya nima deyishidan qat’i nazar, ikkita tartibdan birini mumkin, ikkinchisini imkonsiz qiladi.

Taqqoslash qisqa, ammo u buni telefonda tuzata olasizmi yoki xizmatni o‘zgartirish kerakmi, shuni hal qiladi.

Har xil yuk ko‘taradigan ikki turdagi tunnel

TAP interfeysi Ethernet adapteri kabi ishlaydi. U kadrlarni tashiydi, ya’ni ARP, translyatsiya va IP ostida LAN tashiydigan hamma narsani. Aynan shu ko‘prik qilishni mumkin qiladi: tunnel translyatsiya domenini kengaytiradi va mijozlar kommutatorga ulangandek ishlaydi.

TUN interfeysi o‘ziga manzillangan IP paketlarini tashiydi. Kelishiladigan kanal qatlami yo‘q, ARP yo‘q va translyatsiya yo‘q. Tunnelga nima kirishini marshrutlash hal qiladi, server tomonidagi konfiguratsiya esa ko‘prik o‘rniga quyi tarmoqdan foydalanadi.

Ikki tomon bu ikkisidan qaysinisini qilayotgani haqida kelishishi kerak. Bir tomonda dev tap ni dev tun ga almashtirish xizmatni aylantirmaydi; natijada marshrutlangan tunnelni kutayotgan mijoz va hali kadr yuborayotgan server paydo bo‘ladi, qo‘l berib ko‘rishish muvaffaqiyatli bo‘lishi mumkin, lekin foydali hech narsa o‘tmaydi.

Android ilovaga aslida nima beradi

Platformaning VpnService API si ilovaga IP paketlari uchun virtual interfeys beradi, u manzillar, marshrutlar va MTU bilan konfiguratsiya qilingan. Bu API da Ethernet adapteri yo‘q va ilova uni o‘ylab topa olmaydi.

Shu sababli OpenVPN Connect Android da TAP ko‘prigi o‘rniga marshrutlangan TUN ulanishlarini qo‘llab-quvvatlashni hujjatlashtiradi. Android bo‘yicha ko‘p beriladigan savollar bu chegara haqida mijoz tomonining bayonoti va u platforma API siga mos keladi.

Root huquqli tarmoq vositalari, maxsus proshivka yoki aniq tarjima qatlamini amalga oshiruvchi mahsulot boshqa tartiblardir. Odatiy holat — rejalashtirish kerak bo‘lgan holat: faylingizni import qila oladigan va oddiy foydalanuvchi sifatida ishlay oladigan ilova, IP interfeys bilan va uning ostida hech narsa yo‘q.

Baribir urinib ko‘rganda qanday ko‘rinadi

Ulanish odatda o‘rnatiladi. Bu muvaffaqiyatsizlikni chalkashtiradi: mijoz ulanganini bildiradi, server jurnali sherikni ko‘rsatadi va hech bir ilova ishlamaydi.

Telefonga berilgan manzilga yuborilgan trafik yetib kelmaydi, chunki server kadrlarni telefon hech qachon ega bo‘lmagan MAC manziliga ko‘priklaydi. Translyatsiyaga bog‘liq qidiruv bo‘sh qoladi. Agar LAN ko‘prik orqali DHCP ga tayansa, telefon shu yo‘l bilan ijara olmaydi, ko‘priklangan quyi tarmoqda qo‘lda berilgan manzil ham yo‘q interfeysni yaratmaydi.

Ba’zi mijozlar ertaroq, profil importida muvaffaqiyatsizlikka uchraydi, agar ular amalga oshira olmaydigan qurilma turini ko‘rsa. Ikkala xatti-harakat ham bir xil ma’noni bildiradi va hech biri marshrut qo‘shish, DNS o‘zgartirish yoki tunnel manzil diapazonini kengaytirish bilan tuzatilmaydi.

Server tomoni nimani o‘zgartirishi kerak

Tuzatish VPN xizmatini boshqaradigan kishiga tegishli va odatda ko‘chirish emas, qo‘shimcha hisoblanadi. Marshrutlangan qurilma, o‘z mijoz quyi tarmog‘i va manzillarni tayinlab, telefonlarga kerakli marshrutlarni yuboradigan server tomonidagi konfiguratsiya bilan ikkinchi OpenVPN nusxasini ishga tushiring. Mavjud ko‘priklangan nusxa Ethernet haqiqatan kerak bo‘lgan qurilmalarga xizmat qilishda davom etadi.

Ikki tafsilot buni amalda ishlaydigan qiladi. LAN ga yangi mijoz quyi tarmog‘i uchun VPN hostiga qaratilgan qaytish marshruti kerak, aks holda javoblar hech qachon qaytmaydi. Va tunnel hostidagi xavfsizlik devori tunnel interfeysi bilan LAN o‘rtasida yo‘naltirishi kerak, hostning o‘zidan qilingan sinov muvaffaqiyatli bo‘lganda eng ko‘p e’tibordan chetda qoladigan qadam shu.

Agar operator xizmat qo‘sha olmasa, muqobil — ko‘prikka qo‘shila oladigan qurilma, ya’ni telefon nomidan ishlaydigan noutbuk yoki marshrutizator. Bu o‘z boshqaruv xarajatiga ega vaqtinchalik yechim, Android konfiguratsiyasi emas.

Tunneldan emas, ilovadan kelib chiqib qaror qiling

Telefon aslida nimaga yetishi kerakligini so‘rang, so‘ngra uni xaritalang. Nom yoki manzil bilan yetib boriladigan fayl almashish yoki intranet sayti IP talabidir va DNS nomni hal qilib, marshrut mavjud bo‘lsa, marshrutlangan tunnel uni qondiradi. Mahalliy translyatsiya domenini ko‘zdan kechiruvchi qidiruv vositasi IP talabi emas va qancha marshrutlash bo‘lsa ham uni to‘ldirmaydi.

RequirementTunnel that satisfies it
File server or intranet by hostnameRouted TUN, with working DNS
Broadcast or ARP-based discoveryEthernet bridging, so not an ordinary Android client
Multicast deliveryBridging or an explicit multicast relay
One application to one addressRouted TUN, narrowest possible route

O‘sha jadval — yuboriladigan so‘rov ham. Ilovani, u ishlatadigan manzil yoki nomni va uning qidiruvga bog‘liqligini ayting. Operator o‘sha tavsif asosida harakat qila oladi, ulanishni istamaydigan telefon bilan esa hech kim buni qila olmaydi.

Nihoyat, har bir mijozni LAN adapteriga taqlid qilishga majburlash o‘rniga, unga muhtoj qurilmalar uchun TAP xizmatini saqlang. Maqsadi aniq ikki xizmatni qo‘llab-quvvatlash hamma uchun yarim ishlaydigan bittasidan osonroq.

O'xshash maqolalar