Handaki yako inainuka na mteja anajiunga, lakini anwani isiyobadilika na njia zilizosukumwa ulizozifafanua kwa mtumiaji huyo mmoja hazipo. Logi haisemi “file not found”, na hilo ndilo linalowapeleka watu kuzalisha upya vyeti. Katika visa vingi vya aina hii daemon huendeshwa kutoka saraka tofauti na ganda ulilojaribu, na client-config-dir hakuwahi kutatuliwa kama ulivyodhani. Suluhisho ni marekebisho ya njia, si kuweka upya vitambulisho.

Soma unit kabla ya kugusa usanidi

Anza na mchakato unaoendeshwa kweli, si faili uliyoihariri. Uliza systemd kuhusu mstari wa utekelezaji, saraka ya kazi na akaunti inayoshuka kwake. Majibu hayo matatu yanafafanua hitilafu nyingi za aina hii:

systemctl show openvpn-server@server -p ExecStart -p WorkingDirectory -p User -p RootDirectory

WorkingDirectory tupu inamaanisha unit huanza katika /, kwa hivyo client-config-dir ccd ya jamaa hutafutwa katika /ccd. Saraka hiyo karibu haipo kamwe, na daemon haichukui kutokuwepo kwake kuwa mbaya.

Linganisha hilo na uzinduzi wa mwingiliano uliotumia wakati wa majaribio, ambapo saraka ya sasa ya ganda lako pengine ilikuwa saraka ya usanidi. Faili hiyo hiyo, maneno muhimu hayo hayo, matokeo mawili tofauti.

Njia ya jamaa hutatuliwa kwa kuzingatia nini

Neno muhimu hutatuliwa kwa kuzingatia saraka ya kazi ya mchakato wakati chaguo linatumika. Haimaanishi “kando ya faili ya usanidi niliyopitisha kwa --config”. OpenVPN itasoma usanidi kutoka njia kamili kwa furaha na bado itatatua thamani za jamaa mahali pengine, na hilo ndilo mtego hapa. Mwongozo wa OpenVPN 2.6 unaeleza kanuni hiyo chini ya --client-config-dir na tena chini ya --cd.

Neno muhimu cd hubadilisha muktadha huo kabla ya faili nyingine kusomwa, kwa hivyo unit inayoweka cd /etc/openvpn/server kisha client-config-dir ccd hutatuliwa kuwa /etc/openvpn/server/ccd. Ukiongeza cd, angalia mpangilio wa maagizo na kumbuka kwamba huathiri kila rejeleo lingine la jamaa katika faili hiyo hiyo.

Pitia njia kama akaunti ya daemon

Njia inaweza kuwa sahihi na bado isisomeke. Baada ya kupunguza mapendeleo daemon hana root tena, kwa hivyo kila saraka mzazi inahitaji ruhusa ya utafutaji kwa akaunti hiyo, na faili ya mteja yenyewe inahitaji ruhusa ya kusoma. Biti moja ya utekelezaji inayokosekana kwenye mzazi inatosha kuficha faili, na hitilafu huonekana tu kama mteja anayepata kwa utulivu dimbwi la chaguo-msingi.

namei huchapisha ruhusa ya kila kipengele kwa mpangilio, ambayo ni haraka zaidi kuliko kukagua saraka moja baada ya nyingine:

namei -l /etc/openvpn/server/ccd/client1

Kisha jaribu kusoma kama akaunti ya huduma badala ya wewe mwenyewe:

runuser -u openvpn -- test -r /etc/openvpn/server/ccd/client1 && echo readable

Iwapo unit inatumia chroot, saraka lazima iwepo ndani ya gereza, na njia katika usanidi hufasiriwa baada ya chroot kutumika. Faili iliyo kwenye mwenyeji nje ya gereza haionekani kutoka ndani.

Thibitisha utafutaji badala ya kubahatisha

Pandisha kiwango cha logi kwa uanzishaji mmoja na usome kile seva inasema kuhusu chaguo maalum za mteja. Katika verb 4 daemon huripoti usanidi kwa kila mteja iliyoingiza, kwa hivyo mstari unaokosekana ni ushahidi wa moja kwa moja kwamba hakuna faili iliyosomwa kwa muunganisho huo.

openvpn --config /etc/openvpn/server.conf --verb 4 --client-config-dir /etc/openvpn/server/ccd

Endesha hilo mbele kwenye bandari ya ziada na unganisha mteja mmoja. Hilo huondoa systemd kabisa kwenye picha: ikiwa mabadiliko yanaonekana hapa na si chini ya huduma, tofauti ni muktadha wa unit, si faili.

Amua nini kifanyike wakati hakuna faili inayolingana. Bila ccd-exclusive mteja hukubaliwa kwa mipangilio ya dimbwi la kimataifa pekee, na hilo ndilo kushindwa kwa kimya kunakoelezwa juu. Pamoja nayo, faili inayokosekana inakuwa muunganisho uliokataliwa, na kukataliwa huko ni rahisi kuona lakini kugumu kurekebisha chini ya mzigo.

Rekebisha, anzisha upya, thibitisha

Fanya saraka kuwa kamili katika usanidi na uachie hivyo. Njia za jamaa ni salama tu wakati unit inabana saraka ya kazi, na kuibana ni sehemu ya ziada inayosonga ambayo mtu ataoa baadaye.

client-config-dir /etc/openvpn/server/ccd
ccd-exclusive

Anzisha upya kipengele, unganisha tena mteja mmoja anayejulikana na usome anwani aliyoipata pamoja na njia zilizosukumwa kwake. Ikiwa anwani inalingana na mstari ifconfig-push katika faili ya mteja huyo, utafutaji ulifanya kazi. Ikiwa mteja bado anaangukia dimbwi la jumla, rudi kwenye hesabu ya mistari ya logi: sifuri ya uagizaji inamaanisha njia au utambulisho si sahihi, uagizaji mmoja wenye maudhui yasiyofaa inamaanisha unahariri faili tofauti na ile daemon inayosoma.

Rudi nyuma kwa kurejesha unit ya awali na usanidi pamoja, kisha anzisha upya. Vyeti havihitaji kutolewa upya kwa lolote la haya, na kuchukulia tatizo la saraka kama tatizo la vitambulisho ndiyo njia ambayo marekebisho ya dakika tano yanakuwa dirisha la matengenezo.

Makala zinazohusiana