Android OpenVPN: dodavanje privatne rute bez rootanja telefona
Dodajte jednu rutu u profil koji Android doista učitava, zatim provjerite dopušta li je poslužitelj. Vodič kroz izmjenu, ponovno povezivanje i četiri provjere.
Treba vam još jedna privatna podmreža — recimo 10.60.0.0/24 — koju profil trenutačno ne sadrži. Na prijenosniku biste dodali rutu i nastavili. Na Androidu je VPN aplikacija, tun uređaj pripada toj aplikaciji i nema tablice usmjeravanja koju biste mogli uređivati bez roota. Ruta ipak mora postojati, ali ide u profil koji klijent učitava i radi samo ako se druga strana slaže. Slijede izmjena, ponovno povezivanje, strana poslužitelja i vraćanje.
Prije izmjene: što ruta može, a što ne može
Ruta odgovara na jedno pitanje: koje sučelje treba nositi promet prema ovom odredištu. Ona ništa ne ovlašćuje. Ako vlasnik mreže nije pristao da ovaj telefon može dosegnuti tu podmrežu, ispravna ruta stvara konfiguraciju koja izgleda ispravno i tihi pad na pristupniku, a sljedeći sat provest ćete uređujući pogrešnu datoteku.
Prvo ishodite taj pristanak, pisanim putem ako mreža ima vlasnika. Zatim zabilježite što ne radite: ne dodjeljujete telefonu adresu unutar tog LAN-a, ne mijenjate poslužiteljev listener i ne odabirete lokaciju prema imenu hosta. To su četiri različite promjene i samo je prva vaša.
| The route gives you | The route does not give you |
|---|---|
| A destination prefix associated with the tunnel | Permission to forward at the gateway |
| A path for the phone's own traffic | A return route on the target host |
| A scope for the client's virtual interface | A name in DNS, or HTTPS identity |
Uredite profil koji klijent doista učitava
Za kompatibilan klijent koji uvozi obični OpenVPN tekst opcija, dodatak je jedan redak:
route 10.60.0.0 255.255.255.0Dodajte ga u tijelo profila, uz ostale direktive usmjeravanja, a operatorov endpoint, certifikate, rukovanje ključevima i retke provjere ostavite točno kakvi su bili. Nemojte zalijepiti cijeli stari primjer da biste posudili jedan redak: kompresija, apsolutne putanje datoteka i zastarjele cipher postavke putuju s njim i koštat će vas zasebne sesije otklanjanja pogrešaka.
Korak koji ljudi propuštaju je vlasništvo datoteke. Ako je aplikacija uvezla profil, kopija koju koristi pripada aplikaciji i uređivanje preuzetog izvornika ne mijenja ništa. Upotrijebite klijentov podržani uređivač ili ponovno uvezite uređenu datoteku putem putanje ažuriranja i potvrdite naziv aktivnog profila kada postoji nekoliko sličnih naziva. Zabilježite koji ste promijenili.
Ako profil već nosi route-nopull, nijedna ruta s poslužitelja nije instalirana i svaki prefiks koji telefon treba mora biti izričito naveden. To je legitimno rješenje, ali znači da izostavljeni redak izgleda točno kao odbijanje poslužitelja.
Ponovno se povežite i provjerite na uređaju
Prvo prekinite vezu, zatim ponovno povežite upravo onaj profil koji ste uredili, umjesto da aplikaciji dopustite obnavljanje posljednje sesije. Otvorite zapisnik veze i potvrdite da je klijent raščlanio novi redak; direktiva usmjeravanja koju sučelje ignorira čest je ishod uređivanja pogrešne kopije.
Testirajte odredište po adresi, ne po imenu. TCP provjera prema jednom poznatom servisnom portu daje više informacija od pinga jer mnogi hostovi odgovaraju na ICMP dok je servisni port filtriran. Ako adresa odgovara, a ime ne, imate pitanje razrješivača, a ne usmjeravanja, i sljedeći odlomak nije za vas.
Ovdje pripadaju i dvije provjere opsega. VPN po aplikaciji znači da adresna ruta može postojati dok je aplikacija kojom testirate izvan uključenog skupa, pa testirajte aplikacijom koja je doista unutra. A IPv4 prefiks ne govori ništa o putu preko IPv6; ako je usluga dual-stack, dodajte odgovarajuću IPv6 rutu ili očekujte da će klijent preferirati put koji niste namjeravali.
Jedan negativan rezultat vrijedi rano prepoznati: ako full-tunnel ruta već pokriva 0.0.0.0/0, prefiks ne nedostaje i njegovo ponovno dodavanje ne mijenja ništa. Dvostruka pokrivenost ne popravlja odbijanje na strani poslužitelja ni odsutan odgovor.
Dovršite put na poslužitelju
Tri stvari moraju biti istinite izvan telefona. Pristupnik treba rutu prema odredištu i dopuštenje za prosljeđivanje telefonova izvora prema njemu. Cilj mora prihvatiti taj izvor i vratiti odgovore kroz pristupnik, ili rješenje treba namjerno prevođenje na izlazu. OpenVPN-ova opcija route iz priručnika pokriva direktivu na strani klijenta; prosljeđivanje i povratno usmjeravanje zasebne su postavke na zasebnim strojevima.
Ako odredište stoji iza drugog VPN klijenta, a ne izravno iza pristupnika, poslužitelj treba iroute za podmrežu tog partnera. Ta direktiva pripada poslužitelju i opisuje koji klijent posjeduje prefiks; telefon je ne može dostaviti iz vlastitog profila i nikakva količina uređivanja na strani klijenta je ne zamjenjuje.
Izričito provjerite povratni put. Odgovor koji izlazi zadanom rutom umjesto tunelom stvara klasičan simptom napola otvorene veze: veza je uspostavljena u jednom smjeru i ništa se ne vraća. Prevođenje izvora na pristupniku legitimna je ispravka kada cilj ne može usmjeriti natrag, ali to je odluka o politici s vlastitim posljedicama.
Vraćanje i prihvaćanje
Sačuvajte prethodni profil prije uređivanja. Ako promjena pogorša stvari, vratite tu kopiju istom putanjom ponovnog uvoza, ponovno se povežite i potvrdite da se staro ponašanje vraća — to potvrđuje da ste promijenili ono što ste mislili da mijenjate. Vraćanje koje ne uspostavlja staro stanje znači da aplikacija drži treću kopiju koju niste pronašli.
Prihvatite promjenu kada vrijede četiri stvari, ispitane ovim redom nakon svježeg povezivanja: odredište odgovara na svom servisnom portu, privatno ime se razrješava ako se očekuje, HTTPS još validira predviđeno ime hosta i sve još radi nakon restarta ili prelaska s Wi-Fi na mobilnu mrežu. Posljednja provjera je ona koja hvata rutu koja postoji samo dok Android ponovno ne uspostavi tunel.
- Potvrdite da vlasnik mreže dopušta odredište prije bilo kakve izmjene.
- Stavite rutu u profil koji klijent učitava, zatim ponovno uvezite i povežite se.
- Provjerite preko servisnog porta, unutar opsega po aplikaciji, za ispravnu obitelj adresa.
- Popravite prosljeđivanje, povratno usmjeravanje i iroute na poslužitelju, ne na telefonu.
- Sačuvajte kopiju za vraćanje i ponovno testirajte nakon restarta.