Òpópónà rẹ gòkè, alábàákẹ́gbẹ́ sì so pọ̀, ṣùgbọ́n àdírẹ́sì tí ó dúró ṣinṣin àti àwọn ipa-ọ̀nà tí o ti tì fún olùmúlò kan náà kò sí. Log kò sọ “file not found”, ìyẹn gan-an sì ni ó ń rán àwọn ènìyàn lọ ṣe àwọn ẹ̀rí tuntun. Nínú ọ̀pọ̀lọpọ̀ ìṣẹ̀lẹ̀ bẹ́ẹ̀, daemon ń ṣiṣẹ́ láti àpò mìíràn ju shell tí o ti dán wò lọ, àti client-config-dir kò tíì yanjú bí o ti rò rí. Àtúnṣe ni àtúnṣe ọ̀nà, kì í ṣe àtúntò àwọn ẹ̀rí ìdánimọ̀.

Ka unit kí o tó fi ọwọ́ kan ìṣètò

Bẹ̀rẹ̀ pẹ̀lú ìlànà tí ń ṣiṣẹ́ gan-an, kì í ṣe fáìlì tí o ṣàtúnṣe. Béèrè lọ́wọ́ systemd nípa ìlà ìṣiṣẹ́, àpò iṣẹ́ àti àkọsílẹ̀ tí ó ń sọ̀kalẹ̀ sí. Àwọn ìdáhùn mẹ́ta yẹn ń ṣàlàyé ọ̀pọ̀lọpọ̀ ìkùnà nínú ẹ̀ka yìí:

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

WorkingDirectory tí ó ṣófo túmọ̀ sí pé unit bẹ̀rẹ̀ nínú /, nítorí náà a ń wá client-config-dir ccd ojú-ìwé nínú /ccd. Àpò yẹn kì í fẹ́rẹ̀ẹ́ sí, daemon kò sì ka àìsí rẹ̀ sí ohun apanirun.

Fi èyí wé ìbẹ̀rẹ̀ ìbáraẹnisọ̀rọ̀ tí o lò nígbà ìdánwò, níbi tí àpò lọ́wọ́lọ́wọ́ shell rẹ ti jẹ́ àpò ìṣètò. Fáìlì kan náà, àwọn kókó ọ̀rọ̀ kan náà, ìyọsí ọ̀tọ̀ọ̀tọ̀ méjì.

Kí ni a ń yanjú ọ̀nà ojú-ìwé sí

A ń yanjú kókó ọ̀rọ̀ sí àpò iṣẹ́ ìlànà ní àkókò tí a bá lo àṣàyàn náà. Kò túmọ̀ sí “lẹ́gbẹ̀ẹ́ fáìlì ìṣètò tí mo fi --config kọjá”. OpenVPN yóò ka ìṣètò láti ọ̀nà pípé pẹ̀lú ìfẹ́, yóò sì ṣì yanjú àwọn iye ojú-ìwé níbòmíràn, ìyẹn gan-an sì ni ìdẹkùn níbí. Ìwé ìtọ́ni OpenVPN 2.6 sọ ìlànà náà lábẹ́ --client-config-dir àti lẹ́ẹ̀kan sí i lábẹ́ --cd.

Kókó ọ̀rọ̀ cd yí ipò yẹn padà kí a tó ka àwọn fáìlì mìíràn, nítorí náà unit tí ó ṣètò cd /etc/openvpn/server àti lẹ́yìn náà client-config-dir ccd yanjú sí /etc/openvpn/server/ccd. Bí o bá fi cd kún un, ṣàyẹ̀wò ìtòlẹ́sẹẹsẹ àwọn ìtọ́ni kí o sì rántí pé ó ń nípa lórí gbogbo ìtọ́kasí ojú-ìwé mìíràn nínú fáìlì kan náà.

Rìn ọ̀nà náà gẹ́gẹ́ bí àkọsílẹ̀ daemon

Ọ̀nà lè tọ́ síbẹ̀ kò lè kà. Lẹ́yìn ìsọ̀kalẹ̀ àǹfààní daemon kì í ṣe root mọ́, nítorí náà gbogbo àpò òbí nílò ẹ̀tọ́ ìwákiri fún àkọsílẹ̀ yẹn, fáìlì alábàákẹ́gbẹ́ fúnra rẹ̀ sì nílò ẹ̀tọ́ kíkà. Bítì ìṣiṣẹ́ kan tí ó ṣáka ní àpò òbí ti tó láti fi fáìlì náà pamọ́, àṣìṣe yóò sì hàn kìkì gẹ́gẹ́ bí alábàákẹ́gbẹ́ tí ó ń gba àdúrà àkọ́kọ́ ní ìdákẹ́jẹ́.

