Dve VPN v jednom telefóne: vyberte usporiadanie, nie počet aplikácií
Prepínanie, oddelenie profilov a vnorená reťaz sú tri rôzne návrhy. Vyberte podľa toho, čo aplikácia potrebuje v rovnakom okamihu, a potom skontrolujte MTU a cestu.
Používanie dvoch VPN nie je jedna požiadavka. Môže znamenať dosiahnuť dve organizácie jednu po druhej, oddeliť pracovné a osobné aplikácie alebo spustiť jeden tunel v druhom. Android spracúva tieto tri prípady úplne odlišne a počet nainštalovaných VPN aplikácií v telefóne nie je architektúra. Otázka, ktorá ich oddeľuje, je jednoduchá: musia pre tú istú aplikáciu existovať dve cesty v tom istom okamihu?
Tri usporiadania, jedna otázka
Ak je odpoveď nie, pretože sa obe siete používajú v rôznych časoch, chcete zámerné prepínanie. Ak je odpoveď nie, pretože samotné aplikácie sú oddelené, chcete oddelenie profilov, kde každá aplikácia sedí v kontexte, ktorý vlastní jej tunel. Ak je odpoveď áno a jedna cesta musí fyzicky niesť druhú, chcete reťaz, a to je jediná z troch, kde je poradie súčasťou návrhu.
Všetko ostatné z tejto voľby vyplýva. Prepínanie má prechodové okno, oddelenie má hranicu politiky a reťaz má režijné a závislostné náklady. Voľba nesprávnej nepadá čisto; vytvára telefón, ktorý vyzerá pripojený, a aplikáciu, ktorá sa nikam nedostane.
Prepínanie v jednom používateľskom kontexte
Android povoľuje jednu aktívnu službu VPN na používateľa. Spustenie druhej VPN aplikácie v tom istom kontexte nahradí prvú alebo sa rovno odmietne; nikdy nezloží dve sady trás a rozhodne neuloží ich šifrovanie na seba. V rámci jedného používateľa sú dva tunely sled, nie súčet.
To je uskutočniteľné, keď je prístup skutočne postupný. Pomenujte profily tak, aby bol aktívny zrejmý, dokončite všetko citlivé pred prepnutím a očakávajte krátke okno, v ktorom nie je ani jedna cesta plne ustanovená. Zatvorenie karty prehliadača nie je to isté ako ukončenie relácie: karta si môže ponechať stav svojho účtu a jednoducho poslať ďalšiu požiadavku cez novo zvolenú sieť, a to je presne ten únik, ktorý si ľudia neskôr všimnú.
To, čo prepínanie nemôže dať, je stroj, ktorý je v oboch sieťach súčasne. Ak aplikácia potrebuje privátnu adresu z každej strany, žiadna disciplína klienta ju nevytvorí.
Oddelenie podľa profilu
Spravovaný pracovný profil je samostatný používateľ s vlastnými aplikáciami, úložiskom kľúčov a sieťovou politikou. Pracovný poštový klient môže používať tunel organizácie, zatiaľ čo osobný prehliadač používa osobný, a oba môžu byť pripojené súčasne, pretože nie sú v tom istom kontexte, ktorý súťaží o miesto.
Oddelenie je aj hranica. Osobný prehliadač si nepožičiava pracovný tunel, nevidí pracovné prípony DNS a nedostane sa do pracovnej siete len preto, že sa obe služby zobrazujú ako pripojené. Keď niekto nahlási, že odkaz sa neotvára, skontrolujte, ktorá kópia aplikácie ho spracovala a ktorý profil vlastní ten účet, skôr než sa dotknete ktorejkoľvek z dvoch VPN.
Berte hranicu ako pevnú. Vytvorenie druhého profilu alebo odstránenie pracovného profilu, aby sa obišlo rozhodnutie zamestnávateľa o smerovaní, ničí práve to oddelenie, ktoré umožňovalo usporiadaniu fungovať, a na spravovanom zariadení je to zvyčajne porušenie politiky, nie úprava konfigurácie.
Reťaz, kde je poradie návrhom
Reťaz je usporiadanie, ktoré ľudia zvyčajne majú na mysli, keď povedia oboje naraz: tunel telefónu putuje vnútri tunela routera. Môže fungovať a obmedzenia sú konkrétne. Vonkajší poskytovateľ musí povoliť funkčnú cestu k VPN koncovému bodu telefónu, čo pri protokoloch založených na UDP znamená, že vonkajšia služba nesmie tento tok blokovať ani obmedzovať.
Pochopte, kto čo vidí. Vonkajší poskytovateľ vidí spojenie smerom k vnútornému koncovému bodu. Vnútorný poskytovateľ prijíma tok telefónu z vonkajšieho výstupu a posiela ho ďalej. Konečné miesto určenia zvyčajne vidí výstup vnútornej služby a žiadny poskytovateľ pozdĺž reťaze nie je slepý; účty aplikácií používateľa identifikujú bez ohľadu na cestu.
Očakávajte praktické náklady. Každá vrstva pridáva zapuzdrenie, takže efektívna MTU klesá a hodnota, ktorá bola dobrá pre jeden tunel, sa teraz fragmentuje alebo zasekáva, kým sa MTU vnútorného tunela nenastaví konzervatívne. Dve vrstvy tiež znamenajú dve závislosti od zlyhania a dve sady udržiavacích správ a vnútorný tunel založený na TCP cez stratovú vonkajšiu linku sa môže zaseknúť spôsobmi, ktoré vyzerajú ako mŕtvy server.
Najdôležitejšie je, že reťaz nezlieva dve privátne siete. Trasy, prekrývajúce sa prefixy, rozlíšenie DNS a pravidlá prístupu zostávajú oddelenými rozhodnutiami a router nesúci jednu VPN, zatiaľ čo telefón nesie inú, nedáva telefónu oba adresné priestory.
Skontrolujte návrh, skôr než ho budete ladiť
Napíšte usporiadanie jednou vetou a otestujte ho na aplikácii, ktorá zlyhala. Postupný prístup by mal ukázať jeden tunel naraz; oddelenie profilov by malo ukázať každú aplikáciu v jej vlastnom používateľovi; reťaz by mala ukázať, že sa vnútorný tunel ustanovuje cez vonkajšie rozhranie, nie cez fyzické.
adb shell ip -br addr
adb shell ip route get 10.20.0.8
adb shell dumpsys connectivity | grep -i vpnAk vyhľadanie trasy uvádza fyzické rozhranie, zatiaľ čo aplikácia očakáva tunel, návrh a kontext aplikácie sa nezhodujú a žiadna ďalšia VPN aplikácia ich nezmieri. Dokumentácia k spravovaným profilom pokrýva pravidlá oddelenia, ak potrebujete detail politiky a nie smerovania.