Бар VPN-ді қосатын шағын бағдарламаға жаңа VPN іске асырылуы емес, контроллер қажет. Қолдау көрсетілетін қозғалтқыш келіссөздер мен туннель трафигін атқаруы керек; бағдарламаңыз пайдаланушының сұранысын білдіріп, нәтижені адал түсіндіруі керек. Linux-те NetworkManager D-Bus интерфейсі сол контроллерге ұстануға болатын нақты үлгі береді.

Төрт тексеру контроллердің сақталған профильді, белсендіру сұранысын және жұмыс істеп тұрған сессияны шатастыруына жол бермейді.

Бірінші тексеру: қай сәйкестік таңдалады

Профиль UUID-ін тұрақты сәйкестік ретінде ұстаңыз және нысан жолы қажет болғанда оны менеджер арқылы шешіңіз. Көрсетілетін атауды екі профиль бөлісе алады, ал орындалу уақытындағы шина жолы сақтауға лайықты пайдаланушы қалауы емес. Таңдауды өз конфигурацияңызға жазыңыз, тізімде қай жазба екінші болғаны туралы түсініктемеге емес.

Оны сәйкестік деп атамас бұрын менеджердің не қайтаратынын тексеріңіз. Енді жоқ UUID іздеу қатесін тудырады, ал бұл бар болып, белсендіруден бас тартатын профильден өзгеше код жолы.

Екінші тексеру: белсендіру шақыруы не қайтарады

Құжатталған белсендіру шақыруы бар қосылымның нысан жолын, құрылғы жолын және нақты нысанды қабылдайды. Ол белсенді қосылым жолын қайтарады, және бұл жауап дайындық нәтижесі емес, тұтқа. Қолданбаңыздың дайындық жалаушасын қайтарылған мәннен орнатпаңыз; оның орнына белсенді қосылымның күйі мен себебіне жазылыңыз.

VPN үшін нақты нысан белсенді негізгі қосылымды таңдайды. Түбір жолды беру құрылғы таңдауын NetworkManager-ге қалдырады, ол сол сәтте әдепкі болып тұрғанды таңдайды. Бұл құпиясөз өрісі емес, маршруттау контекстінің шешімі, және туннель қай құрылғыға салынатынын өзгертеді.

Жалпы қосу-және-белсендіру үлгісін алып, ол VPN профилін жасайды деп күтпеңіз. Құжатталған көмекші VPN қосылымдарын шығарып тастайды, сондықтан профильді дайындау немесе импорттау бөлек, қаралған қадам. Бұл маңызды, өйткені дайындау қосу түймесінде жоқ рұқсаттауды және қарауды талап етеді. Импортты өз журнал жолы және өз бекітушісі бар әкімшілік әрекет ретінде қарастырыңыз.

Үшінші тексеру: күй қалай көрсетіледі

Белсенді қосылым белсендіру, белсенді, белсендіруді тоқтату және тоқтатылған күйлерінен өтеді, ал себеп өрісі неге екенін айтады. Осының бәрін loggedIn деп аталатын логикалық мәнге сығу пайдаланушыға қажет және қолдау сұрайтын ақпаратты жоғалтады. Кемінде қосылымның күтіп тұрғанын, орнатылғанын немесе жоғалғанын көрсетіңіз және сәтсіздік жағдайы үшін себеп жолын сақтаңыз.

Асинхронды жауаптарды оларды тудырған сұраныспен байланыстырыңыз. Ескі әрекеттің кеш аяқталуы пайдаланушының жаңарақ әрекетін басып жазбауы керек, ал Connect-ті қосарлап басу не еленбеуі, не көрінетін саясатпен болдырмау және қайталау ретінде қаралуы тиіс.

Төртінші тексеру: қайта іске қосқаннан кейін не болады

Менеджер қайта іске қосылғанда немесе контроллеріңіз шинаға қайта қосылғанда, байқалған күйді иесінен қайта құрыңыз. Ескі нысан жолы әлі жадыда бар деп кэштегі сессияны белсенді деп көрсетуді жалғастырмаңыз. Күй өзгерісінің сигналдары контроллер болжам жасамай, қайта синхрондауы үшін дәл бар.

Контроллерді жабу нені білдіретінін таңдаңыз. Машинаға тиесілі бар қосылымды ашық қалдыру дұрыс болуы мүмкін, ал әдейі қысқа мерзімді сессияны бұзу да дұрыс болуы мүмкін. Машинаға тиесілі бар қосылымды ашық қалдыру дұрыс болуы мүмкін; әдейі қысқа мерзімді сессияны бұзу да дұрыс болуы мүмкін. Бұл меншік шартын процестің шығуы желі әрекетін орындайды деп болжаудың орнына интерфейске жазыңыз. Пайдаланушылар терезені жабу туннельдерін үзе ме деп болжам жасамауы керек. Жауапты тек код түсініктемесіне емес, интерфейс мәтініне қойыңыз.

Билік пен құпияларды иелерінде ұстаңыз

Рұқсаттар иә, auth немесе жоқ түрінде қайтады, ал интерфейс рұқсат етілген, аутентификациядан кейін рұқсат етілген және қабылданбаған арасындағы айырмашылықты көрсетуі керек. Контроллерді root ретінде іске қосу рұқсат саясатын жүзеге асырмайды; ол сұрақты жояды.

Тіркелгі деректері конфигурацияланған аутентификация әдісі үшін қолдау көрсетілетін құпия агентке немесе клиенттік интеграцияға тиесілі. Бастапқы кодтағы, аргументтегі немесе журналдағы құпиясөз — табылған кемшілік, ал жергілікті әкімшілік рұқсаттау шлюздегі аутентификациямен бір оқиға емес.

Соңында, қосылым күйі туралы пайдаланушы орындағысы келетін тапсырмадан бөлек хабарлаңыз. Жеке атау немесе қолданба қолжетімсіз болып тұрғанда туннель белсенді болуы мүмкін, және бұл екінші сәтсіздік өз хабарламасы мен өз мәртебесіне лайық. Қай қабаттың істен шыққанын дәл айтатын контроллер VPN өшіп қалды дейтіннен пайдалырақ.

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