namei ń tẹ̀ ẹ̀tọ́ ẹ̀yà kọ̀ọ̀kan jáde ní ìtòlẹ́sẹẹsẹ, èyí sì yára ju ṣíṣàyẹ̀wò àwọn àpò lọ́kọ̀ọ̀kan:

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

Lẹ́yìn náà dán kíkà wò gẹ́gẹ́ bí àkọsílẹ̀ iṣẹ́, kì í ṣe gẹ́gẹ́ bí ìwọ fúnra rẹ:

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

Bí unit bá ń lò chroot, àpò náà gbọ́dọ̀ wà nínú ọgbà ẹ̀wọ̀n, a sì ń túmọ̀ ọ̀nà inú ìṣètò lẹ́yìn tí a ti lo chroot. Fáìlì tí ó wà lórí olùgbàlejò ní òde ọgbà ẹ̀wọ̀n kò hàn láti inú.

Fìdí ìwákiri múlẹ̀ dípò kí o ṣe àròsọ

Gbe ìpele log sókè fún àtúnbẹ̀rẹ̀ kan kí o sì ka ohun tí olùpín ń sọ nípa àwọn àṣàyàn àkànṣe fún alábàákẹ́gbẹ́. Ní verb 4 daemon ń jábọ̀ ìṣètò fún alábàákẹ́gbẹ́ kọ̀ọ̀kan tí ó ti gbé wọlé, nítorí náà ìlà tí ó ṣáka jẹ́ ẹ̀rí tààrà pé kò sí fáìlì tí a kà fún ìsopọ̀ yẹn.

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

Ṣe é ní iwájú lórí ibudo òfìfo kí o sì so alábàákẹ́gbẹ́ kan pọ̀. Èyí ń yọ systemd kúrò nínú àwòrán pátápátá: bí àwọn àtúnṣe bá farahàn níbí tí kò sì farahàn lábẹ́ iṣẹ́, ìyàtọ̀ wà nínú ipò unit, kì í ṣe fáìlì.

Pinnu ohun tí ó yẹ kí ó ṣẹlẹ̀ nígbà tí kò sí fáìlì tí ó bá mu. Láìsí ccd-exclusive a gba alábàákẹ́gbẹ́ pẹ̀lú àwọn ìṣètò àdúrà àgbáyé nìkan, ìyẹn sì ni ìkùnà ìdákẹ́jẹ́ tí a ṣàlàyé lókè. Pẹ̀lú rẹ̀, fáìlì tí ó ṣáka di ìsopọ̀ tí a kọ̀, ìkọ̀ yẹn sì rọrùn láti ṣàkíyèsí ṣùgbọ́n ó ṣòro láti ṣàtúnṣe lábẹ́ ẹrù.

Túnṣe, tún bẹ̀rẹ̀, fìdí múlẹ̀

Ṣe àpò náà ní pípé nínú ìṣètò kí o sì jẹ́ bẹ́ẹ̀. Àwọn ọ̀nà ojú-ìwé ní ààbò nìkan nígbà tí unit bá fi àpò iṣẹ́ mọ́lẹ̀, mímọ́lẹ̀ náà sì jẹ́ ẹ̀yà gbígbé mìíràn tí ẹnìkan yóò yọ kúrò lẹ́yìn.

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

Tún ìṣẹ̀lẹ̀ bẹ̀rẹ̀, tún so alábàákẹ́gbẹ́ tí a mọ̀ pọ̀, kí o sì ka àdírẹ́sì tí ó gbà pẹ̀lú àwọn ipa-ọ̀nà tí a ti tì sí i. Bí àdírẹ́sì bá bá ìlà ifconfig-push nínú fáìlì alábàákẹ́gbẹ́ yẹn mu, ìwákiri ṣiṣẹ́. Bí alábàákẹ́gbẹ́ ṣì ń já bọ́ sínú àdúrà gbogbogbò, padà sí kíkà àwọn ìlà log: ìgbéwọlé òdo túmọ̀ sí pé ọ̀nà tàbí ìdánimọ̀ kò tọ́, ìgbéwọlé kan pẹ̀lú àkóónú tí kò tọ́ túmọ̀ sí pé o ń ṣàtúnṣe fáìlì mìíràn ju èyí tí daemon ń kà lọ.

Padà sẹ́yìn nípa mímú unit àti ìṣètò tẹ́lẹ̀ padà papọ̀, kí o sì tún bẹ̀rẹ̀. A kò nílò láti tún àwọn ẹ̀rí jáde fún ohunkóhun nínú èyí, àti kíkà ìṣòro àpò sí ìṣòro ẹ̀rí ìdánimọ̀ ni ọ̀nà tí àtúnṣe ìṣẹ́jú márùn-ún ń di fèrèsé ìtọ́jú.

Àwọn àpilẹ̀kọ tó jọra