Lidhja e një shërbimi të varur me tun0.device duket si abonim në tunel, dhe nuk është. Njësia e pajisjes pasqyron se ndërfaqja ekziston, gjë që mund të mbetet e vërtetë gjatë një lidhjeje të dështuar dhe rilidhjes që vjen pas. Atëherë shërbimi vepron në momentin e gabuar, ose kurrë, në varësi të faktit nëse ndërfaqja u zhduk në mes. Grepi që përshkruan ngjarjen për të cilën ju intereson vërtet është ai që thërret OpenVPN, jo ai që nxjerr systemd.

Vendosni se çfarë kushti i nevojitet shërbimit përpara se të zgjidhni nxitësin, sepse tre kandidatët nuk janë të këmbyeshëm.

Çfarë gjurmon vërtet njësia e pajisjes

systemd krijon një njësi pajisjeje nga pikëpamja e kernelit mbi një ndërfaqe rrjeti, kështu që tun0.device bëhet aktive kur ndërfaqja shfaqet dhe joaktive kur hiqet. Me persist-tun, një rinisje e butë e mban ndërfaqen në vend, kështu që njësia nuk dridhet kurrë dhe asgjë e lidhur me të nuk aktivizohet. Edhe pa këmbëngulje, njësia nuk thotë asgjë për rrugët, DNS ose nëse përgjigjet skaji i largët.

Kjo e bën atë një zëvendësues të dobët për 'VPN-ja është gati'. Një dëgjues që ka nevojë vetëm për adresën lokale mund të kënaqet me ekzistencën e ndërfaqes, ndërsa një shërbim që thërret një aplikacion në rrjetin e largët ka nevojë për rrugë dhe aksesueshmëri, të cilat njësia e pajisjes nuk mund t'i shprehë.

up, route-up dhe up-restart nënkuptojnë gjëra të ndryshme

up ekzekutohet pasi pajisja TUN/TAP hapet dhe ndërfaqja konfigurohet, që është momenti i duhur për një dëgjues që lidh adresën e caktuar. route-up ekzekutohet pasi instalohen rrugët, në varësi të çdo vonese të konfiguruar të rrugës, dhe u përshtatet punëve që kërkojnë përfundimin e fazës së rrugëve. Asnjëra nuk provon se aplikacioni i largët përgjigjet. Zgjedhja midis tyre është pyetje për atë që i nevojitet shërbimit, jo për atë se cili grep tingëllon më i përfunduar.

Me persist-tun, rinisjet ripërdorin pajisjen, kështu që up nuk ekzekutohet përsëri, përveçse kur up-restart është vendosur. Ajo opsion aktivizon skriptin up për ciklin e dokumentuar të jetës së rinisjes, dhe mjedisi i tij është i reduktuar në krahasim me nisjen e parë. Një skript që supozon mjedisin e plotë funksionon në lidhjen e parë dhe dështon në të ardhmen.

Dërgo veprimin pa pritur për të

Një grep që thërret systemctl restart në mënyrë sinkrone mund të bllokohet përballë një njësie rendi i së cilës pret tunelin. systemctl --no-block try-restart vpn-dependent.service e vendos punën në radhë dhe kthehet, gjë që e pengon grepin të bllokojë lidhjen ndaj së cilës po reagonte. try-restart vepron vetëm mbi një njësi në punë, ndërsa restart nis edhe një joaktive; zgjidhni qëllimisht, jo nga zakoni.

Vendosja në radhë nuk është verifikim. Grepi kthen sukses sapo pranohet puna, prandaj kontrolli duhet të ndodhë në ditarin e njësisë objektiv ose në gjendjen e saj reale të dëgjuesit.

Politika e rinisjes jeton në njësi, jo në grep

Një njësi oneshot me RemainAfterExit=yes mbetet aktive pasi komanda e saj del, dhe një kërkesë e dytë për nisje nuk bën asgjë, sepse systemd e konsideron të nisur tashmë. Kjo është një veti rreth së cilës projektohet, jo një defekt që anashkalohet me thirrje të përsëritura nisjeje. Nëse veprimi duhet të ekzekutohet për çdo lidhje, njësia ka nevojë për një formë që e lejon atë.

After= rendit njësitë, dhe BindsTo= lidh jetëgjatësitë, por asnjëra nuk do të thotë 'rinis këtë sa herë që VPN-ja rilidhet'. Një njësi e lidhur me tunelin ndalon kur ndalon tuneli; ajo nuk rinis veten kur tuneli kthehet, përveçse nëse diçka e nis përsëri.

Provoni tre rilidhje, jo një

Nisja e ftohtë, rinisja e plotë e klientit dhe rilidhja e butë ushtrojnë secila një rrugë të ndryshme. Rilidhja e butë është ajo që zbulon një up-restart që mungon, një mjedis të reduktuar ose një njësi pajisjeje që nuk u bë kurrë joaktive. Ekzekutoni të treja dhe konfirmoni të dy drejtimet: shërbimi vepron kur tuneli ngrihet, dhe nuk riniset në ndryshime lidhjeje të palidhura si roaming-u Wi-Fi.

Mbani një rrugë rikuperimi të pavarur kur shërbimi i varur mban aksesin tuaj administrativ. Një grep që rinis gjënë përmes së cilës jeni të lidhur është një ndryshim që mund t'ju mbyllë jashtë.

Artikuj të ngjashëm