Գոյություն ունեցող VPN-ը միացնող փոքր ծրագրին պետք է կարգավորիչ, ոչ թե VPN-ի նոր իրականացում։ Աջակցվող շարժիչը պետք է զբաղվի բանակցությամբ և թունելի հոսքով, իսկ ձեր ծրագիրը պետք է արտահայտի օգտատիրոջ հարցումը և ազնվորեն բացատրի արդյունքը։ Linux-ում NetworkManager D-Bus միջերեսը այդ կարգավորիչին տալիս է հետևելու համար կոնկրետ մոդել։

Չորս ստուգում թույլ չեն տալիս, որ կարգավորիչը շփոթի պահված պրոֆիլը, ակտիվացման հարցումը և աշխատող նստաշրջանը։

Ստուգում առաջին՝ որ ինքնությունն է ընտրվում

Պահեք պրոֆիլի UUID-ն որպես մշտական ինքնություն և լուծեք այն կառավարչի միջոցով, երբ օբյեկտի ուղին պետք է։ Ցուցադրվող անունը կարող են կիսել երկու պրոֆիլ, և գործարկման ժամանակի ավտոբուսի ուղին պահելու համար խելամիտ օգտատիրոջ նախապատվություն չէ։ Գրեք ընտրությունը ձեր սեփական կազմաձևում, ոչ թե մեկնաբանության մեջ, թե որ գրառումն էր ցանկում երկրորդը։

Ստուգեք, թե ինչ է վերադարձնում կառավարիչը, նախքան այն համընկնում անվանելը։ UUID-ն, որն այլևս գոյություն չունի, տալիս է որոնման ձախողում, և դա այլ կոդային ուղի է, քան գոյություն ունեցող պրոֆիլը, որը հրաժարվում է ակտիվանալ։

Ստուգում երկրորդ՝ ինչ է վերադարձնում ակտիվացման կանչը

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

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

Մի՛ վերցրեք ավելացնել-և-ակտիվացնել ընդհանուր օրինակը և մի՛ սպասեք, որ այն VPN պրոֆիլ կստեղծի։ Փաստաթղթավորված օգնականը բացառում է VPN միացումները, ուստի պրոֆիլի տրամադրումը կամ ներմուծումը առանձին, վերանայված քայլ է։ Սա կարևոր է, որովհետև տրամադրումը պահանջում է լիազորում և վերանայում, որոնք միացման կոճակը չի տալիս։ Վերաբերվեք ներմուծմանը որպես վարչական գործողության՝ իր սեփական գրանցամատյանի տողով և իր հաստատողով։

Ստուգում երրորդ՝ ինչպես է ներկայացվում վիճակը

Ակտիվ միացումն անցնում է ակտիվացման, ակտիվ, ապաակտիվացման և ապաակտիվացված վիճակներով, և պատճառի դաշտը նշում է, թե ինչու։ Այդ ամենը loggedIn անունով տրամաբանական արժեքի մեջ սեղմելը կորցնում է այն տեղեկությունը, որն անհրաժեշտ է օգտատիրոջը և որը կհարցնի աջակցությունը։ Ցույց տվեք առնվազն՝ միացումը սպասող է, հաստատված, թե անհետացել, և պահեք պատճառի տողը ձախողման դեպքի համար։

Կապեք ասինխրոն պատասխանները այն հարցմանը, որն առաջացրել է դրանք։ Ավելի հին փորձի ուշ ավարտը չպետք է վերագրի ավելի նոր օգտատիրոջ գործողությունը, և Connect-ի կրկնակի սեղմումը պետք է կա՛մ անտեսվի, կա՛մ դիտարկվի որպես չեղարկում և կրկնափորձ՝ տեսանելի քաղաքականությամբ։

Ստուգում չորրորդ՝ ինչ է լինում վերագործարկումից հետո

Երբ կառավարիչը վերագործարկվում է կամ ձեր կարգավորիչը կրկին միանում է ավտոբուսին, վերակառուցեք դիտարկված վիճակը տիրոջից։ Մի՛ շարունակեք քեշավորված նստաշրջանը ցույց տալ որպես ակտիվ, որովհետև հին օբյեկտի ուղին դեռ հիշողության մեջ է։ Վիճակի փոփոխության ազդանշանները հենց դրա համար են, որ կարգավորիչը կարողանա վերահամաժամանակացնել՝ գուշակելու փոխարեն։

Ընտրեք, թե ինչ է նշանակում փակել կարգավորիչը։ Մեքենային պատկանող գոյություն ունեցող միացումը բաց թողնելը կարող է ճիշտ լինել, և դիտավորյալ կարճատև նստաշրջանը քանդելը նույնպես կարող է ճիշտ լինել։ Մեքենային պատկանող գոյություն ունեցող միացումը բաց թողնելը կարող է ճիշտ լինել՝ դիտավորյալ կարճատև նստաշրջանը քանդելը նույնպես կարող է ճիշտ լինել։ Գրեք այդ սեփականության պայմանագիրը միջերեսում, փոխարենը ենթադրելու, որ գործընթացի ելքը կատարում է ցանցային գործողությունը։ Օգտատերերը չպետք է գուշակեն՝ պատուհանը փակելը կընդհատի՞ իրենց թունելը։ Պատասխանը դրեք միջերեսի տեքստում, ոչ միայն կոդի մեկնաբանության մեջ։

Պահեք իշխանությունն ու գաղտնիքները դրանց տերերի մոտ

Թույլտվությունները վերադառնում են որպես այո, auth կամ ոչ, և միջերեսը պետք է արտացոլի տարբերությունը թույլատրված, նույնականացումից հետո թույլատրված և մերժված միջև։ Կարգավորիչը root-ով գործարկելը թույլտվության քաղաքականություն չի իրականացնում. այն վերացնում է հարցը։

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

Ի վերջո, հաղորդեք միացման վիճակը առանձին այն խնդրանքից, որը օգտատերը ուզում է կատարել։ Թունելը կարող է ակտիվ լինել, մինչ դիտարկված անունը կամ հավելվածը մնում է անհասանելի, և այդ երկրորդ ձախողումն արժանի է իր հաղորդագրությանը և իր կարգավիճակին։ Կարգավորիչը, որը հստակ ասում է, թե որ շերտը ձախողվեց, ավելի օգտակար է, քան այն, որն ասում է, թե VPN-ը կանգնած է։

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