Առասպելն այն է, որ L2TP-ը Android-ում ևս մեկ բան է, որը shell սկրիպտը կարող է սկսել՝ ավելացնել երթուղի, կանչել հին ծառայությունը, վերջ։ Դա չի կարող այդպես լինել, որովհետև չորս տարբեր շերտեր պետք է համաձայնության գան, նախքան թունելը փաթեթ կտեղափոխի։ IPsec շերտը պաշտպանում է ուղին, L2TP-ն կրում է սեսիան, PPP-ն բանակցում է կապը, և Android-ը պետք է գրանցի արդյունքը որպես VPN, որի շուրջ կարող է երթուղավորել։ Ես տեսել եմ, որ սա փորձվել է երկու անգամ պատճենված հրամաններով, և երկու դեպքում էլ երթուղին գոյություն ուներ, մինչ ոչինչ գաղտնագրված չէր։

Ինչ է իրականում տալիս երթուղու փոփոխությունը

Երթուղի ավելացնելը որոշում է, թե փաթեթը հաջորդիվ ուր կգնա։ Այն չի բանակցում անվտանգության միավորում, չի բացում L2TP սեսիա և չի կատարում PPP փոխանակումը, որը ստեղծում է հասցե, զուգընկեր և DNS կարգավորումներ։ Հեռախոսում տեսանելի արդյունքն այն երթևեկությունն է, որը դուրս է գալիս սխալ ուղով կամ դուրս է գալիս ու մահանում, առանց թունելի վիճակի որևէ տեղ։

Նույնը վերաբերում է ավելի հին թողարկումից պատճենված ծառայության կանչին։ Android-ի ներքին VPN խողովակաշարը հրապարակված ավտոմատացման API չէ, և մեկ այլ տարբերակի համարակալված գործարքը կարող է դիպչել այլ գործողության կամ պահանջել արտոնություններ, որոնք սկրիպտը չունի։ Գաղտնաբառ կրող ավտոմատացումը երբեք չպետք է կախված լինի գուշակված ներքին արգումենտներից, որովհետև ձախողման ձևը կամ լուռ no-op է, կամ կիսով չափ ստեղծված պրոֆիլ, որը ոչ ոք չի մաքրում։

Չորս տեր, և սկրիպտը նրանցից ոչ մեկը չէ

Վերցրեք դրանք հերթականությամբ։ IPsec-ը հաստատում և պահպանում է պաշտպանված ուղին և նույնականացնում զուգընկերներին։ L2TP-ն կրում է սեսիան դրա վրա, և շերտավորումը պատճառն է, թե ինչու ստանդարտը դրանք համարում է առանձին մեխանիզմներ, այլ ոչ մեկ արձանագրություն։ Դրա ներսում PPP-ն բանակցում է կապի պարամետրերը, որոնք կօգտագործի հաճախորդը։ Այնուհետև Android-ը տիրում է հարթակի կողմին՝ գրանցված VPN ինտերֆեյսը, հավելվածային շրջանակը, always-on վիճակը և կյանքի ցիկլը, որը որոշում է, թե ինչ է լինում հավելվածը սպանելիս։

Սկրիպտը կարող է տեսնել միայն այդ շերտերից վերջինը, և սովորաբար անուղղակիորեն։ Այն կարող է խնդրել հաճախորդին միանալ, եթե այդ հաճախորդը բացահայտում է փաստաթղթավորված կառավարում, և դրանից հետո կարող է դիտել ինտերֆեյսի վիճակը։ Այն չի կարող փոխարինել ներքևի երեք շերտերին և չի կարող ստիպել հարթակին չգրանցված ինտերֆեյսը VPN համարել։

Ինչու դեյմոնը նույնպես կարճուղի չէ

