Divi VPN vienā telefonā: izvēlieties izkārtojumu, nevis lietotņu skaitu
Pārslēgšanās, profilu atdalīšana un ligzdota ķēde ir trīs dažādi risinājumi. Izvēlieties pēc tā, kas lietotnei vajadzīgs tajā pašā mirklī, tad pārbaudiet MTU un ceļu.
Divu VPN lietošana nav viens pieprasījums. Tas var nozīmēt divu organizāciju sasniegšanu vienu pēc otras, darba un personīgo lietotņu šķiršanu vai viena tuneļa darbināšanu citā. Android šos trīs gadījumus apstrādā pilnīgi atšķirīgi, un telefonā instalēto VPN lietotņu skaits nav arhitektūra. Jautājums, kas tos šķir, ir vienkāršs: vai diviem ceļiem jāpastāv tajā pašā mirklī vienai un tai pašai lietotnei?
Trīs izkārtojumi, viens jautājums
Ja atbilde ir nē, jo abi tīkli tiek lietoti dažādos laikos, jums vajadzīga apzināta pārslēgšanās. Ja atbilde ir nē, jo pašas lietotnes ir atdalītas, jums vajadzīga profilu atdalīšana, kurā katra lietotne atrodas kontekstā, kam pieder tās tunelis. Ja atbilde ir jā un vienam ceļam fiziski jānes otrs, jums vajadzīga ķēde, un tas ir vienīgais no trim, kurā kārtība ir risinājuma daļa.
Viss pārējais izriet no šīs izvēles. Pārslēgšanai ir pārejas logs, atdalīšanai ir politikas robeža, un ķēdei ir papildu izmaksas un atkarības izmaksas. Nepareizās izvēle neizgāžas tīri; tā rada telefonu, kas izskatās savienots, un lietotni, kas nekur nenokļūst.
Pārslēgšanās vienā lietotāja kontekstā
Android atļauj vienu aktīvu VPN pakalpojumu vienam lietotājam. Otras VPN lietotnes palaišana tajā pašā kontekstā aizstāj pirmo vai tiek vienkārši noraidīta; tā nekad nesaliek abas maršrutu kopas un noteikti neuzliek to šifrējumu vienu uz otra. Viena lietotāja ietvaros divi tuneļi ir secība, nevis summa.
Tas ir praktiski, ja piekļuve patiešām ir secīga. Nosauciet profilus tā, lai aktīvais būtu acīmredzams, pabeidziet visu jutīgo pirms pārslēgšanās un gaidiet īsu logu, kurā neviens no abiem ceļiem nav pilnībā izveidots. Pārlūkprogrammas cilnes aizvēršana nav tas pats, kas sesijas beigšana: cilne var saglabāt sava konta stāvokli un vienkārši nosūtīt nākamo pieprasījumu pa tikko izvēlēto tīklu, un tas ir tieši tas noplūde, ko cilvēki pamana vēlāk.
Ko pārslēgšanās nevar dot, ir mašīna, kas vienlaikus ir abos tīklos. Ja lietotnei vajadzīga privāta adrese no katras puses, nekāda klienta disciplīna to neradīs.
Atdalīšana pēc profila
Pārvaldīts darba profils ir atsevišķs lietotājs ar savām lietotnēm, atslēgu krātuvi un tīkla politiku. Darba pasta klients var izmantot organizācijas tuneli, kamēr personīgā pārlūkprogramma izmanto personīgo, un abi var būt savienoti vienlaikus, jo tie nav vienā kontekstā un nekonkurē par vietu.
Atdalīšana ir arī robeža. Personīgā pārlūkprogramma neaizņemas darba tuneli, neredz darba DNS sufiksus un nenokļūst darba tīklā tikai tāpēc, ka abi pakalpojumi tiek rādīti kā savienoti. Kad kāds ziņo, ka saite neatveras, pirms pieskarties kādam no diviem VPN, pārbaudiet, kura lietotnes kopija to apstrādāja un kuram profilam pieder šis konts.
Uztveriet robežu kā fiksētu. Otra profila izveide vai darba profila noņemšana, lai apietu darba devēja maršrutēšanas lēmumu, iznīcina tieši to atdalīšanu, kas lika izkārtojumam darboties, un pārvaldītā ierīcē tas parasti ir politikas pārkāpums, nevis konfigurācijas maiņa.
Ķēde, kurā kārtība ir risinājums
Ķēde ir izkārtojums, ko cilvēki parasti domā, sakot abi reizē: telefona tunelis ceļo maršrutētāja tuneļa iekšienē. Tā var darboties, un ierobežojumi ir konkrēti. Ārējam pakalpojumu sniedzējam jāatļauj darboties ceļam uz telefona VPN galapunktu, kas UDP balstītiem protokolem nozīmē, ka ārējam pakalpojumam šis trafiks nav jābloķē un jāierobežo.
Saprotiet, kas ko redz. Ārējais pakalpojumu sniedzējs redz savienojumu pret iekšējo galapunktu. Iekšējais pakalpojumu sniedzējs saņem telefona trafiku no ārējās izejas un pārsūta to tālāk. Galīgais galamērķis parasti redz iekšējā pakalpojuma izeju, un neviens pakalpojumu sniedzējs ķēdē nav akls; lietotņu konti joprojām identificē lietotāju neatkarīgi no ceļa.
Gaidiet praktiskas izmaksas. Katrs slānis pievieno iekapsulējumu, tāpēc efektīvais MTU samazinās un vērtība, kas bija piemērota vienam tunelim, tagad fragmentējas vai apstājas, līdz iekšējā tuneļa MTU tiek iestatīts konservatīvi. Divslāņu risinājums nozīmē arī divas atteices atkarības un divas dzīvildzi uzturošo ziņojumu kopas, un uz TCP balstīts iekšējais tunelis pār zudumiem pakļautu ārējo savienojumu var apstāties tā, kā izskatās miris serveris.
Vissvarīgāk, ķēde nesapludina divus privātos tīklus. Maršruti, pārklājošies prefiksi, DNS izšķiršana un piekļuves noteikumi paliek atsevišķi lēmumi, un maršrutētājs, kas nes vienu VPN, kamēr telefons nes citu, nepiešķir telefonam abas adrešu telpas.
Pārbaudiet risinājumu pirms tā atkļūdošanas
Pierakstiet izkārtojumu vienā teikumā un pārbaudiet to pret lietotni, kas neizdevās. Secīgai piekļuvei jārāda viens tunelis vienlaikus; profilu atdalīšanai jārāda katra lietotne savā lietotājā; ķēdei jārāda iekšējais tunelis veidojamies pāri ārējai saskarnei, nevis fiziskajai.
adb shell ip -br addr
adb shell ip route get 10.20.0.8
adb shell dumpsys connectivity | grep -i vpnJa maršruta meklēšana nosauc fizisko saskarni, kamēr lietotne gaida tuneli, risinājums un lietotnes konteksts nav vienis prātis, un neviena papildu VPN lietotne tos nesamierinās. Pārvaldīto profilu dokumentācija aptver atdalīšanas noteikumus, ja jums vajadzīga politikas, nevis maršrutēšanas detaļa.