Android OpenVPN: privaatse marsruudi lisamine telefoni rootimata
Lisa üks marsruut profiili, mida Android tegelikult laeb, ja kontrolli siis, kas server lubab seda. Juhend muudatuse, taasühenduse ja nelja kontrolli jaoks.
Sul on vaja veel ühte privaatset alamvõrku — ütleme 10.60.0.0/24 — mida profiil praegu ei sisalda. Sülearvutis lisaksid marsruudi ja liiguksid edasi. Androidis on VPN rakendus, tun-seade kuulub sellele rakendusele ja rootiõiguseta pole marsruutimistabelit, mida muuta. Marsruut peab ikkagi olemas olema, aga see läheb profiili, mille klient laeb, ja see töötab ainult siis, kui teine pool nõustub. Siin on muudatus, taasühendus, serveripool ja tagasipööramine.
Enne muudatust: mida marsruut saab ja mida ei saa
Marsruut vastab ühele küsimusele: milline liides peab selle sihtkoha liiklust kandma. See ei volita midagi. Kui võrgu omanik ei ole nõustunud, et see telefon võib sellesse alamvõrku jõuda, tekitab korrektne marsruut korrektse välimusega konfiguratsiooni ja vaikse languse lüüsil ning järgmise tunni kulutad vale faili muutmisele.
Hangi see nõusolek esimesena, kirjalikult, kui võrgul on omanik. Seejärel pane kirja, mida sa ei tee: sa ei määra telefonile aadressi selles LAN-is, ei muuda serveri listenerit ega vali saiti hostinime järgi. Need on neli erinevat muudatust ja ainult esimene on sinu oma.
| 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 |
Muuda profiili, mida klient tegelikult laeb
Ühilduva kliendi jaoks, mis impordib tavalist OpenVPN valikuteksti, on lisand üks rida:
route 10.60.0.0 255.255.255.0Lisa see profiili kehasse, teiste marsruutimisdirektiivide lähedale, jättes operaatori endpointi, sertifikaadid, võtmehalduse ja kontrollread täpselt selliseks, nagu need olid. Ära kleebi tervet vana näidet, et ühte rida laenata: pakkimine, absoluutsed failiteed ja vananenud cipher-seaded tulevad kaasa ning maksavad sulle eraldi silumisseansi.
Samm, mille inimesed vahele jätavad, on faili omand. Kui rakendus importis profiili, on kasutatav koopia rakenduse oma ja allalaaditud originaali muutmine ei muuda midagi. Kasuta kliendi toetatud redaktorit või impordi muudetud fail uuesti uuendustee kaudu ning kinnita aktiivse profiili nimi, kui sarnaseid nimesid on mitu. Pane kirja, millist muutsid.
Kui profiilil on juba route-nopull, ei paigaldata serverist ühtegi marsruuti ja iga prefiks, mida telefon vajab, tuleb eraldi loetleda. See on legitiimne lahendus, kuid tähendab, et väljajäänud rida näeb välja täpselt nagu serveri keeldumine.
Ühenda uuesti ja kontrolli seadmes
Katkesta esmalt ühendus, seejärel ühenda uuesti just see profiil, mida muutsid, selle asemel et lasta rakendusel viimane seanss taastada. Ava ühenduslogi ja kinnita, et klient parsisi uue rea; marsruudidirektiiv, mille kasutajaliides ignoreerib, on vale koopia muutmise tavaline tulemus.
Testi sihtkohta aadressi, mitte nime järgi. TCP-kontroll ühele teadaolevale teenuseportile annab rohkem teavet kui ping, sest paljud hostid vastavad ICMP-le, samal ajal kui teenuseport on filtreeritud. Kui aadress vastab ja nimi mitte, on sul resolveri, mitte marsruutimise küsimus, ja järgmine jaotis ei ole sinu jaoks.
Siia kuuluvad ka kaks ulatuse kontrolli. Rakendusepõhine VPN tähendab, et aadressimarsruut võib olla olemas, samal ajal kui rakendus, millega testid, on kaasatud hulgast väljas, seega testi rakendusega, mis on tõesti sees. Ja IPv4 prefiks ei ütle midagi IPv6 tee kohta; kui teenus on dual-stack, lisa vastav IPv6 marsruut või eelda, et klient eelistab teed, mida sa ei kavatsenud.
Üks negatiivne tulemus tasub varakult ära tunda: kui täistunneli marsruut katab juba 0.0.0.0/0, ei ole prefiks puudu ja selle uuesti lisamine ei muuda midagi. Topeltkate ei paranda serveripoolset keeldumist ega puuduvat vastust.
Lõpeta tee serveris
Kolm asja peavad olema tõesed väljaspool telefoni. Lüüs vajab marsruuti sihtkohta ja luba telefonipoolset allikat sinna edasi suunata. Sihtkoht peab selle allika vastu võtma ja vastused lüüsi kaudu tagasi saatma, või on kujunduses vaja teadlikku tõlget väljundil. OpenVPN-i käsiraamatu route-valik katab kliendipoolse direktiivi; edasisaatmine ja tagasitee marsruutimine on eraldi seaded eraldi masinates.
Kui sihtkoht asub teise VPN-kliendi taga, mitte otse lüüsi taga, vajab server selle partneri alamvõrgu jaoks iroute'i. See direktiiv on serveri oma ja kirjeldab, milline klient omab prefiksit; telefon ei saa seda oma profiilist anda ja ükski kliendipoolne muudatus ei asenda seda.
Kontrolli tagasiteed selgelt. Vastus, mis väljub vaikimisi marsruudi, mitte tunneli kaudu, tekitab klassikalise poollahtise sümptomi: ühendus on loodud ühes suunas ja midagi ei tule tagasi. Lähtetõlge lüüsil on legitiimne parandus, kui sihtkoht ei saa tagasi marsruutida, kuid see on poliitikaotsus oma tagajärgedega.
Tagasipööramine ja vastuvõtt
Hoia eelmist profiili enne selle muutmist. Kui muudatus teeb olukorra hullemaks, taasta see koopia sama uuestiimportimise tee kaudu, ühenda uuesti ja kinnita, et vana käitumine naaseb — see kinnitab, et muutsid seda, mida arvasid muutvat. Tagasipööramine, mis vana olekut ei taasta, tähendab, et rakendus hoiab kolmandat koopiat, mida sa pole leidnud.
Võta muudatus vastu, kui kehtivad neli asja, mida testitakse pärast värsket taasühendust selles järjekorras: sihtkoht vastab oma teenuseportil, privaatne nimi laheneb, kui seda oodatakse, HTTPS valideerib endiselt kavandatud hostinime ja kogu asi töötab ka pärast taaskäivitust või üleminekut Wi-Filt mobiilsidele. Viimane kontroll on see, mis püüab marsruudi, mis eksisteerib ainult seni, kuni Android tunneli uuesti loob.
- Kinnita enne ükskõik millist muudatust, et võrgu omanik lubab sihtkohta.
- Pane marsruut profiili, mille klient laeb, seejärel impordi uuesti ja ühenda uuesti.
- Kontrolli teenuseporti pidi, rakendusepõhise ulatuse sees, õige aadressiperekonna jaoks.
- Paranda edasisaatmine, tagasitee marsruutimine ja iroute serveris, mitte telefonis.
- Hoia tagasipööramise koopiat ja testi pärast taaskäivitust uuesti.