Ang pag-hang habang nagsasara kapag tumatakbo ang isang proxy ay bihirang bug ng VPN, kahit na ang VPN ang huling bagay na nakikita sa screen. Ang mga application sa likod ng proxy ay naghihintay pa rin ng rutang malapit nang mawala, at ang unit na nagmamay-ari ng tunnel ay hindi pa hinihilingang isara ito. Ang mukhang mabagal na serbisyo ay kadalasang problema sa pagkakasunod-sunod. Ang pagsasaayos ng pagkakasunod-sunod ay lumulutas ng higit sa mga ito kaysa sa anumang pagbabago ng timeout.

Pumunta palabas sa baliktad na pagkakasunod-sunod: una ang mga consumer, pagkatapos ang proxy, at pagkatapos ang tunnel — bawat isa ay ihinihinto ng component na nagpatakbo nito.

Ilista ang mga unit bago maghinto ng kahit ano

Isulat ang unit ng application, ang unit ng proxy at ang may-ari ng VPN na kasangkot sa normal na pagpapatakbo. Idagdag ang anumang resolver o helper na may sariling pagsasara, dahil iyon ang nakakalimutan tuwing ganap na alas-dos ng umaga. Kung wala ang listahang iyon, ang unang command na i-type mo para huminto ay pipili ng biktima nang basta-basta.

Mahinang ebidensya ang mga pangalan. Ang proxy ng user, proxy ng system at tunnel ng ibang account ay maaaring magkapareho ng pangalan habang ganap na walang kaugnayan ang mga lifecycle.

Tapusin muna ang trabaho, pagkatapos ihinto ang consumer

Ang planadong paghinto ay nagsisimula sa application: hayaang tapusin o kanselahin ang mga request nito, pagkatapos ihinto ang proxy sa pamamagitan ng unit ng serbisyo nito. Kung dapat magpatuloy ang application pagkatapos mawala ang tunnel, ayusin ito nang sinasadya sa halip na iwan itong nakakabit sa rutang malapit nang mawala.

Ang mga request na nasa byahe noong paghinto ay kabilang sa record, dahil doon nagmumula ang bagyo ng mga muling pagtatangka sa susunod na pagsisimula.

Ang ExecStop at ExecStopPost ay magkaibang instrumento

ExecStop= — ito ang synchronous na operasyon ng paghinto; ExecStopPost= — ito ang paglilinis na tumatakbo kahit pagkatapos ng bigong pagsisimula. Ang command ng paghinto na nagpapadala lamang ng signal sa isang proseso at bumabalik ay nagpapahintulot sa systemd na magpatuloy habang nag-flush pa ang consumer. Lahat ng dapat mangyari anuman ang mangyari ay kabilang sa post na variant, at lahat ng dapat humarang sa paghinto ay kabilang sa synchronous. Siyasatin ang epektibong unit at ang mga drop-in file nito sa halip na i-edit ang file ng package sa mismong lugar.

Ang graph ng dependency ay nag-aayos ng mga trabaho ng paghinto. Hindi nito ginagawang synchronous ang isang asynchronous na script, at hindi nito pinipilit ang isang remote na application na itago ang data nito.

Limitahan ang paghinto at alamin ang halaga ng limitasyong iyon

TimeoutStopSec= nililimitahan ang command ng paghinto at ang sariling pagtatapos ng serbisyo, at kapag naubos ang limitasyon ay lumilipat ang systemd sa sapilitang kill. Piliin ang halaga mula sa tunay na pag-uugali ng application sa pag-flush, at isulat kung ano ang maaaring mawala kapag naabot ang limitasyon. Ang numerong pinili dahil dapat mas mabilis na mag-off ang makina ay isang setting ng pagkawala ng data sa ibang pangalan.

Kapag mabagal pa rin ang paghinto, kunin ang unit, ang mga anak nitong proseso, ang interval ng journal at ang resulta ng timeout. Ang pagpapaikli ng lahat ng timeout o paghawak sa malawak na kill ay ang paraan ng pagiging korap na estado ng malinis na paghinto sa susunod na boot.

Idiskonekta sa pamamagitan ng may-ari, pagkatapos subukan ang tatlong kaso

Kapag bumaba na ang mga consumer, hilingin sa manager na nagmamay-ari ng tunnel na idiskonekta: ang instance ng systemd, ang aktibong koneksyon ng NetworkManager o ang serbisyo ng vendor. Ang pagpatay sa isang walang kaugnayang proseso ng OpenVPN ay hindi laging nag-aalis ng session na nagbigay ng ruta, at ang proxy na may patakaran sa restart ay maaaring muling gumawa ng request habang binibiyak mo ang ruta. Iugnay ang patakarang iyon sa planadong paghinto bago ka magsimula.

Subukan ang normal na paghinto, paghinto na may aktibong request at paghinto kung saan nauuna ang pagbigo ng tunnel. Ang paulit-ulit na sequence na may deadline ay mas mabuti kaysa mabilis na pagsasara na gumagana nang isang beses.

Kaugnay na mga artikulo