Կանգնեցրեք ճիշտ OpenVPN կապը՝ առաջին պլան, systemd թե NM
Թունելն անջատող հրամանը կախված է նրանից, թե ով է այն սկսել։ Նախքան ազդանշան ուղարկելը համեմատեք առաջին պլանի, systemd-ի, NetworkManager-ի և OpenVPN 3-ի սեփականատերերին։
Տերմինալի պատուհանը փակելը նույնը չէ, ինչ թունելը փակելը, և պրոցեսը սպանելը նույնը չէ, ինչ ծառայությունը կանգնեցնելը։ Linux-ում այն հրամանը, որն իրականում անջատում է կապը, կախված է նրանից, թե որ բաղադրիչն է սկսել կապը և հետևաբար տիրապետում է դրա կյանքի ցիկլին։ Ստորև բերված համեմատությունը ներառում է չորս դասավորությունները, որոնց ամենայն հավանականությամբ կհանդիպեք, և յուրաքանչյուրի համար անհրաժեշտ նույնացուցիչը։
Առաջին պլանի և դեմոնացված հաճախորդներ
Տերմինալում ձեռքով սկսված հաճախորդը պատկանում է այդ տերմինալին։ Ctrl+C-ն ուղարկում է ընդհատում, հաճախորդը քանդում է իր ինտերֆեյսը, և թունելն ավարտվում է։ Ուրիշ ոչինչ պետք չէ տեղեկացնել։
Shell-փաթաթանի միջոցով սկսված և ֆոնում թողնված հաճախորդը ոչ մեկին չի պատկանում, և հենց այդ դեպքում են մարդիկ դիմում killall-ին։ Նախ գտեք պրոցեսը, հաստատեք, որ դրա հրամանի տողում նշված է նախատեսված պրոֆիլը, ապա ուղարկեք սովորական ավարտի ազդանշանը։ Իր վերահսկիչի տակ սպանված վերահսկվող պրոցեսը պարզապես կվերագործարկվի, դրա համար սեփականատիրոջ նույնականացումն ավելի կարևոր է, քան ազդանշանի ընտրությունը։ Պրոցեսների խմբին ազդանշան ուղարկեք միայն այն դեպքում, երբ հաստատել եք, որ ոչ մի այլ թունել այն չի կիսում։
SIGUSR1-ը անջատում չէ, այն հաճախորդից խնդրում է վերագործարկել թունելը։
systemd-ի օրինակներ
Երբ unit-ը տիրապետում է կապին, unit-ն է կանգնեցնելու օբյեկտը։ openvpn-client@office-ի նման ձևանմուշային օրինակները կրում են պրոֆիլի անունը, և օրինակի փոխարեն ձևանմուշի թիրախը կանգնեցնելը կարող է ազդել հոսթի յուրաքանչյուր հաճախորդի վրա։
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Կարդացեք unit-ի ExecStart-ը, երբ վստահ չեք, թե որ պրոֆիլն է բեռնել օրինակը։
Միացված unit-ը կվերադառնա հաջորդ բեռնարկման ժամանակ, ինչը առանձին որոշում է այն հիմա կանգնեցնելուց։ Անջատեք այն միայն այն բանից հետո, երբ որոշեք, որ կապը չպետք է վերադառնա, և գրանցեք այդ որոշումը այնտեղ, որտեղ կգտնի հաջորդ ադմինիստրատորը։
NetworkManager-ի պրոֆիլներ
NetworkManager-ի կողմից կառավարվող պրոֿիլը պրոցես չէ, որին կարող եք ազդանշան ուղարկել։ Կառավարիչը տիրապետում է կյանքի ցիկլին, և այն օբյեկտը, որի վրա պետք է գործել, ակտիվ կապն է, որը նույնականացվում է UUID-ով, այլ ոչ թե ցուցադրվող անունով։ Ակտիվ ցանկը նախ կարդալը նաև ցույց է տալիս, թե արդյոք երկրորդ թունել է աշխատում ձեր չսպասած անունով։
nmcli connection show --active
nmcli connection down uuid actual-uuid
Ցուցադրվող անունները կրկնվում են, և պրոֆիլի ֆայլի անունը դրա նույնացուցիչը չէ, ուստի պատճենեք UUID-ն ցանկից։ Եթե կապը անմիջապես վերադառնում է, ինչ-որ բան այն ակտիվացնում է՝ secondaries գրառում բազային կապի վրա, dispatcher սկրիպտ կամ ավտոմատ միացման դրոշ։ Կառավարչի կապը կանգնեցնելը ճիշտ առաջին քայլն է, և վերաակտիվացումը հաջորդ հարցն է։ Չջնջեք պրոֆիլը վերաակտիվացումը կանգնեցնելու համար, քանի որ դա հեռացնում է նաև վաղը ձեզ անհրաժեշտ կարող հավատարմագրերը։
Կառավարչի հրամանների տեղեկատուն փաստագրում է, թե ինչպես է ընտրվում down թիրախը։
OpenVPN 3 սեսիաներ
OpenVPN 3 Linux-ը յուրաքանչյուր թունելի համար պրոցեսի փոխարեն օգտագործում է սեսիաների մոդել։ Դուք ստուգում եք ծառայությանը հայտնի սեսիաները, ապա գործում մեկ սեսիայի ուղու վրա։ Ուղին նույնացուցիչն է, և այն փոխանակելի չէ կոնֆիգուրացիայի անվան հետ։
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Բոլոր սեսիաների անջատումը այլ գործողություն է, և այն պետք է լինի դիտավորյալ։
Նույն հոսթը կարող է պահել մի քանի օգտատերերի սեսիաներ, ուստի գործելուց առաջ ցանկը կազմեք և հաստատեք այն սեսիայի սեփականատիրոջը, որը պատրաստվում եք ավարտել։
Ինչ ստուգել հետո
Այս կանգնեցումներից որևէ մեկից հետո ստուգեք երեք բան՝ ակտիվ կապերի ցանկն այլևս չի պարունակում թունելը, ինտերֆեյսը անհետացել է, և ներքին հասցեի երթուղու որոնումն այլևս չի ընտրում թունել-սարք։ Ապա որոշեք, թե ինչ կլինի հաջորդ բեռնարկման ժամանակ։
ip -brief address
ip route get 10.8.0.1
Ինտերֆեյսը ձեռքով հեռացնելը չի կանգնեցնում սեփականատիրոջը և մաքրումը թողնում է կիսատ։
Հիմա անջատելը, հաջորդ ավտոմատ մեկնարկը կանխելը և հետո ոչ VPN տրաֆիկին թույլատրելը երեք առանձին ընտրություններ են։ Կատարեք յուրաքանչյուրը բացահայտ։