Skripti ambayo lazima iendeshwe baada ya VPN kupanda inahitaji tukio kutoka kwa sehemu inayomiliki muunganisho. Faili iliyowekwa katika saraka ya zamani ya vifungo vya mtandao si mwitikio wa kurudi kwa kila VPN ambayo NetworkManager, pppd au mchakato huru wa OpenVPN unaweza kuunda. Kila mmoja wa wamiliki hao huripoti tukio tofauti kwa mazingira tofauti, kwa hiyo mmiliki lazima atambulike kabla ya kuchagua kifungo. Vinginevyo skripti ni sahihi na haikimbii kamwe.

Kwa VPN inayosimamiwa na NetworkManager, msambazaji ni mahali sahihi, na vpn-up ni kitendo sahihi.

Tumia vpn-up, si tukio la kiolesura

Msambazaji hutofautisha up na vpn-up. Ya kwanza huripoti kiolesura kilichowashwa; ya pili huripoti muunganisho wa VPN uliowashwa. Wi-Fi kupanda kunamaanisha tu kwamba kiungo cha msingi kipo; handaki inaweza kuwa bado inajadiliana, au huenda isithibitishwe kamwe.

Skripti hupokea kiolesura na kitendo, wakati maelezo ya muunganisho huja kupitia mazingira, ikiwa ni pamoja na UUID ya wasifu na kiolesura cha IP cha VPN. Soma vigeu hivyo badala ya kukisia utambulisho kutoka kwa majina ya vifaa.

Punguza ulinganishaji kwa muunganisho mmoja

Linganisha kwa UUID ya muunganisho, au utambulisho mwingine unaotolewa na msambazaji, badala ya kiambishi cha tun au ppp0. Majina ya violesura hayana uthabiti, handaki zaidi ya moja zinaweza kuwepo kwa wakati mmoja, na wasifu mbili zinaweza kubeba jina moja la kuonyesha. Kulinganisha kiambishi cha tun kunamaanisha kwamba skripti itakimbia mwishowe kwa muunganisho ambao hakuna aliyekusudia kuugusa. Inaweza pia kukimbia mara mbili kwa wasifu mmoja wakati kuunganisha upya kunapojenga kifaa upya.

Fanya kazi iwe idempotent. Mwitikio wa kurudi unaoongeza njia kila wakati wa mwito hatimaye hujaza jedwali na nakala, na nakala ya pili ndiyo inayovunja uelekezaji.

Jua kile ambacho uanzishaji hauthibitishi

vpn-pre-up hukimbia kabla NetworkManager kuripoti VPN imewashwa kikamilifu, na msimamizi husubiri skripti hizo. Tumia hatua ya kuzuia tu wakati kazi inastahili huko kwa kweli, kwa sababu ukaguzi wa polepole huchelewesha uanzishaji ambao kila sehemu nyingine inasubiri kuona.

Kuwepo kwa njia hakuthibitishi kwamba programu inasikiliza, kwamba jina la faragha linatatuliwa, au kwamba kikao cha mtumiaji kipo. Kagua hizo kwa mbali kwa ukomo wa muda, na ripoti tabaka gani lililoshindwa badala ya kujaribu mnyororo wote tena.

Heshimu mazingira ambayo skripti hukimbia

Skripti za msambazaji hukimbia kama root, nje ya kikao chochote cha mtumiaji. Usidhani kwamba mazingira ya mtumiaji aliyeingia, kikao chake cha picha au funguo zilizofunguliwa zinapatikana. Hakuna anayepaswa kujibu ukosefu wa mazingira ya eneo la kazi kwa kufanya kila kitambulisho kisomeke kwa kila mchakato. Weka kazi ya kikao cha mtumiaji katika huduma ya mtumiaji au msaidizi wa kikao ambaye mwitikio wa kurudi unaweza kumpa ishara bila kujifanya mtumiaji.

Umiliki na ruhusa juu ya skripti pia ni muhimu. Faili inayokimbizwa kama root na ambayo mtumiaji yeyote anaweza kuibadilisha ni njia ya kupandisha mapendeleo, na ni ugunduzi usiojitegemea na ukweli kwamba mantiki ya VPN ni sahihi.

Panga kwa ajili ya kukatika ambako hakutokei kamwe

NetworkManager huandika kwamba vpn-pre-down haitolewi kwa kukatika kwa kulazimishwa kama vile kusimama kwa ghafla au kupoteza muunganisho. Kwa hiyo usafishaji uliojengwa tu kuzunguka pre-down laini haujakamilika kwa muundo. Hali yoyote ya pamoja ambayo skripti inabadilisha inahitaji mmiliki mwingine anayeweza kuirejesha baada ya ajali, na njia hiyo ya urejeshaji inapaswa kujaribiwa badala ya kudhaniwa.

Jaribu kifungo kwa muunganisho wa kawaida, kuunganisha upya, kukatika kwa makusudi na kebo iliyovutwa. Rekodi UUID, kitendo na kiolesura kilichokimbia, bila kurekodi siri. Rekodi hiyo ndiyo ushahidi pekee wa kuaminika kwamba kifungo kilikimbia kwa muunganisho uliokusudia, na ndiyo inayofanya mabadiliko yajayo kuwa salama.

Makala zinazohusiana