Միայն մեկ կառավարման հաճախորդ՝ ինչու ձեր մոնիտորը դուրս է հանում գրաֆիկական ինտերֆեյսը
Կառավարման սոքեթը միաժամանակ ընդունում է մեկ միացում։ Երկրորդ բաժանորդը կամ չի կարողանում միանալ, կամ գողանում է կառավարումը այն բաղադրիչից, որը տիրապետում է հուշումներին։
Սեղանի գրաֆիկական ինտերֆեյսը պահում է կառավարման միացումը, ուստի մոնիտորինգի սկրիպտը, որը փորձում է բացել իր սեփականը, ոչինչ չի կարդում կամ, ավելի վատ, ինտերֆեյսը դադարում է պատասխանել հուշումներին։ Սովորական եզրակացությունն այն է, որ դեմոնը անկայուն է։ Համայնքային դեմոնում սահմանափակումը միտումնավոր է. կառավարման ինտերֆեյսը սպասարկում է մեկ միացված կառավարման հաճախորդին միաժամանակ, և այդ թիվը կապ չունի նրա հետ, թե քանի օգտատեր կարող է կրել VPN-ը։
Մեկ սոքեթ, մեկ սեփականատեր
Կառավարման ալիքը ընդունում է մեկ միացված հաճախորդ։ Երբ երկրորդը գալիս է, մինչ առաջինը ակտիվ է, նա սպասում է կամ մերժվում, և ոչ մի զուգահեռ բաժանորդային ռեժիմ թաքնված չէ ընտրանքի հետևում։ Ընթացիկ սեփականատիրոջ անջատումը թույլ է տալիս դեմոնին ընդունել հաջորդին, և դա փոխանցում է, ոչ թե երկրորդ ալիք։
Դա ամեն լրացուցիչ գործիք դարձնում է մրցակից։ Եթե ինտերֆեյսը տիրապետում է միացմանը, հարցման սկրիպտը կամ չի միանում, կամ հաջողության է հասնում միայն այն բանից հետո, երբ ինտերֆեյսը հանձնվել է, և հաջորդականությունը կրկնվում է հաջորդ վերամիացման ժամանակ։ Եթե սկրիպտը միանում է առաջինը, ինտերֆեյսը կորցնում է իր կառավարման ուղին, և նրա հուշումները դադարում են աշխատել։ Գործիքներից ոչ մեկը չի հաղորդում հակամարտության մասին, որովհետև յուրաքանչյուրը տեսնում է միայն իր ձախողված հրահանգը։
| What you need | Mechanism that fits | What it cannot do |
|---|---|---|
| Periodic list of connected clients | Status file written on an interval | Deliver events as they happen |
| Interactive prompts and session control | The single management connection | Serve two controllers at once |
| Multiple consumers of either | One owner process that fans out | Exist without you writing it |
Որոշեք, թե որ բաղադրիչն է տիրապետում կառավարմանը
Ընտրեք մեկ սեփականատեր ինտերակտիվ ալիքի համար և թողեք, որ նա լինի միակը, որը միանում է։ Ինտերֆեյսը, որը կառավարում է միացումը, սկրիպտը, որը պատասխանում է նույնականացման հուշումներին, և կարգավորիչը, որը դադարեցնում է սեսիաները, բոլորը հաշվվում են որպես սեփականատերեր, և միայն մեկը կարող է կրել այդ դերը։
Երբ ինտերֆեյսը տիրապետում է միացմանը, օգտագործեք այն ինտեգրումը, որը նա առաջարկում է, փոխարենը պայքարելու նրա դեմ։ Սեփականատիրոջ հետ սոքեթի համար մրցավազքը առաջացնում է ընդհատվող խափանումներ, որոնք օգտատերերին պատահական են թվում, և վրիպազերծողը սովորաբար տեսնում է միայն մրցավազքի երկրորդ կեսը։ Նշեք, թե որ գործընթացն է միանում առաջինը վերագործարկումից հետո, որովհետև այդ հերթականությունը ամեն անգամ որոշում է, թե ով է հաղթում։ Ինտերֆեյսից առաջ մեկնարկած մոնիտորը կպահի ալիքը, մինչև ինտերֆեյսը հանձնվի։
Օգտագործեք վիճակի պատկերներ հավաքիչների համար
Մոնիտորինգի պահանջների մեծ մասին ցանկ է պետք, ոչ զրույց։ Պարբերական վիճակի ֆայլը պատասխանում է դրան՝ չհպվելով կառավարման ալիքին, և շարունակում է աշխատել, քանի դեռ ինտերֆեյսը միացված է։
status /run/openvpn/server.status 10
management /run/openvpn/server.sock unix
Ինտերվալը թարմության բյուջեն է, ուստի սահմանեք այն ըստ այն բանի, ինչ իրականում պետք է վահանակին, և ոչ ըստ ամենափոքր արժեքի, որը անվտանգ է թվում։ Մի քանի վայրկյանը մեկ գրվող պատկերը էժան է. սկրիպտը, որը մի քանի վայրկյանը մեկ նորից միանում է կառավարման սոքեթին, էժան չէ, որովհետև յուրաքանչյուր վերամիացում մրցում է սեփականատիրոջ հետ։
Պատկերը պատմություն չէ և իրադարձությունների հոսք չէ։ Մի ինտերվալի ընթացքում եկող և գնացող միացումները երբեք չեն հայտնվում, ուստի աուդիտի պահանջը հնարավոր չէ բավարարել՝ հարցում անելով ֆայլին, որը վերագրում է ինքն իրեն։ Եթե պետք է իմանաք, թե արդյոք օգտատերը ընդհանրապես միացել է, պատկերը սխալ գործիք է։
Տարածումը նախագիծ է, ոչ ռեժիմ
Եթե մի քանի սպառողներ իսկապես կարիք ունեն կառավարման կենդանի տվյալների, տեղադրեք մեկ վստահելի բաղադրիչ սոքեթի առջև և թույլ տվեք նրան հրապարակել խստորեն ընտրված դիտարկումներ մնացածին։ Այդ բաղադրիչը տիրապետում է վերամիացմանը, նույնականացման հուշումներին և այն որոշմանը, թե ինչն է անվտանգ բացահայտել։
Կառուցեք այն գիտակցաբար. սահմանեք, թե որ հարցումներն են թույլատրվում, գրանցեք, թե ով է հարցրել, և խուսափեք տարածման շերտը պատահաբար հեռահար կառավարման վահանակի վերածելուց։ Դեմոնը չունի բազմահաճախորդ ռեժիմ միացնելու համար, և ոչ մի կազմաձևման տող այն չի ստեղծում։ Վերաբերվեք սեփականատիրոջը որպես անվտանգության սահմանի մաս, որովհետև նա պահում է ինտերֆեյս, որը կարող է անջատել մարդկանց։ Նրա վերագործարկումը պետք է լինի սովորական գործողություն՝ փաստաթղթավորված վերականգնման ուղով։
Վերաբերվեք սոքեթին որպես արտոնություն, ոչ որպես չափիչներ
Կառավարման ինտերֆեյսը կարող է անջատել օգտատերերին, փոխել վիճակը և կարդալ իրադարձություններ, որոնցում նշվում են մարդիկ։ Նրա գաղտնաբառը նույնականացնում է հաճախորդին և չի գաղտնագրում տրանսպորտը, ուստի ցանցային լսորդը զրույցը բացահայտում է բոլորին, ովքեր կարող են դիտարկել այն։
Նախընտրեք տեղական սոքեթ կամ խստորեն սահմանափակված լսորդ և ստուգեք, թե որ գործընթացին է իրականում դիմում ձեր հավաքիչը, քանի որ սերվերային ապրանքները բերում են իրենց կառավարման API-ները, որոնք այլ կերպ են վարվում։ Սխալ դեմոնին ուղղված հավաքիչը տալիս է վստահ և սխալ եզրակացություններ։ Հաստատեք ուղին և սեփականատեր գործընթացը նախքան հարցման վրիպազերծումը, որը ոչինչ չի վերադարձնում։