Je, hati ya ndoano ya OpenVPN inaweza kutumia handaki iliyoijenga hivi punde?
OpenVPN huendesha ndoano ndani ya uanzishaji wake, kwa hivyo hati inayohitaji handaki husubiri handaki inayoisubiri. Tenganisha kazi na uchague ndoano kwa tukio.
Ikiwa hati ya ndoano itafikia upande wa pili wa handaki inategemea masharti matatu: ni tukio gani imeunganishwa nalo, iwapo OpenVPN bado iko ndani ya mfululizo wake wa uanzishaji wakati hati inaendesha, na iwapo kazi imetenganishwa na mfululizo huo. Hati nyingi hushindwa katika la tatu. Kuongeza usingizi huchukulia tatizo la mzunguko wa maisha kama tatizo la muda, na hufanya kazi mara nyingi vya kutosha ili kupotosha.
Amua kwanza tukio, kisha utaratibu wa kuahirisha kazi, kisha mahali ambapo kazi iliyoahirishwa inaendeshwa. Maamuzi hayo matatu ni huru, na kuyachanganya ndiyo jinsi ndoano ya mistari miwili inakuwa mchana mzima.
Kwa nini ndoano inasubiri handaki inayoisubiri
OpenVPN huita ndoano zake kwa usawazishaji, ndani ya mchakato uleule unaosogeza pakiti. up huwaka wakati kifaa cha tun au tap kipo lakini kabla ya njia yoyote kuongezwa, na route-up huwaka baada ya njia; hakuna wakati wowote kati ya hizo unaoahidi kwamba upande wa pili utajibu. Wakati hati ya ndoano yoyote bado inaendesha, daemon haiwasilishi, kwa hivyo amri inayotarajia trafiki ivuke handaki inasubiri handaki inayosubiri amri. Usubiri huu wa mzunguko ndio sababu ya kuendesha kwa mkono kupita na ndoano kuisha muda.
Kiraka kilicho wazi, yaani kulala sekunde chache, wakati mwingine hufanya kazi kwa sababu upande wa mbali uliinuka wenyewe, si kwa sababu usingizi ulirekebisha kitu. Msaidizi anayeuliza utayari ni jibu lingine: ndoano inarudi, uwasilishaji unaanza, na msaidizi anapata anachohitaji wakati kipo kweli.
Chagua ndoano kwa tukio, si kwa urahisi
Unganisha up na kazi inayohitaji kifaa pekee, route-up na kazi inayohitaji njia, na uweke client-connect na client-disconnect kwa kazi za kila mteja upande wa seva. Usafishaji wakati wa kukatisha huenda ukastahili kuendeshwa mara mbili, kwa sababu kuunganisha tena kupitia kiolesura cha kudumu hakufuati mfululizo uleule kama kuanzisha upya kamili. Kwenye seva, client-connect huwaka wakati mteja anajithibitisha, si wakati daemon inaanza, jambo ambalo linafaa kuthibitishwa kabla ya kuhamisha mantiki hapo. Ikiwa kazi ni ya mzunguko wa maisha wa huduma na si ya muunganisho mmoja, kitengo cha systemd ni nyumba bora kuliko ndoano yoyote.
Amri za ndoano hutekelezwa moja kwa moja na daemon, bila shell katikati, kwa hivyo ifconfig_remote katika mstari wa up huja kama maandishi halisi. Funika amri kwa shell iliyo wazi, au weka mantiki katika hati inayosoma mazingira. ipchange ni agizo moja linaloongeza hoja zake mwenyewe: huikabidhi amri anwani na bandari, kwa hivyo hati iliyoandikwa kwa hakuna hutuona mbili zisizotarajiwa.
Njia tatu za kutenganisha kazi
Chaguo la kwanza ni kumtuma msaidizi chinichini kutoka ndani ya ndoano: mwanzishe kwa setsid au systemd-run --scope, funga vifafanuzi vilivyorithiwa, na toka mara moja kwa sifuri. La pili ni kuruhusu ndoano iandike faili ndogo ya hali na kipima muda cha systemd au kitengo cha njia kichukue hatua juu yake, jambo linaloifanya ndoano kuwa rahisi na kuweka sera ya kujaribu tena mahali penye kumbukumbu. La tatu ni kuiacha ndoano kabisa na kuhamisha kazi hadi kitengo kilichopangwa baada ya huduma ya VPN, jambo ambalo ni jibu sahihi wakati kazi si ya kila muunganisho hata kidogo. Zote tatu hushiriki kanuni moja: ndoano lazima irudi kabla ya kuhitaji handaki.
Chochote utakachochagua, fanya msaidizi asiwe na athari mbaya na aweze kuzingatiwa. Miito miwili inayogongana haipaswi kutekeleza kitendo kilekile kisichoweza kurudishwa mara mbili, na msaidizi anayeshindwa lazima aache kitu ambacho mwanadamu anaweza kusoma.
Tenganisha kushindwa kwa sanduku la mchanga na kushindwa kwa mzunguko wa maisha
Wakati hati inaendesha kutoka kwa kidokezo cha root na kushindwa kama huduma, sababu kawaida ni sanduku la mchanga na si mtandao. ProtectHome yenye kizuizi, ProtectSystem ya kusoma tu, au saraka ya kazi ambayo haipo zinaweza kuifanya hati au data yake isifikike, na kwenye mwenyeji wa SELinux faili pia inahitaji muktadha unaoruhusu utekelezaji. Soma kitengo kwa systemctl cat openvpn-server@server na jarida kwa journalctl -u openvpn-server@server -n 80, kisha tafuta kosa la ruhusa au muktadha badala ya muda wa muunganisho kuisha. Kuzima sanduku la mchanga kunapaswa kuwa hatua ya mwisho, si ya kwanza.
Kushindwa kwa mzunguko wa maisha kunaonekana tofauti: ndoano inaanza, msaidizi anaendesha, na soketi bado haipo. Andika mstari wenye muhuri wa muda kutoka kwa ndoano yenyewe, katisha na unganisha tena, na soma matukio kwa mpangilio. Wakati msaidizi anahitaji handaki kweli, mruhusu aulize utayari badala ya kulala kwa kipindi kisichobadilika.
Sehemu tatu hufanya ripoti inayofuata kuwa muhimu: ni ndoano gani iliendesha, ni akaunti gani ilitumia, na iliacha wapi. Bila hizo, uchunguzi wowote wa baadaye huanza kutoka mwanzo.