Mit je, da je L2TP v Androidu še ena stvar, ki jo lahko shell skript zažene: dodaj pot, pokliči staro storitev, končano. Tako ne more biti, ker se morajo štiri različne plasti dogovoriti, preden tunel prenese paket. Plast IPsec varuje pot, L2TP prenaša sejo, PPP se pogaja o povezavi, Android pa mora rezultat registrirati kot VPN, okoli katerega lahko usmerja. Videl sem dva poskusa s kopiranimi ukazi in obakrat je pot obstajala, medtem ko ni bilo nič šifrirano.

Kaj sprememba poti v resnici doseže

Dodajanje poti odloči, kam gre paket naprej. Ne pogaja se o varnostni povezavi, ne odpre seje L2TP in ne izvede izmenjave PPP, ki ustvari naslov, partnerja in nastavitve DNS. Na telefonu je viden rezultat promet, ki odhaja po napačni poti ali odide in umre, brez stanja tunela kjer koli.

Enako velja za klic storitve, kopiran iz starejše izdaje. Notranja VPN napeljava Androida ni objavljen API za avtomatizacijo, oštevilčena transakcija iz druge različice pa lahko zadene drugo operacijo ali zahteva privilegije, ki jih skript nima. Avtomatizacija, ki nosi geslo, se nikoli ne bi smela zanašati na ugibane notranje argumente, ker je način okvare bodisi tihi no-op bodisi na pol ustvarjen profil, ki ga nihče ne počisti.

Štirje lastniki in skript ni nobeden od njih

Vzemite jih po vrsti. IPsec vzpostavi in vzdržuje zaščiteno pot ter overi partnerje. L2TP prenaša sejo po njej in prav plastenje je razlog, da standard obravnava oba kot ločena mehanizma in ne kot en protokol. Znotraj tega PPP pogaja parametre povezave, ki jih bo uporabil odjemalec. Nato Android poseduje stran platforme: registriran vmesnik VPN, obseg na aplikacijo, stanje always-on in življenjski cikel, ki odloči, kaj se zgodi, ko je aplikacija ubita.

Skript vidi samo zadnjo od teh plasti in običajno posredno. Odjemalca lahko prosi za povezavo, če ta odjemalec izpostavlja dokumentiran nadzor, nato pa lahko opazuje stanje vmesnika. Ne more nadomestiti treh spodnjih plasti in ne more doseči, da bi platforma neregistriran vmesnik obravnavala kot VPN.

Zakaj tudi demon ni bližnjica

Zagon privilegiranega Linux demona v napravi je videti kot manjkajoči del in pogosto res postavi tunel. Česar pa ne stori, je registracija tega tunela pri Androidu. Vmesnik obstaja v jedru, a izbira VPN platforme, usmerjanje na aplikacijo, politika always-on in življenjski cikel zanj ne vedo, lastne spremembe poti in DNS demona pa tekmujejo z upraviteljem omrežja za iste tabele.

Rezultat je povezava, ki deluje za promet demona in skrivnostno ne za aplikacijo, ki vam je bila pomembna, ali pa taka, ki preživi, dokler sistem znova ne ovrednoti svojih omrežij. Noben izid ni hrošč platforme; to je meja med lastništvom vtičnice in lastništvom zmogljivosti VPN.

Kako izgledajo podprte poti

Če organizacija lahko preide na profil, ki ga zagotavlja Android sam, je pot platforme poštena. Od API 30 VpnManager podpira zagotavljanje in nadzor profilov VPN platforme s strani aplikacij, z avtorizacijskim tokom, vezanim na klicočo aplikacijo. To ni pretvornik L2TP: model profila, ki ga zagotavlja za IKEv2, ne prevede obstoječe konfiguracije L2TP, menjava protokola pa je migracija, ne preimenovanje. Identitete, poti, zasebni DNS in dovoljenja za dostop je treba prenesti namerno.

Če storitev mora ostati L2TP/IPsec, je podprta kombinacija odjemalec in izdaja OS, ki jo operater resnično dokumentira, ter njena pogodba o avtomatizaciji, če obstaja. Ko ni dokumentiranega nadzora brez nadzora, je pravi odgovor podprta ročna povezava, ne pa krhka privilegirana skripta, ki slučajno deluje na eni gradnji.

Kaj počne pravilna avtomatizacija

Z dokumentiranim nadzorom ima avtomatizacija majhno in branljivo nalogo: zahtevaj imenovano povezavo, počakaj na pripravljenost, ustavi se ob napaki overjanja ali nastavitve, zaženi predvideno delo in čiščenje prepusti komponenti, ki poseduje povezavo. Poverilnice ostanejo pri odjemalcu, ki jih zna shraniti in zamenjati.

Zapišite, katera komponenta poseduje katero plast, preden napišete prvo vrstico, in preverite rezultat glede na to:

  • IPsec in PPP obravnava odjemalec, ne poti skripta.
  • Povezava se pojavi v stanju VPN platforme, zato zanjo veljata obseg na aplikacijo in always-on.
  • Noben notranji klic storitve, številka transakcije ali ugiban argument ne nosi poverilnice.
  • Napaka na katerem koli koraku ne pusti na pol registriranega profila.

Sorodni članki