Ноутбукте жұмыс істейтін профиль телефонда істемейді. Көрнекі қадам — клиент конфигурациясындағы бір сөзді өзгерту. Бұл сөз көмектеспейді, өйткені екі жақ бірдей трафик түрі туралы сөйлеспейді.

TAP Ethernet кадрларын тасымалдайды. TUN IP пакеттерін тасымалдайды. Android VPN қолданбасына IP интерфейсі беріледі, бұл екі орналасудың біреуін мүмкін, екіншісін мүмкін емес етеді, конфигурация не десе де.

Салыстыру қысқа, бірақ оны телефонда түзете аласыз ба, әлде қызметті ауыстыру керек пе, соны шешеді.

Жүктемесі әртүрлі екі туннель түрі

TAP интерфейсі Ethernet адаптері сияқты әрекет етеді. Ол кадрларды тасымалдайды, яғни ARP, трансляция және LAN IP-ден төмен тасымалдайтынның бәрі. Бұл көпір жасауды мүмкін етеді: туннель трансляция доменін кеңейтеді, ал клиенттер коммутаторға қосылғандай әрекет етеді.

TUN интерфейсі өзіне адрестелген IP пакеттерін тасымалдайды. Келісетін арна деңгейі жоқ, ARP жоқ және трансляция жоқ. Туннельге ненің кіретінін маршруттау шешеді, ал сервер жағындағы конфигурация көпірдің орнына ішкі желіні пайдаланады.

Екі шет те осы екеуінің қайсысын жасайтыны туралы келісуі керек. Бір жақта dev tap-ны dev tun-ге ауыстыру қызметті түрлендірмейді; нәтижесінде маршрутталған туннель күтетін клиент пен әлі де кадрлар жіберетін сервер пайда болады, ал қол алысу сәтті болуы мүмкін, бірақ пайдалы ештеңе өтпейді.

Android қолданбаға шын мәнінде не береді

Платформаның VpnService API-і қолданбаға IP пакеттері үшін виртуалды интерфейс береді, ол мекенжайлармен, маршруттармен және MTU-мен конфигурацияланған. Бұл API-де Ethernet адаптері жоқ, ал қолданба оны ойдан жасай алмайды.

Сондықтан OpenVPN Connect Android-та TAP көпірінің орнына маршрутталған TUN қосылымдарын қолдауды құжаттайды. Android жиі қойылатын сұрақтары осы шекара туралы клиент жағының мәлімдемесі және ол платформа API-іне сай келеді.

Root құқықтары бар желілік құралдар, жеке фирмалық бағдарлама немесе айқын аударма қабатын іске асыратын өнім — басқа орналасулар. Кәдімгі жағдай — жоспарлау керек жағдай: файлыңызды импорттап, қарапайым пайдаланушы ретінде жұмыс істей алатын қолданба, IP интерфейсімен және оның астында ештеңе жоқ.

Бәрібір байқап көргенде қандай болады

Қосылым әдетте орнатылады. Бұл сәтсіздікті түсініксіз етеді: клиент қосылғанын хабарлайды, сервер журналы серіктесті көрсетеді, ал ешбір қолданба жұмыс істемейді.

Телефонға берілген мекенжайға жіберілген трафик жетпейді, өйткені сервер кадрларды телефон ешқашан иеленбеген MAC мекенжайына көпірлейді. Трансляцияға тәуелді анықтау бос қалады. Егер LAN көпір арқылы DHCP-ге сүйенсе, телефон бұлай жалға алу ала алмайды, ал көпірленген ішкі желіде қолмен берілген мекенжай жоқ интерфейсті әлі де жасамайды.

Кейбір клиенттер ертерек, профильді импорттағанда сәтсіз болады, егер олар іске асыра алмайтын құрылғы түрін көрсе. Екі мінез-құлық та бір мағынаны білдіреді, және олардың ешқайсысы маршрут қосу, DNS өзгерту немесе туннельдің мекенжай ауқымын кеңейту арқылы түзелмейді.

Сервер жағы нені өзгертуі керек

Түзету VPN қызметін басқаратын адамға тиесілі және әдетте көшу емес, қосымша болып табылады. Маршрутталған құрылғысы, өз клиенттік ішкі желісі және мекенжайларды тағайындап, телефондарға қажет маршруттарды жіберетін сервер жағындағы конфигурациясы бар екінші OpenVPN данасын іске қосыңыз. Қолданыстағы көпірлі дана Ethernet шынымен қажет құрылғыларға қызмет көрсетуді жалғастырады.

Екі бөлшек мұны іс жүзінде жұмыс істетеді. LAN-ға жаңа клиенттік ішкі желі үшін VPN хостына бағытталған қайтару маршруты қажет, әйтпесе жауаптар ешқашан оралмайды. Ал туннель хосттағы фаервол туннель интерфейсі мен LAN арасында жіберуі керек, және бұл хосттың өзінен жасалған сынақ сәтті болғанда жиі ұмытылатын қадам.

Егер оператор қызмет қоса алмаса, балама — көпірге қосыла алатын құрылғы, яғни телефонның атынан әрекет ететін ноутбук немесе маршрутизатор. Бұл өз басқару шығыны бар айналып өту жолы, Android конфигурациясы емес.

Туннельден емес, қолданбадан шешіңіз

Телефон шын мәнінде неге жетуі керектігін сұрап, оны картаға түсіріңіз. Атымен немесе мекенжайымен қол жетімді файл алмасу немесе интранет сайты IP талабы болып табылады, ал DNS атауды шешіп, маршрут бар болса, маршрутталған туннель оны қанағаттандырады. Жергілікті трансляция доменін шолатын анықтау құралы IP талабы емес, және ешқандай маршруттау оны толтырмайды.

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

Бұл кесте — жіберілетін сұраныс та. Қолданбаны, ол пайдаланатын мекенжайды немесе атауды және оның анықтауға тәуелділігін атаңыз. Оператор осы сипаттамаға сүйеніп әрекет ете алады, ал қосылмайтын телефонмен ешкім әрекет ете алмайды.

Соңында, әр клиентті LAN адаптеріне еліктеуге мәжбүрлеудің орнына, оған мұқтаж құрылғылар үшін TAP қызметін сақтаңыз. Мақсаты айқын екі қызметті қолдау бәріне жартылай жұмыс істейтін біреуінен оңайырақ.

Қатысты мақалалар