Android OpenVPN: privataus maršruto pridėjimas nerootinant telefono
Pridėkite vieną maršrutą į profilį, kurį Android iš tikrųjų įkelia, tada patikrinkite, ar serveris jį leidžia. Vadovas, kaip redaguoti, prisijungti iš naujo ir atlikti keturis patikrinimus.
Jums reikia dar vieno privataus potinklio — tarkime 10.60.0.0/24 — kurio profilyje šiuo metu nėra. Nešiojamajame kompiuteryje pridėtumėte maršrutą ir tęstumėte. Android sistemoje VPN yra programėlė, tun įrenginys priklauso tai programėlei, o be root nėra maršrutų lentelės, kurią galėtumėte redaguoti. Maršrutas vis tiek turi egzistuoti, bet jis patenka į profilį, kurį įkelia klientas, ir veikia tik tada, kai kita pusė sutinka. Štai redagavimas, prisijungimas iš naujo, serverio pusė ir atšaukimas.
Prieš redagavimą: ką maršrutas gali ir ko negali
Maršrutas atsako į vieną klausimą: kuri sąsaja turi nešti srautą į šią paskirties vietą. Jis nieko neįgalioja. Jei tinklo savininkas nesutiko, kad šis telefonas pasiektų tą potinklį, teisingas maršrutas sukuria teisingai atrodančią konfigūraciją ir tylų numetimą prie tinklo vartų, o kitą valandą praleisite redaguodami ne tą failą.
Pirmiausia gaukite tą sutikimą, raštu, jei tinklas turi savininką. Tada užsirašykite, ko nedarote: neskiriate telefonui adreso tame LAN, nekeičiate serverio klausytojo ir nesirenkate svetainės pagal mazgo vardą. Tai keturi skirtingi pakeitimai, ir tik pirmasis yra jūsų.
| 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 |
Redaguokite profilį, kurį klientas iš tikrųjų įkelia
Suderinamam klientui, kuris importuoja įprastą OpenVPN parinkčių tekstą, papildymas yra viena eilutė:
route 10.60.0.0 255.255.255.0Pridėkite ją prie profilio turinio, prie kitų maršrutizavimo direktyvų, o operatoriaus endpoint, sertifikatus, raktų tvarkymą ir tikrinimo eilutes palikite tiksliai tokias, kokios buvo. Neįklijuokite viso seno pavyzdžio vienai eilutei pasiskolinti: suspaudimas, absoliutūs failų keliai ir pasenusios cipher nuostatos keliauja kartu ir kainuos atskirą derinimo sesiją.
Žingsnis, kurio žmonės nepastebi, yra failo nuosavybė. Jei programėlė importavo profilį, jos naudojama kopija priklauso programėlei, o atsisiųsto originalo redagavimas nieko nekeičia. Naudokite kliento palaikomą redaktorių arba importuokite redaguotą failą iš naujo atnaujinimo keliu, ir patvirtinkite aktyvaus profilio pavadinimą, kai yra keli panašūs pavadinimai. Užsirašykite, kurį pakeitėte.
Jei profilyje jau yra route-nopull, nė vienas maršrutas iš serverio neinstaliuojamas ir kiekvienas telefonui reikalingas priešdėlis turi būti nurodytas aiškiai. Tai teisėta konstrukcija, bet reiškia, kad praleista eilutė atrodo lygiai taip pat kaip serverio atsisakymas.
Prisijunkite iš naujo ir patikrinkite įrenginyje
Pirmiausia atjunkite, tada iš naujo prisijunkite prie būtent to profilio, kurį redagavote, o ne leiskite programėlei atkurti paskutinės sesijos. Atidarykite prisijungimo žurnalą ir patvirtinkite, kad klientas išanalizavo naują eilutę; maršrutizavimo direktyva, kurios sąsaja nepaiso, yra dažnas neteisingos kopijos redagavimo rezultatas.
Testuokite paskirties vietą pagal adresą, o ne pagal vardą. TCP patikrinimas į vieną žinomą paslaugos prievadą informatyvesnis už ping, nes daug mazgų atsako į ICMP, kai paslaugos prievadas filtruojamas. Jei adresas atsako, o vardas ne, turite sprendėjo, o ne maršrutizavimo klausimą, ir kitas skyrius ne jums.
Čia priklauso ir du apimties patikrinimai. VPN pagal programėlę reiškia, kad adreso maršrutas gali būti, kai programėlė, kuria testuojate, yra už įtrauktos aibės ribų, todėl testuokite su programėle, kuri tikrai yra viduje. Ir IPv4 priešdėlis nieko nesako apie IPv6 kelią; jei paslauga yra dual-stack, pridėkite atitinkamą IPv6 maršrutą arba tikėkitės, kad klientas rinksis kelią, kurio neketinote.
Vieną neigiamą rezultatą verta atpažinti anksti: jei full-tunnel maršrutas jau apima 0.0.0.0/0, priešdėlio netrūksta ir jo pridėjimas iš naujo nieko nekeičia. Dvigubas padengimas nepataiso serverio pusės atsisakymo ar trūkstamo atsakymo.
Užbaikite kelią serveryje
Trys dalykai turi būti teisingi už telefono ribų. Tinklo vartams reikia maršruto į paskirties vietą ir leidimo persiųsti telefono šaltinį link jos. Tikslas turi priimti tą šaltinį ir grąžinti atsakymus per tinklo vartus, kitaip konstrukcijai reikia sąmoningo vertimo išėjime. OpenVPN vadovo route parinktis apima kliento pusės direktyvą; persiuntimas ir grįžtamasis maršrutizavimas yra atskiros nuostatos atskirose mašinose.
Jei paskirties vieta yra už kito VPN kliento, o ne tiesiai už tinklo vartų, serveriui reikia iroute to partnerio potinkliui. Ta direktyva priklauso serveriui ir aprašo, kuris klientas valdo priešdėlį; telefonas negali jos pateikti iš savo profilio, ir joks kliento pusės redagavimas jos nepakeičia.
Aiškiai patikrinkite grįžtamąjį kelią. Atsakymas, kuris išeina numatytuoju maršrutu, o ne tuneliu, sukuria klasikinį pusiau atviro ryšio simptomą: ryšys užmezgamas viena kryptimi ir niekas negrįžta. Šaltinio vertimas tinklo vartuose yra teisėta pataisa, kai tikslas negali maršrutizuoti atgal, bet tai politinis sprendimas su savo pasekmėmis.
Atšaukimas ir priėmimas
Išsaugokite ankstesnį profilį prieš jį redaguodami. Jei pakeitimas pablogina padėtį, atkurkite tą kopiją tuo pačiu pakartotinio importavimo keliu, prisijunkite iš naujo ir patvirtinkite, kad senas elgesys grįžta — tai patvirtina, kad pakeitėte tai, ką manėte pakeitę. Atšaukimas, kuris neatkuria senos būsenos, reiškia, kad programėlė turi trečią kopiją, kurios neradote.
Priimkite pakeitimą, kai galioja keturi dalykai, patikrinti šia tvarka po naujo prisijungimo: paskirties vieta atsako savo paslaugos prievadu, privatus vardas išsprendžiamas, jei jo tikimasi, HTTPS vis dar validuoja numatytą mazgo vardą, ir viskas veikia po perkrovimo arba perėjus nuo Wi-Fi prie mobiliojo tinklo. Paskutinis patikrinimas pagauna maršrutą, kuris egzistuoja tik tol, kol Android iš naujo sukuria tunelį.
- Prieš ką nors redaguodami patvirtinkite, kad tinklo savininkas leidžia paskirties vietą.
- Įdėkite maršrutą į profilį, kurį įkelia klientas, tada importuokite iš naujo ir prisijunkite.
- Patikrinkite per paslaugos prievadą, programėlės apimties viduje, tinkamai adresų šeimai.
- Taisykite persiuntimą, grįžtamąjį maršrutizavimą ir iroute serveryje, o ne telefone.
- Išsaugokite atšaukimo kopiją ir po perkrovimo patikrinkite dar kartą.