Root maina, kādas tīkla darbības process drīkst mēģināt. Tas nedod tālrunim publiski sasniedzamu adresi, nerezervē ienākošo kartējumu pie operatora un neuztur dēmonu dzīvu pēc pārstartēšanas. Ja lemjat, vai Android tālrunis var darboties kā VPN serveris, atdaliet trīs jautājumus: vai paredzētais klients vispār sasniedz klausītāju, kāds privilēģiju modelis vajadzīgs servera ieviešanai un kas jāpāradresē, kad tunelis jau ir uzcelts.

Kam un no kurienes jāsasniedz tālrunis

Klients tajā pašā atļautajā LAN un klients mobilajos datos pārbauda divus dažādus tīklus. Vispirms izlemiet par paredzēto, jo atbildes nepārnesas. Wi-Fi gadījumā nepieprasīta ienākošā satiksme parasti prasa kartējumu augšupējā maršrutētājā un aiz tā lietojamu publisku ceļu. Mobilajā tīklā operatora līmeņa NAT nozīmē, ka ienākošā IPv4 bieži nav pieejama, lai ko arī tālrunis atļautu.

Tieši šo pēdējo punktu root nevar aizskart. Tālruņa vietējais ugunsmūris un operatora NAT ir dažādas sistēmas, un pirmā maiņa neietekmē otro. Privāta saskarnes adrese, mobilo datu ikona vai klausoša ligzda nav sasniedzamības pierādījums. Ja operatora ceļš tomēr piedāvā globāli maršrutējamu IPv6, tam joprojām vajadzīga apzināta klausītāja un ugunsmūra politika; adreses esamība nav tas pats, kas savienojumu pieņemšana.

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

Apkalpošana un pāradresēšana ir divi dažādi panākumi

Pabeigta VPN roku saruna pierāda, ka tunelis pastāv. Tā nepierāda, ka klients sasniegs LAN aiz tālruņa, un nepierāda, ka tālrunis var būt interneta izeja. Tie ir atsevišķi konfigurējumi, kas balstās uz iekšējo adrešu plānu, maršrutiem, atgriešanās uzvedību un šauri noteiktu pāradresēšanas politiku tam uzdevumam, kuru tiešām vēlaties.

Kļūmes modelis ir paredzams: roku saruna izdodas, klients rāda savienojumu, un nekas neielādējas. Pirms atkļūdojat klientu, izlemiet, kuru no divām lomām būvējat. Attālināta piekļuve ierīcei tālruņa tīklā un interneta izeja ar pilnu tuneli prasa dažādus pāradresēšanas noteikumus, un abu piešķiršana, kad vēlējāties vienu, paplašina iedarbību, nepievienojot pieprasīto iespēju.

Privilēģiju modelis ir izvēle, nevis root vai nekas

Parastam OpenVPN dēmonam, kas izmanto kodola TUN ierīci, vajadzīgas atbilstošas spējas, piekļuve ierīces mezglam un Android drošības politikas sadarbība. Root nav vispārējs SELinux izņēmums; privileģēts process joprojām ir ierobežots ar platformas politiku. Tāpēc binārs fails, kas Linux serverī darbojas nevainojami, tālrunī var neizdoties bez skaidras kļūdas par atļaujām.

Lietotāja telpā darbojoša vārtejas ieviešana var būt ar pavisam citu privilēģiju modeli, tāpēc izplatītais apgalvojums, ka katram Android VPN serverim vajag root, ir pārāk plašs. Root jums nopērk iespēju mēģināt vairāk darbību, nevis garantiju, ka tās atļaus vai ka rezultāts būs sasniedzams.

Paša Android VPN pakalpojuma reģistrācija atkal ir cits mehānisms. Tas lietotnei dod pārvaldītu klienta saskarni ar noteiktu dzīves ciklu; tas nav universāls servera instalētājs, un dēmona palaišana no termināļa tam nedod pastāvīgu pārvaldību, politiku katrai lietotnei vai savu atjaunošanas ceļu.

Ja gribat izejas punktu, mainiet arhitektūru

Kad mērķis ir vienkārši attālināta interneta izeja caur tālruni, nevis saderība ar esošu OpenVPN profilu, labāk piemērots ir atbalstīts izejas mezgls pārklājuma tīklā. Tailscale dokumentē Android izejas mezgla lomu ar saviem reģistrācijas, autorizācijas un klienta izvēles soļiem.

Maiņa ir reāla, un to ir vērts pateikt tieši: jūs pieņemat citu protokolu, citu uzticēšanās modeli un atkarību no tā konta un koordinācijas pakalpojuma. Tas nepiespiež nemainītu OpenVPN klientu pievienoties pārklājuma tīklam, un tas nedod jums OpenVPN klausītāju publiskā adresē.

Kas izvietošanai vēl vajadzīgs

Lai kuru ceļu izvēlētos, operatīvie pamati izšķir, vai tas izturēs nedēļu. Turiet servera akreditācijas datus privātus, izsniedziet atšķirīgas klientu identitātes un plānojiet atsaukšanu pirms tā nepieciešama. Izlemiet, kā ierodas atjauninājumi, kas notur pakalpojumu darbībā fonā un kā tas atjaunojas pēc pārstartēšanas vai tīkla maiņas.

Izvairieties no ērti izskatošiem saīsinājumiem: novecojis statisks binārs fails, cieti kodēti saskarņu nosaukumi un palaišanas skripts, kas notīra esošo ugunsmūra politiku. Pēc tam pieņemiet rezultātu tikai ar konkrētu testu: pilnvarots attālināts klients sasniedz paredzēto resursu, aizliegtie galamērķi paliek nepieejami, un ierīce pati atgriežas pēc atbalstītā dzīves cikla notikuma. Root piekļuve ir viena iespējama sastāvdaļa šajā rezultātā un reti izšķirošā.

Saistītie raksti