L2TP sjálfvirknivæðing á Android: skrift getur beðið um hana, ekki byggt hana
Shell-leið setur ekki upp L2TP/IPsec á Android. IPsec, L2TP, PPP og stefna kerfisins eiga sitt hlutverk hvert, svo veldu hvað getur stjórnað því.
Goðsögnin er sú að L2TP á Android sé enn eitt sem shell-skrift getur ræst: bæta við leið, kalla á gamla þjónustu, búið. Það getur ekki verið, því fjögur mismunandi lög verða að sammælast áður en göng fer með pakka. IPsec-lagið verndar slóðina, L2TP ber lotuna, PPP semur um tenginguna og Android verður að skrá niðurstöðuna sem VPN sem það getur beint um. Ég hef séð þetta reynt tvisvar með afrituðum skipunum, og bæði skiptin var leiðin til staðar á meðan ekkert var dulkóðað.
Hvað leiðarbreyting á sér í raun
Að bæta við leið ákveður hvert pakkinn fer næst. Það semur ekki um öryggissamtengingu, opnar ekki L2TP-lotu og keyrir ekki PPP-skiptin sem framleiða vistfang, jafningja og DNS-stillingar. Í síma er sýnilega niðurstaðan umferð sem fer út um ranga leið, eða fer út og deyr, án nokkurrar göngustöðu hvar sem er.
Sama gildir um þjónustukall sem afritað er úr eldri útgáfu. Innri VPN-pípun Android er ekki birt sjálfvirknivæðingar-API, og númeruð færsla úr annarri útgáfu getur lent í annarri aðgerð eða krafist réttinda sem skriftin hefur ekki. Sjálfvirknivæðing sem ber lykilorð ætti aldrei að treysta á giskaðar innri röksemdir, því bilunarhátturinn er annaðhvort hljóðlaus no-op eða hálfgerð snið sem enginn hreinsar.
Fjórir eigendur, og skriftin er enginn þeirra
Taktu þau í röð. IPsec kemur á og viðheldur verndaðri slóð og auðkennir jafningja. L2TP ber lotuna yfir hana, og lagskiptingin er ástæðan fyrir því að staðallinn meðhöndlar þau sem aðskilda ferla frekar en eitt samskiptareglu. Innan þess semur PPP um tengibreytur sem biðlarinn mun nota. Android á þá kerfishliðina: skráða VPN-tengið, umfang á hverja app, always-on stöðu og líftímann sem ákveður hvað gerist þegar appinu er drepið.
Skrift getur aðeins séð síðasta lagið, og venjulega óbeint. Hún getur beðið biðlara að tengjast ef sá biðlari birtir skjalfesta stjórn, og hún getur fylgst með stöðu tengisins eftir á. Hún getur ekki komið í stað laganna þriggja fyrir neðan, og hún getur ekki fengið kerfið til að meðhöndla óskráð tengi sem VPN.
Hvers vegna daemon er ekki heldur flýtileið
Að ræsa Linux-daemon með réttindum á tækinu lítur út eins og vantaði stykkið, og oft setur það göng upp. Það sem það gerir ekki er að skrá þau göng hjá Android. Tengið er til inni í kjarnanum, en VPN-val kerfisins, leiðsögn á hverja app, always-on stefna og líftími þekkja það ekki, og leiðar- og DNS-breytingar daemonsins sjálfs keppa við netstjórann um sömu töflur.
Niðurstaðan er tenging sem virkar fyrir umferð daemonsins og undarlega ekki fyrir appið sem þér þótti vænt um, eða ein sem lifir þar til kerfið endurmetur netin sín. Hvorug niðurstaðan er villa í kerfinu; þetta er landamærið milli að eiga sokk og að eiga VPN-aðstöðuna.
Hvernig studdu leiðirnar líta út
Ef stofnunin getur fært sig yfir í snið sem Android útvegar sjálft, er kerfisleiðin hin heiðarlega. Frá API 30 styður VpnManager útvegun og stjórnun VPN-sniða kerfisins af forritum, með heimildarflæði tengdu forritinu sem kallar. Þetta er ekki L2TP-breytir: sniðmódelið sem það útvegar fyrir IKEv2 þýðir ekki núverandi L2TP-stillingu, og að skipta um samskiptareglu er flutningur, ekki endurskírskírn. Auðkenni, leiðir, einka-DNS og aðgangsheimildir verða að flytjast viljandi.
Ef þjónustan verður að vera L2TP/IPsec er studda samsetningin biðlari og OS-útgáfa sem rekstraraðilinn skjalfestir í raun, og sjálfvirknivæðingarsamningur hennar ef einn er til. Þegar engin skjalfest stjórn án eftirlits er til, er rétta svarið studd handvirk tenging frekar en brothætt réttindaskrift sem hendir sér að virka í einni byggingu.
Hvað rétt sjálfvirknivæðing gerir
Með skjalfesta stjórn hefur sjálfvirknivæðingin lítil og verjanleg störf: biðja um nefndu tenginguna, bíða eftir reiðubúnaði, stöðva við auðkenningar- eða uppsetningarbilun, keyra fyrirhugaða vinnu og láta hreinsunina eftir íhlutnum sem á tenginguna. Skilríkin vera hjá biðlaranum sem kann að geyma þau og snúa þeim.
Skrifaðu niður hvaða íhlutur á hvaða lag áður en þú skrifar fyrstu línuna, og athugaðu niðurstöðuna gagnvart því:
- IPsec og PPP eru á höndum biðlarans, ekki leiða skriftarinnar.
- Tengingin birtist í VPN-stöðu kerfisins, svo umfang á hverja app og always-on gilda um hana.
- Ekkert innra þjónustukall, færslunúmer eða giskað röksemd ber skilríki.
- Bilun á hvaða þrepi sem er skilur ekki eftir hálfskráð snið.