Kwa nini OpenVPN hufa baada ya kompyuta ya mkononi kuamka?
Usingizi unaweza kuua kipindi cha OpenVPN na kuacha tun0. Jaribu handaki, kisha anzisha upya kitengo kutoka kwa ndoano ya usingizi ya systemd, sio kifaa.
Weka mashine usingizini, iamsha, kisha angalia mambo matatu kwa mpangilio huu kabla ya kugusa usanidi wowote: kama tun0 bado ipo, kama njia ya kufikia anwani ya ndani bado inaichagua, na kama seva bado inaorodhesha peer huyu. Kifaa kinachonusurika usingizi wakati njia inaelekea mahali pengine ni mabaki, sio handaki. Njia ikiwa sahihi na trafiki ikifa vivyo hivyo, hitilafu iko juu ya handaki na kuanzisha upya mteja hakutabadilisha hilo. Kuweka kiotomatiki uanzishaji upya kuna maana tu baada ya jaribio la mkono kuonyesha ni hali ipi kati ya hizo tatu unayo.
ip -br address show tun0
ip route get 10.20.0.10
journalctl -u openvpn-client@office -b --no-pager | tail -30
Zalisha tena uamkaji kabla ya kuuweka kiotomatiki
Usingizi humaliza kipindi kilichosimbwa mara nyingi zaidi kuliko kuondoa kifaa. Mtiririko wa UDP ulioufanya handaki uendelee kuwa hai unakoma, seva inaweza kumtupa peer, na mteja ama anagundua na kuunganisha tena au anabaki na kiolesura kisicho na kitu nyuma yake. Ukaguzi wa kiolesura peke yake huthibitisha kidogo, kwa sababu kifaa cha zamani kinaonekana sawa kabisa na kinachofanya kazi hadi pakiti zilazimike kupita ndani yake. Endesha utafutaji wa njia pamoja na ombi moja halisi kupitia handaki, kisha soma jarida kuzunguka wakati wa kuamka.
Ikiwa mteja anarudi mwenyewe, ndoano huongeza usumbufu badala ya kuegemewa. Ikiwa haiponi kamwe, uwekaji kiotomatiki ndio suluhisho la uaminifu.
Ndoano ya usingizi ya systemd ipo wapi kwa kweli
Miongozo mingi ya zamani inaelekeza kwenye /etc/pm/sleep.d, saraka inayomilikiwa na pm-utils ambayo usingizi unaotegemea systemd hauishauri kamwe. systemd husoma ndoano kutoka /usr/lib/systemd/system-sleep/ na /etc/systemd/system-sleep/, ikipitisha awamu kwanza na operesheni baadaye, kwa hiyo pre na post ni thamani pekee ambazo ndoano hutawika. Weka nakala ya ndani chini ya /etc badala ya kuhariri faili iliyofungashwa, na kumbuka hati hiyo inaendesha kama root katikati ya mpito, kwa hiyo lazima irudi haraka.
#!/bin/sh
case "$1" in
post)
systemctl --no-block try-restart [email protected]
;;
esac
exit 0
try-restart hugusa kitengo tu wakati tayari kinafanya kazi, kwa hiyo handaki ulilozima kwa makusudi linabaki limezimwa wakati wote wa kuamka. --no-block huzuia ndoano kusubiri wakati mteja anajadiliana, jambo ambalo ni muhimu wakati mtandao bado haujapanda. Kwa pamoja bendera hizo mbili zinamaanisha ndoano inayoshindwa kimyakimya badala ya kuzuia mfuatano wote wa kuamka. Kitengo kikiwa kimesimamishwa tayari hakuna kinachotokea kabisa, na hiyo ndiyo matokeo unayoyataka hapo.
Rejesha huduma, acha tun0 peke yake
Kushusha tun0 kwa mkono kunamwacha daemon akisimamia kiolesura ambacho hakimiliki tena, na mabadiliko ya hali yanayofuata huzalisha makosa ya kuchanganya. Lenga huduma au wasifu wa muunganisho wake badala ya kiolesura; angalia kwanza jina kamili la kitengo, kwa sababu vifurushi vya usambazaji, OpenVPN 3 na NetworkManager wote huchagua tofauti. Wasifu wa NetworkManager hurudi wakati muunganisho huo unazungushwa, kwa hiyo kitengo cha systemd sio lengo hapo. Chochote utaratibu, unapaswa kuwa kitendo kile kile ulichothibitisha kwa mkono.
Kuanzisha upya husakinisha tena njia ambazo mteja alisukuma alipounganisha. Uamkaji mwingi unataka hilo. Mashine uliyoongeza njia zako mwenyewe haitaki, kwa hiyo angalia tena hizo badala ya kudhani urejeshaji ulizirudisha, na ziandike mahali uamkaji ujao unaweza kuzipata.
Shughulikia muda ambao hauwezi kudhibiti
Muunganisho usio na waya na DHCP mara nyingi humalizika baada ya ndoano kuendesha, kwa hiyo uanzishaji upya unaweza kushindwa wakati bado hakuna njia ya kufikia seva. Subiri kidogo anwani hiyo, jaribu mara moja zaidi na uandike matokeo.
Utatuzi wa majina ni mbio tofauti, kwa sababu mkusanyiko wa mtandao wa desktop unaweza kurejesha DNS baada ya handaki kuwa juu tayari. Jaribu utafutaji peke yake kwa resolvectl query internal.example badala ya kukisia kutoka kwa njia inayofanya kazi. Handaki linaloelekeza kwa usahihi na lisilotatua chochote ni tatizo la DNS, sio tatizo la ndoano.
Weka uamuzi wa ndoano uonekane kwa kuandika awamu, jina la kitengo na matokeo kwenye jarida. Andika kwenye maelezo ya mashine ni jaribio gani la kuamka uliendesha, ili urejeshaji unaofanya kazi utofautishwe na ule wa bahati. Chagua kitendo kisichovuruga zaidi kinachorudisha huduma, na acha mteja anayejirekebisha mwenyewe afanye hivyo. Uanzishaji upya kamili huacha vikao vinavyoendelea, jambo ambalo ni gharama halisi kwenye kompyuta ya mkononi inayoamka mara kadhaa kwa siku.