Il-mina tiegħek titla' u l-klijent jgħaqqad, imma l-indirizz fiss u ir-rotot imbuttati li ddefinixxejt għal dak l-utent wieħed huma neqsin. Fil-log m'hemmx “file not found”, u dan huwa eżattament dak li jibgħat lin-nies jerġgħu jiġġeneraw iċ-ċertifikati. F'ħafna minn dawn il-każijiet id-daemon jaħdem minn direttorju differenti mill-qoxra li fiha ttestjajt, u client-config-dir qatt ma ġie solvut kif assumajt. Is-sewja hija korrezzjoni tal-mogħdija, mhux reset tal-kredenzjali.

Aqra l-unit qabel ma tmiss il-konfigurazzjoni

Ibda mill-proċess li verament jaħdem, mhux mill-fajl li editjajt. Staqsi lil systemd għal-linja tal-eżekuzzjoni, id-direttorju tax-xogħol u l-kont li jinżel għalih. Dawk it-tliet tweġibiet jispjegaw il-biċċa l-kbira tal-fallimenti ta' din il-klassi:

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

WorkingDirectory vojt ifisser li l-unit jibda f'/, għalhekk client-config-dir ccd relattiv jinstab f'/ccd. Dak id-direttorju kważi qatt ma jeżisti, u d-daemon ma jqisx in-nuqqas tiegħu bħala fatali.

Qabbel dan mal-bidu interattiv li użajt waqt l-ittestjar, fejn id-direttorju kurrenti tal-qoxra tiegħek kien probabilment id-direttorju tal-konfigurazzjoni. L-istess fajl, l-istess kliem muftieħ, żewġ riżultati differenti.

Skont xiex jiġi solvut mogħdija relattiva

Il-kelma muftieħ tiġi solvuta skont id-direttorju tax-xogħol tal-proċess fil-mument li tintuża l-għażla. Ma tfissirx “ħdejn il-fajl tal-konfigurazzjoni li għaddejt b'--config”. OpenVPN jaqra konfigurazzjoni minn mogħdija assoluta bil-qalb u xorta jissolva l-valuri relattivi x'imkien ieħor, u dan huwa eżattament in-nassa hawn. Il-manwal ta' OpenVPN 2.6 jiddikjara r-regola taħt --client-config-dir u għal darb'oħra taħt --cd.

Il-kelma muftieħ cd tibdel dak il-kuntest qabel ma jinqraw fajls oħra, għalhekk unit li jistabbilixxi cd /etc/openvpn/server u mbagħad client-config-dir ccd jiġi solvut għal /etc/openvpn/server/ccd. Jekk iżżid cd, iċċekkja l-ordni tad-direttivi u ftakar li taffettwa kull referenza relattiva oħra fl-istess fajl.

Għaddi l-mogħdija bħala l-kont tad-daemon

Mogħdija tista' tkun korretta u xorta ma tinqarix. Wara li jitbaxxa l-privileġġ id-daemon mhuwiex aktar root, għalhekk kull direttorju ġenitur jeħtieġ permess ta' tfittxija għal dak il-kont, u l-fajl tal-klijent innifsu jeħtieġ permess tal-qari. Bit ta' eżekuzzjoni wieħed nieqes fuq il-ġenitur biżżejjed biex jaħbi l-fajl, u l-iżball jidher biss bħala klijent li bil-kwiet jieħu l-pool default.

namei jistampa l-permess ta' kull komponent bl-ordni, li huwa aktar malajr milli tiċċekkja d-direttorji wieħed wieħed:

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

Imbagħad ipprova l-qari bħala l-kont tas-servizz u mhux bħalek innifsek:

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

Jekk l-unit juża chroot, id-direttorju jrid ikun jeżisti ġewwa l-ħabs, u l-mogħdija fil-konfigurazzjoni tiġi interpretata wara li jiġi applikat chroot. Fajl li jinsab fuq il-host barra l-ħabs ma jidhirx minn ġewwa.

Ikkonferma t-tfittxija minflok tħassib

Għolli l-livell tal-log għal restart wieħed u aqra x'jgħid is-server dwar l-għażliet speċifiċi għall-klijent. F'verb 4 id-daemon jirrapporta l-konfigurazzjoni għal kull klijent li impurtà, għalhekk linja nieqsa hija prova diretta li ma nqara l-ebda fajl għal dik il-konnessjoni.

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

Ħaddem dan fil-quddiem fuq port żejjed u qabbad klijent wieħed. Dan ineħħi lil systemd kompletament mill-istampa: jekk l-overrides jidhru hawn u mhux taħt is-servizz, id-differenza hija l-kuntest tal-unit, mhux il-fajl.

Iddeċiedi x'għandu jiġri meta l-ebda fajl ma jaqbel. Mingħajr ccd-exclusive il-klijent jiġi ammess biss bis-settings tal-pool globali, u dan huwa l-falliment sieket deskritt hawn fuq. Magħha, fajl nieqes isir konnessjoni miċħuda, u dak iċ-ċaħda huwa eħfef biex tinnotaha imma iebsa biex tiddibuggjaha taħt tagħbija.

Sewwi, erġa' ibda, ivverifika

Agħmel id-direttorju assolut fil-konfigurazzjoni u żommu hekk. Il-mogħdijiet relattivi huma siguri biss meta l-unit jiffissa d-direttorju tax-xogħol, u l-iffissar huwa biċċa li tiċċaqlaq żejda li xi ħadd se jneħħi aktar tard.

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

Erġa' ibda l-istanza, erġa' qabbad klijent magħruf u aqra l-indirizz li rċieva flimkien mar-rotot imbuttati lejh. Jekk l-indirizz jaqbel mal-linja ifconfig-push fil-fajl ta' dak il-klijent, it-tfittxija ħadmet. Jekk il-klijent għadu jaqa' fil-pool ġenerali, mur lura għall-għadd ta' linji fil-log: żero imports ifisser li il-mogħdija jew l-identità huma ħżiena, import wieħed b'kontenut ħażin ifisser li qed tedita fajl differenti minn dak li jaqra d-daemon.

Mur lura billi tirrestawra l-unit u l-konfigurazzjoni preċedenti flimkien, imbagħad erġa' ibda. Iċ-ċertifikati m'għandhomx jiġu maħruġa mill-ġdid għal xejn minn dan, u li tittratta problema ta' direttorju bħala problema ta' kredenzjali hija l-mod kif tiswija ta' ħames minuti ssir tieqa ta' manutenzjoni.

Artikli relatati