Սարքում արտոնյալ Linux դեյմոն գործարկելը կարծես բացակայող մասն է, և հաճախ այն իսկապես բարձրացնում է թունել։ Ինչ այն չի անում, այդ թունելը Android-ի հետ գրանցելն է։ Ինտերֆեյսը գոյություն ունի միջուկի ներսում, բայց հարթակի VPN ընտրությունը, հավելվածային երթուղավորումը, always-on քաղաքականությունը և կյանքի ցիկլը չգիտեն դրա մասին, և դեյմոնի սեփական երթուղու ու DNS փոփոխությունները մրցում են ցանցի կառավարչի հետ նույն աղյուսակների համար։

Արդյունքը կապ է, որն աշխատում է դեյմոնի երթևեկության համար և խորհրդավոր կերպով չի աշխատում այն հավելվածի համար, որը ձեզ համար կարևոր էր, կամ մեկը, որը գոյատևում է մինչև համակարգը վերագնահատի իր ցանցերը։ Արդյունքներից ոչ մեկը հարթակի սխալ չէ. սա սահմանն է socket-ին տիրելու և VPN հնարավորությանը տիրելու միջև։

Ինչպիսին են աջակցվող ուղիները

Եթե կազմակերպությունը կարող է անցնել պրոֆիլի, որը Android-ն ինքն է ապահովում, հարթակի ուղին ազնիվն է։ API 30-ից VpnManager-ը աջակցում է հարթակի VPN պրոֆիլների ապահովումն ու կառավարումը հավելվածների կողմից, կանչող հավելվածին կապված լիազորման հոսքով։ Սա L2TP փոխարկիչ չէ. պրոֆիլային մոդելը, որը այն ապահովում է IKEv2-ի համար, չի թարգմանում գոյություն ունեցող L2TP կոնֆիգուրացիան, և արձանագրության փոփոխությունը միգրացիա է, ոչ վերանվանում։ Ինքնությունները, երթուղիները, մասնավոր DNS-ը և մուտքի թույլտվությունները պետք է տեղափոխվեն դիտավորությամբ։

Եթե ծառայությունը պետք է մնա L2TP/IPsec, աջակցվող համակցությունը հաճախորդն ու OS-ի թողարկումն է, որը օպերատորը իսկապես փաստաթղթավորում է, և դրա ավտոմատացման պայմանագիրը, եթե այն գոյություն ունի։ Երբ փաստաթղթավորված չվերահսկվող կառավարում չկա, ճիշտ պատասխանը աջակցվող ձեռքով միացումն է, այլ ոչ փխրուն արտոնյալ սկրիպտը, որը պատահաբար աշխատում է մեկ բիլդում։

Ինչ է անում ճիշտ ավտոմատացումը

Փաստաթղթավորված կառավարման դեպքում ավտոմատացումը փոքր և պաշտպանելի աշխատանք ունի՝ հայցել նշված միացումը, սպասել պատրաստությանը, կանգ առնել նույնականացման կամ կարգավորման ձախողման դեպքում, կատարել նախատեսված աշխատանքը և մաքրումը թողնել միացումը տիրող բաղադրիչին։ Հավատարմագրերը մնում են այն հաճախորդի մոտ, որը գիտի դրանք պահել և պտտել։

Գրեք, թե որ բաղադրիչն է տիրում յուրաքանչյուր շերտին, նախքան առաջին տողը գրելը, և ստուգեք արդյունքը դրա համեմատ.

  • IPsec-ը և PPP-ն հաճախորդն է կառավարում, ոչ սկրիպտի երթուղիները։
  • Միացումը հայտնվում է հարթակի VPN վիճակում, ուստի հավելվածային շրջանակը և always-on-ը կիրառվում են դրա վրա։
  • Ոչ մի ներքին ծառայության կանչ, գործարքի համար կամ գուշակված արգումենտ հավատարմագիր չի կրում։
  • Ցանկացած քայլում ձախողումը հետևում կիսագրանցված պրոֆիլ չի թողնում։

Առնչվող հոդվածներ