Root feroaret hokker netwurkbewurkingen in proses besykje mei. It jout de telefoan gjin iepenbier berikber adres, reservearret gjin ynkommende mapping by de provider en hâldt in daemon net yn libben nei in werstart. As jo beslute oft in Android-telefoan as VPN-tsjinner funksjonearje kin, skied dan trije fragen: kin de bedoelde klant de listener hielendal berikke, hokker privilezjemodel hat de tsjinner-ymplemintaasje nedich, en wat moat trochstjoerd wurde as de tunnel ienris stiet.

Wa moat de telefoan berikke, en fan wêr

In klant op deselde tastiene LAN en in klant op mobyl data testje twa ferskillende netwurken. Beslis earst it bedoelde, want de antwurden geane net oer. Op Wi-Fi hat net frege ynkommend ferkear meastal in mapping op de upstream-router nedich en in brûkber iepenbier paad dêrefter. Op selulêr betsjut carrier-grade NAT dat ynkommende IPv4 faak net beskikber is, wat de telefoan ek tastiet.

Dat lêste punt is krekt datjinge dêr't root net by kin. De lokale firewall fan 'e telefoan en de NAT fan 'e provider binne ferskillende systemen, en it earste feroarje hat gjin effekt op it twadde. In privee ynterface-adres, in mobyldata-ikoan of in harkjende socket binne gjin bewiis fan berikberens. As it paad fan 'e provider dochs wrâldwiid routber IPv6 biedt, hawwe jo dêr dochs in bewust listener- en firewallbelied foar nedich; in adres hawwe is net itselde as ferbiningen oannimme.

Client pathWhat actually decides reachability
Same LANThe phone's listener and its local firewall
Wi-Fi, from the internetA mapping on the upstream router plus a usable public path beyond it
Cellular IPv4The carrier's NAT, which the handset does not control
Cellular IPv6Address, listener and firewall policy together

Betsjinje en trochstjoere binne twa ferskillende suksessen

In foltôge VPN-hânskoft bewiist dat de tunnel bestiet. It bewiist net dat de klant in LAN efter de telefoan berikke kin, en it bewiist net dat de telefoan as ynternetútgong tsjinje kin. Dat binne aparte konfiguraasjes boud op it ynterne adresplan, de rûtes, it weromgedrach en in nau ôfbeakene trochstjoerbelied foar de taak dy't jo echt wolle.

De flatermodus is foarsisber: de hânskoft slagget, de klant lit ferbûn sjen, en neat laden. Foardat jo de klant debugge, beslute hokker fan 'e twa rollen jo bouwe. Remote tagong ta in apparaat op it netwurk fan 'e telefoan en ynternetútgong fia folsleine tunnel fereaskje ferskillende trochstjoerregels, en beide jaan as jo ien woene ferbreedt de bleatstelling sûnder de frege kapasiteit ta te foegjen.

It privilezjemodel is in kar, net root of neat

In konvinsjonele OpenVPN-daemon dy't in kernel-TUN-apparaat brûkt, hat de byhearrende kapasiteiten, tagong ta it apparaatknooppunt en gearwurking fan Android syn feilichheidsbelied nedich. Root is gjin algemiene ûntheffing fan SELinux; in privilezjeare proses bliuwt beheind troch it platformbelied. Dêrom kin in binary dy't noflik op in Linux-tsjinner draait, op in telefoan mislearje sûnder in dúdlike flater oer tastimmingen.

In gateway-ymplemintaasje yn 'e brûkersromte kin in folslein oar privilezjemodel hawwe, dus de gongbere bewearing dat elke VPN-tsjinner op Android root nedich hat, is te breed. Wat root jo keapet is de mooglikheid om mear bewurkingen te besykjen, net in garânsje dat se tastien wurde of dat it resultaat berikber is.

Android syn eigen VPN-tsjinstregistraasje is wer in oar meganisme. It jout in app in beheard klantynterface mei in definiearre libbenssyklus; it is gjin algemiene tsjinner-ynstallearder, en in daemon fan in terminal ôf starte jout it gjin altyd-oan-behear, belied per app of in eigen herstelpaad.

As jo in útgongspunt wolle, feroarje dan de arsjitektuer

As it doel gewoan remote ynternetútgong fia de telefoan is yn plak fan kompatibiliteit mei in besteand OpenVPN-profyl, dan is in stipe overlay-útgongsknooppunt it better passende ûntwerp. Tailscale dokumintearret in Android-útgongsknooppuntrol mei syn eigen registraasje-, autorisaasje- en klantkar-stappen.

De ruil is echt en wurdich om iepen te sizzen: jo akseptearje in oar protokol, in oar fertrouwensmodel en in ôfhinklikens fan dat akkount en dy koördinaasjetsjinst. It makket net dat in net-oanpaste OpenVPN-klant by de overlay komt, en it jout jo gjin OpenVPN-listener op in iepenbier adres.

Wat de útrôl noch nedich hat

Hokker paad jo ek nimme, de operasjonele basis beslút oft it in wike oerlibbet. Hâld tsjinnerreferinsjes privee, jou ferskillende klantidentiteiten út en plan de ynlûking foardat jo dy nedich hawwe. Beslis hoe't fernijingen komme, wat de tsjinst efter de skermen draaiende hâldt en hoe't it him nei in werstart of netwurkferoaring werstelt.

Mij de koarte wegen dy't handich lykje: in ferâldere statyske binary, hurdcodearre ynterfacenammen en in opstartskript dat it besteande firewallbelied wisket. Akseptearje it resultaat dan allinnich tsjin in konkreet test: in autorisearre remote klant berikt de bedoelde boarne, ferbeane bestimmingen bliuwe net beskikber, en it apparaat komt fan sels werom nei it stipe libbenssyklus-evenemint. Root-tagong is ien mooglike yngrediïnt yn dat resultaat, en selden de beslissende.

Relatearre artikelen