Profil, ktorý funguje na prenosnom počítači, zlyhá na telefóne. Zjavným krokom je zmeniť jedno slovo v konfigurácii klienta. To slovo nepomôže, pretože oba konce nehovoria o rovnakom druhu prevádzky.

TAP prenáša ethernetové rámce. TUN prenáša IP pakety. Aplikácia VPN pre Android dostane IP rozhranie, čo robí jednu z tých dvoch zostáv možnou a druhú nie, bez ohľadu na to, čo hovorí konfigurácia.

Porovnanie je krátke, ale rozhoduje o tom, či to môžete opraviť v telefóne alebo musíte zmeniť službu.

Dva typy tunelov s odlišnými dátami

Rozhranie TAP sa správa ako ethernetový adaptér. Prenáša rámce, teda ARP, broadcast a všetko ostatné, čo LAN prenáša pod IP. Práve to umožňuje most: tunel rozširuje broadcastovú doménu a klienti sa správajú, akoby boli zapojení do prepínača.

Rozhranie TUN prenáša IP pakety adresované jemu. Neexistuje vrstva spojenia, o ktorej by sa dalo vyjednávať, žiadne ARP ani broadcast. O tom, čo vstúpi do tunela, rozhoduje smerovanie, a konfigurácia na strane servera používa podsiev, nie most.

Oba konce sa musia zhodnúť, ktorú z tých dvoch vecí robia. Zmena dev tap na dev tun na jednej strane službu neprevedie; vznikne klient, ktorý očakáva smerovaný tunel, a server, ktorý stále posiela rámce, a handshake môže uspieť, zatiaľ čo nič použiteľné neprechádza.

Čo Android aplikácii skutočne odovzdá

API VpnService platformy dáva aplikácii virtuálne rozhranie pre IP pakety, nastavené adresami, trasami a MTU. V tom API nie je žiadny ethernetový adaptér a aplikácia si ho nemôže vymyslieť.

Preto OpenVPN Connect dokumentuje podporu smerovaných pripojení TUN na Androide, nie TAP mostov. Časté otázky k Androidu sú vyjadrením tejto hranice zo strany klienta a zodpovedajú API platformy.

Sieťové nástroje s rootom, vlastný firmvér alebo produkt s výslovnou prekladovou vrstvou sú iné zostavy. Bežný prípad je ten, okolo ktorého treba plánovať: aplikácia, ktorá dokáže importovať váš súbor a bežať ako bežný používateľ, s IP rozhraním a ničím pod ním.

Ako to vyzerá, keď to napriek tomu skúsite

Spojenie sa zvyčajne nadviaže. Práve to robí zlyhanie mätúcim: klient hlási pripojenie, protokol servera ukazuje partnera a žiadna aplikácia nefunguje.

Prevádzka adresovaná priradenej adrese telefónu neprichádza, pretože server mostuje rámce na MAC adresu, ktorú telefón nikdy nemal. Zisťovanie závislé od broadcastu zostáva prázdne. Ak sa LAN spolieha na DHCP cez most, telefón takto nezíska prenájom a ručne priradená adresa v mostovanej podsievi chýbajúce rozhranie stále nevytvorí.

Niektorí klienti zlyhajú skôr, pri importe profilu, keď narazia na typ zariadenia, ktorý nedokážu implementovať. Oba typy správania znamenajú to isté a ani jedno sa neopraví pridaním trás, zmenou DNS alebo rozšírením rozsahu adries tunela.

Čo musí zmeniť strana servera

Oprava patrí tomu, kto prevádzkuje službu VPN, a zvyčajne sa pridáva, nie migruje. Spustite druhú inštanciu OpenVPN so smerovaným zariadením, vlastnou klientskou podsievou a konfiguráciou servera, ktorá prideľuje adresy a posiela trasy, ktoré telefóny potrebujú. Existujúca mostovaná inštancia ďalej obsluhuje zariadenia, ktoré Ethernet skutočne potrebujú.

Dva detaily to v praxi sprevádzkujú. LAN potrebuje spätnú trasu pre novú klientsku podsiev, mieriacu na hostiteľa VPN, inak sa odpovede nikdy nevrátia. A firewall na hostiteľovi tunela musí preposielať medzi rozhraním tunela a LAN, a to je krok, ktorý sa najčastejšie vynechá, keď test z hostiteľa samotného uspeje.

Ak operátor nemôže pridať službu, alternatívou je zariadenie, ktoré sa dokáže pripojiť k mostu, teda prenosný počítač alebo router konajúci v mene telefónu. Je to obchádzka s vlastnými nákladmi na správu, nie konfigurácia Androidu.

Rozhodujte sa podľa aplikácie, nie podľa tunela

Opýtajte sa, k čomu musí telefón skutočne dosiahnuť, a potom to zmapujte. Zdieľaná zložka alebo intranetová stránka dostupná menom či adresou je požiadavka na IP a smerovaný tunel ju splní, keď DNS preloží meno a trasa existuje. Nástroj na zisťovanie, ktorý prechádza miestnu broadcastovú doménu, nie je požiadavka na IP a žiadne množstvo smerovania ju nenaplní.

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

Tá tabuľka je aj požiadavka, ktorú treba poslať. Pomenujte aplikáciu, adresu alebo meno, ktoré používa, a či závisí od zisťovania. Operátor môže na taký opis reagovať, čo s telefónom, ktorý sa nepripojí, nedokáže nikto.

Nakoniec, zachovajte službu TAP pre zariadenia, ktoré ju potrebujú, namiesto toho, aby ste nútili každého klienta napodobňovať adaptér LAN. Dve služby s jasným účelom sa podporujú ľahšie ako jedna, ktorá všetkým funguje na polovicu.

Súvisiace články