Аңыз бойынша L2TP Android-та shell скрипті іске қоса алатын тағы бір нәрсе: маршрут қос, ескі қызметті шақыр, бітті. Бұлай болуы мүмкін емес, өйткені туннель пакетті тасымалдамас бұрын төрт түрлі қабат келісуі керек. IPsec қабаты жолды қорғайды, L2TP сессияны тасымалдайды, PPP байланыс туралы келіссөз жүргізеді, ал Android нәтижені айналасында маршруттай алатын VPN ретінде тіркеуі керек. Мен мұның көшірілген командалармен екі рет әрекет етілгенін көрдім, екі жолы да маршрут бар еді, бірақ ештеңе шифрланбаған.

Маршрутты өзгерту шын мәнінде не береді

Маршрут қосу пакеттің келесі қайда кететінін шешеді. Ол қауіпсіздік ассоциациясы туралы келіссөз жүргізбейді, L2TP сессиясын ашпайды және мекенжай, әріптес және DNS параметрлерін өндіретін PPP алмасуын орындамайды. Телефонда көрінетін нәтиже — дұрыс емес жолмен шығатын немесе шығып өлетін трафик, еш жерде туннель күйі жоқ.

Бұл ескі шығарылымнан көшірілген қызмет шақыруына да қатысты. 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 болып қалуы керек болса, қолдау көрсетілетін комбинация — оператор шынымен құжаттайтын клиент пен ОЖ шығарылымы, және бар болса, оның автоматизация шарты. Құжатталған қадағалаусыз басқару болмаған кезде дұрыс жауап — бір билдте кездейсоқ жұмыс істейтін нәзік артықшылықты скрипт емес, қолдау көрсетілетін қолмен қосылу.

Дұрыс автоматизация не істейді

Құжатталған басқару болған жағдайда автоматизацияның шағын және қорғалатын жұмысы бар: аталған қосылымды сұрау, дайындықты күту, аутентификация немесе конфигурация сәтсіздігінде тоқтау, жоспарланған жүктемені орындау және тазалауды қосылымды иеленетін компонентке қалдыру. Тіркелгі деректері оларды сақтауды және айналдыруды білетін клиентте қалады.

Бірінші жолды жазбас бұрын қай компонент қай қабатты иеленетінін жазып алыңыз және нәтижені соған қарсы тексеріңіз:

  • IPsec пен PPP-ны клиент басқарады, скрипт маршруттары емес.
  • Қосылым платформаның VPN күйінде көрінеді, сондықтан қолданба бойынша ауқым мен always-on оған қолданылады.
  • Ешбір ішкі қызмет шақыруы, транзакция нөмірі немесе болжамды аргумент тіркелгі деректерін тасымалдамайды.
  • Кез келген қадамдағы сәтсіздік жартылай тіркелген профиль қалдырмайды.

Қатысты мақалалар