TAP oder TUN? Android OpenVPN-Clients an iwwerbréckt Serveren
TAP dréit Ethernet-Framen, TUN dréit IP-Paketen, an eng Android-App kritt just déi zweet Zort. Vergläicht déi zwee, a reparéiert dann d’Serversäit.
E Profil, deen op engem Laptop funktionéiert, versot um Telefon. De naheliegende Schrëtt ass ee Wuert an der Client-Konfiguratioun z’änneren. Dat Wuert hëlleft net, well déi zwou Enner net vun der selwechter Zort Trafik schwätzen.
TAP dréit Ethernet-Framen. TUN dréit IP-Paketen. Engem Android-VPN-App gëtt eng IP-Schnittstell iwwerginn, wat eng vun den zwou Arrangementer méiglech mécht an déi aner net, egal wat d’Konfiguratioun seet.
De Verglach ass kuerz, awer hien entscheet, ob Dir dat um Telefon reparéiere kënnt oder den Déngscht musst änneren.
Zwou Tunnelszorten mat verschiddenen Notzlaaschten
Eng TAP-Schnittstell verhält sech wéi en Ethernet-Adapter. Si dréit Framen, also ARP, Broadcast an alles anescht, wat e LAN ënner IP dréit. Dat mécht d’Iwwerbréckung méiglech: den Tunnel erweidert eng Broadcast-Domän an d’Cliente verhalen sech, wéi wann se an engem Switch stiechen.
Eng TUN-Schnittstell dréit IP-Paketen, déi u si adresséiert sinn. Et gëtt keng Verbindungsschicht auszehandelen, keen ARP an kee Broadcast. D’Routing entscheet, wat an den Tunnel kënnt, an d’Serversäitkonfiguratioun benotzt en Ënnerreseau amplaz enger Bréck.
Déi zwou Enner musse sech eens sinn, wat vun deenen zwee se maachen. dev tap op enger Säit duerch dev tun z’ersetzen, verwandelt den Déngscht net; et entsteet e Client, dee en gerouteten Tunnel erwaart, an e Server, dee weider Framen schéckt, an den Handshake kann geléngen, während näischt Brauchbares duerchkënnt.
Wat Android der App tatsächlech gëtt
D’VpnService-API vun der Plattform gëtt enger App eng virtuell Schnittstell fir IP-Paketen, konfiguréiert mat Adressen, Routen an enger MTU. An där API gëtt et keen Ethernet-Adapter, an d’App kann keen erbäien.
Dofir dokumentéiert OpenVPN Connect Ënnerstëtzung fir geroutet TUN-Verbindungen op Android amplaz TAP-Bridging. D’Android-FAQ ass d’Clientsäit-Aussag iwwer dës Grenz, an si entsprécht der Plattform-API.
Netzwierk-Werkzeuge mat Root, eegene Firmware oder e Produkt mat enger expliziter Iwwersetzungsschicht sinn aner Arrangementer. Den normale Fall ass deen, ronderëm deen Dir plangen sollt: eng App, déi Är Datei importéiere kann a wéi en normale Benotzer leeft, mat enger IP-Schnittstell a näischt drënner.
Wéi et ausgesäit, wann Dir et trotzdem versicht
D’Verbindung kommen normalerweis zou Stand. Dat mécht de Feeler verwirrend: de Client mellt sech verbonnen, de Serverlog weist e Peer, an keng Applikatioun funktionéiert.
Trafik, deen un déi zougewisen Adress vum Telefon adresséiert ass, kënnt net un, well de Server Framen op eng MAC-Adress bréckt, déi den Telefon ni hat. D’Broadcast-ofhängeg Entdeckung bleift eidel. Wann de LAN sech iwwer d’Bréck op DHCP verléisst, kritt den Telefon sou keng Lease, an eng manuell zougewisen Adress am iwwerbréckten Ënnerreseau schaaft déi feelend Schnittstell nach ëmmer net.
E puer Cliente versoen méi fréi, beim Profilimport, wann si eng Gerätezort gesinn, déi se net kënnen ëmsetzen. Béid Verhalen heescht datselwecht, a keent vun deenen zwee gëtt duerch zousätzlech Routen, eng Ännerung vum DNS oder eng Erweiderung vum Adressberäich vum Tunnel behuewen.
Wat d’Serversäit muss änneren
D’Korrektur gehéiert deene Leit, déi den VPN-Déngscht bedreiwen, an si ass meeschtens zousätzlech amplaz enger Migratioun. Bedreift eng zweet OpenVPN-Instanz mat engem gerouteten Apparat, engem eegenen Client-Ënnerreseau an enger Serversäitkonfiguratioun, déi Adressen undeelt an d’Routen dréckt, déi d’Telefone brauchen. Déi bestehend iwwerbréckt Instanz bedéngt weider d’Apparater, déi wierklech Ethernet brauchen.
Zwee Detailer maachen dat an der Praxis funktionéierbar. De LAN brauch eng Zréckroute fir den neien Client-Ënnerreseau, déi op den VPN-Host weist, soss kommen d’Äntwerten ni zréck. An d’Firewall um Tunnelhost muss tëscht der Tunnelschnittstell an dem LAN weiderleeden, an dat ass de Schrëtt, deen am dackste vergiess gëtt, wann en Test vum Host selwer geléngt.
Wann den Bedreiwer keen Déngscht kann dobäisetzen, ass d’Alternativ en Apparat, deen der Bréck ka bäitrieden, also en Laptop oder en Router, deen am Numm vum Telefon handelt. Dat ass eng Ëmweeg mat eegenen Administratiounskäschten, keng Android-Konfiguratioun.
Entscheet aus der Applikatioun, net aus dem Tunnel
Frot, wat den Telefon tatsächlech muss erreechen, a kartéiert et dann. Eng Dateifreigabe oder eng Intranetsäit, déi iwwer Numm oder Adress erreecht gëtt, ass eng IP-Fuerderung, an en gerouteten Tunnel erfëllt se, soubal DNS den Numm opléist an d’Route existéiert. En Entdeckungswerkzeug, deen duerch d’lokal Broadcast-Domän geet, ass keng IP-Fuerderung, a keng Quantitéit Routing wäert en ausfëllen.
| Requirement | Tunnel that satisfies it |
|---|---|
| File server or intranet by hostname | Routed TUN, with working DNS |
| Broadcast or ARP-based discovery | Ethernet bridging, so not an ordinary Android client |
| Multicast delivery | Bridging or an explicit multicast relay |
| One application to one address | Routed TUN, narrowest possible route |
Déi Tabell ass och d’Ufro, déi Dir schéckt. Nennt d’Applikatioun, d’Adress oder den Numm, deen se benotzt, an ob se vun der Entdeckung ofhängeg ass. E Bedreiwer kann op déi Beschreiwung reagéieren, wat keen op engem Telefon kann, deen sech net verbënnt.
Schlussendlech, behält den TAP-Déngscht fir d’Apparater, déi en brauchen, amplaz all Client en LAN-Adapter noäffen ze loossen. Zwee Déngscht mat kloere Zwecker sinn éischter z’ënnerstëtzen wéi ee, deen fir all eenzege just hallef funktionnéiert.