Isang dashboard ang humihingi ng bilang kung gaano katagal nang aktibo ang koneksyon, at OpenVPN hindi ito ibinibigay. Alam ng client kung kailan umangat ang tunnel nito, ngunit kung may magtala lamang ng sandaling iyon bago mawala ang estado ng sesyon. Ang sinusuportahang lugar ay ang kawit na up, at ang halagang sulit itabi ay hilaw na epoch segundo kaysa naka-format na string. Ang lahat ng kasunod ay aritmetika, kasama ang ilang tuntunin ng pagkakasunod-sunod na nagpapasya kung nananatiling tapat ang bilang.

Tiyakin na talagang tumatakbo ang mga kawit

Patunayan na pumipitik ang kawit bago magdisenyo ng anuman sa paligid nito. Kailangan ng pinakamababang configuration ng client ang script-security 2 at malinaw na mga landas up at down; kung walang linya ng seguridad, tumatanggi ang OpenVPN na patakbuhin ang script at sinasabi ito nang malinaw. Idagdag ang up-restart at down-pre nang sabay, upang kumilos nang mahuhulaan ang mga landas ng restart at pagtanggal.

Gawing ang unang bersyon ng kawit ay nagdaragdag ng environment nito sa isang file at wala nang iba pang ginagawa. Sinasabi nito sa iyo ang mga pangalan ng variable na talagang ine-export ng build mo, gaya ng dev at script_type, kaysa sa mga naaalala mo mula sa ibang bersyon. Patakbuhin ang isang koneksyon at isang paghihiwalay, pagkatapos basahin ang file. Kung walang lumitaw, huminto rito, dahil ang disenyong may timestamp sa ibabaw ng kawit na hindi tumatakbo ay magmumukhang kabiguan ng monitoring nang ilang linggo.

Suriin kung aling user tumatakbo ang kawit. Kapag nakatakda ang user at group, binibitawan ng OpenVPN ang mga pribilehiyo bago patakbuhin ang mga script, kaya ang direktoryo na maisusulat ng root ay maaaring sarado sa kawit. Piliin ang landas mula sa pananaw ng serbisyo kaysa sa iyong shell.

Itala ang isang halaga ng epoch at sadyang burahin ito

Kailangan ng kawit na up ng isang linya, date +%s > /run/openvpn-client.started, na inaayos ang landas sa bawat instance. Iniiwasan ng halaga ng epoch ang mga tanong sa wika, time zone at format sa hinaharap, at ito ang parehong bilang na maihahambing ng monitoring agent sa sarili nitong orasan.

Ang pagbura ay kasinghalaga ng pagsulat. Dapat burahin o alisin ng kawit na down ang file, at down-pre ginagawa iyon bago magsara ang interface, na nag-aalis ng window kung saan inilalarawan ng file ang isang tunnel na wala na. up-restart pagkatapos ay nire-refresh ang stamp sa isang panloob na restart kaysa iwanan ang orihinal na halaga sa puwesto nito. Kung wala ang pares na iyon, isang restart pagkatapos ng timeout ng ping ay gumagawa ng bilang na patuloy na umaakyat habang muling itinatayo ang tunnel.

Pumili ng lokasyon na may tamang habang-buhay. Ang file sa ilalim ng /run ay nawawala sa reboot, na tumutugma sa katotohanan, samantalang ang file sa ilalim ng /tmp ay maaaring linisin nang hindi mahuhulaan at ang isa sa direktoryo ng configuration ay nananatili sa paraang nakaliligaw. Itakda ang mga pahintulot upang tanging ang user ng serbisyo at ang reader ng monitoring ang makabasa nito.

Kalkulahin ang oras ng pagpapatakbo nang hindi umaasa sa mga linya ng log

Basahin ang nakatabing segundo, basahin ang kasalukuyang segundo, ibawas. Kapag wala ang file o walang laman, ang matapat na sagot ay walang aktibong tunnel, hindi na zero ang oras ng pagpapatakbo, dahil ang dalawang estadong iyon ay dapat magtaas ng magkaibang alerto. Itago ang hilaw na segundo sa payload ng monitoring at i-format ang mga araw at oras sa layer ng pagpapakita. Ang formatter na nag-round sa loob ng exporter ay nagtatapon ng katumpakan na kakailanganin ng isang tao sa panahon ng insidente.

Ang pag-parse ng mga timestamp ng log ay ang nakakaakit na shortcut, at nabibigo ito sa tatlong paraan: sinusunod ng format ang anumang opsiyon na nakatakda, inaalis ng rotation ang kasaysayan, at lumilitaw ang mga muling pagkonekta bilang hiwalay na sesyon kaysa isang tuloy-tuloy na tunnel. Itinatala ng kawit ang pangyayari nang isang beses, sa sandaling nangyari ito.

Kapag tumatakbo ang pagsusuri sa ibang host, ipadala ang timestamp kaysa ang tagal upang ilapat ng reader ang sarili nitong orasan. Ang maliit na negatibong resulta ay binabasa noon bilang pagkakaiba ng orasan kaysa sirang kawit.

Saklawin ang mga muling pagkonekta, restart at maraming instance

Ang dalawang tunnel sa isang host ay nangangailangan ng dalawang file, na naka-key sa pangalan ng instance na ginagamit na ng serbisyo. Ang pinagsasaluhang landas ay nangangahulugang ang pinakabagong koneksyon ay nagsusulat sa oras ng pagsisimula ng bawat profile, at ang sintomas ay isang bilang na tumatalon pabalik kapag nagsimula ang ikalawang tunnel.

Ang pag-uugali sa muling pagkonekta ay karapat-dapat sa sariling pagsubok, dahil doon tahimik na iniuulat ng isang kapani-paniwalang disenyo ang maling bagay. Pilitin ang restart sa pamamagitan ng pagpapatumba ng peer o pagpapadala ng signal sa proseso, pagkatapos ihambing ang estado ng interface sa file. Dapat sumulong ang timestamp sa sandaling bumalik ang tunnel.

Sa panig ng server, nagdadala ang status file ng halagang connected-since sa bawat client, na sumasagot sa ibang tanong: kailan huling nakita ng server ang peer na iyon. Gamitin ito para sa cross-check at hindi bilang kapalit, dahil nawawala ito kasama ng sesyong inilalarawan nito. Wala sa dalawang pagsukat ang nagsasabi ng anuman tungkol sa kalusugan ng aplikasyon sa likod ng tunnel.

Patakbuhin ang tatlong pagsusuri na humuhuli sa mga bug sa pagkakasunod-sunod

Subukan ang normal na koneksyon, sapilitang muling pagkonekta at malinis na paghinto, sabay na binabasa ang listahan ng interface at ang file pagkatapos ng bawat isa. Ang stamp na naroon pa rin pagkatapos ng malinis na paghinto, o isang file na nagsasabing may tunnel na wala sa listahan ng interface, ay direktang tumutukoy sa pagkakasunod-sunod ng kawit. Patakbuhin ang mga pagsusuri bilang user ng serbisyo at gamit ang mga landas ng serbisyo, dahil ang shell ng root ay maaaring makakita ng ibang file at magbigay ng kumpiyansang maling sagot. Pagkatapos ay hayaang basahin ng mabagal na poller ang file at tiyakin na hindi ito kailanman nagsusulat dito.

Ang botohan tuwing animnapung segundo ay sumasaklaw sa pag-alerto, at walang kawit ang dapat umasa na buhay ang poller na iyon. Panatilihing hiwalay ang dalawang responsibilidad na iyon at nananatiling mapagkakatiwalaan ang bilang kapag muling ipinakalat ang alinmang panig.

Kaugnay na mga artikulo