Ṣe OpenVPN kò bẹ̀rẹ̀ láìsí ìṣòro? Wo journal
Jíjáde ní ìdákẹ́jẹ́ lórí Ubuntu sábà máa ń túmọ̀ sí pé ìfiránṣẹ́ lọ síbòmíràn tàbí pé unit kò tíì ṣiṣẹ́ rárá. Kọ́kọ́ ṣàyẹ̀wò orúkọ instance, journal àti binary.
Àṣẹ náà padà wá, iṣẹ́ náà fi hàn pé ó kùnà, kò sì sí ohun tó dà bí àlàyé tó dé ojú-ìkàwé. Ìdákẹ́jẹ́ yẹn ni àmì tí àwọn ènìyàn ń pè ní «OpenVPN kò bẹ̀rẹ̀», kò sì fi hàn pé ètò náà kú láìsí pé ó sọ ohunkóhun. Ó túmọ̀ sí pé ìfiránṣẹ́ náà lọ sí ọ̀nà tí ìwọ kò kà, tàbí pé ohun tí ìwọ bẹ̀rẹ̀ kì í ṣe ohun tí ìwọ ṣètò. Àwọn ìṣẹ̀lẹ̀ méjèèjì ni a lè ṣàyẹ̀wò ní kéré ju ìṣẹ́jú kan lọ bí ìwọ bá dá ṣíṣe àkọsílẹ̀ náà gẹ́gẹ́ bí ẹni tí a fẹ̀sùn kàn.
Àwọn ibi mẹ́rin ni ó ń gba àbájáde: journal ti unit, plugin tí ó ni ìsopọ̀ náà, ìparí kejì ti ihò náà, àti binary tó yàtọ̀ sí èyí tí ìwọ rò pé ó ń ṣiṣẹ́. Ọ̀kọ̀ọ̀kan ní àyẹ̀wò rẹ̀.
Ìdákẹ́jẹ́ túmọ̀ sí pé ìwọ kò wo ọ̀nà tó tọ́
Ìpè ní iwájú ń tẹ̀ jáde sí ojú-ìkàwé rẹ. Unit ń tẹ̀ jáde sí journal, unit tó kùnà sì lè jáde kí ó tó kọ ohunkóhun bí ìkùnà bá wà nínú bí wọ́n ṣe bẹ̀rẹ̀ rẹ̀, kì í ṣe nínú ohun tí wọ́n sọ fún un. Ìyàtọ̀ yìí ṣe pàtàkì: kò sí àkọsílẹ̀ nínú journal túmọ̀ sí pé ìlànà náà kò ṣiṣẹ́ rárá, nígbà tí àkọsílẹ̀ kan tí ó jáde tẹ̀lé e túmọ̀ sí pé ó ṣiṣẹ́ ó sì kọ ohun kan.
systemctl status openvpn-client@office
journalctl -u openvpn-client@office -b --no-pager
Fi systemctl show -p Result -p ExecMainStatus openvpn-client@office kún láti ya ìjáde mímọ́ kúrò nínú àmì. Ipò 1 pẹ̀lú Result=exit-code jẹ́ ìpinnu ètò; Result=signal tàbí àkókò ìdúró ń tọ́ka sí àyíká lọ́nà mìíràn, kò sì sí ìṣàtúnṣe àkọsílẹ̀ tó lè yí i padà. Kọ àwọn iye méjèèjì kí o tó tún ohunkóhun bẹ̀rẹ̀, nítorí pé àtúnbẹ̀rẹ̀ ń pa ipò ìgbà díẹ̀ tí ó dá wọn.
Orúkọ instance jẹ́ apá kan ọ̀nà
Unit àwòrán tí a ti pọ̀ kì í gba ọ̀nà fáìlì. Ó gba orúkọ instance, a sì fi orúkọ náà kún àkójọpọ̀ láti wá àkọsílẹ̀ náà: office ní a yanjú sí /etc/openvpn/client/office.conf nínú àpò Debian àti Ubuntu. Fáìlì tí a ń pè ní office-v2.conf, tí a bẹ̀rẹ̀ gẹ́gẹ́ bí @office kì í kà rárá, unit sì jáde ní ìdákẹ́jẹ́ nítorí pé ní ojú-ìwòye rẹ̀ kò sí ohun tó yẹ kí ó ṣe. Àkójọpọ̀ ìwákiri yàtọ̀ láàrin ipò client àti server, nítorí náà àṣìṣe kan náà ń tọ́ka síbòmíràn pátápátá nígbà tí o bá yí àwòrán padà.
Àìbámu yẹn ni orísun tó wọ́pọ̀ jùlọ ti ìkùnà ìdákẹ́jẹ́, kò sì hàn nínú àkọsílẹ̀ nítorí pé àkọsílẹ̀ náà dára. Kọ ohun tí ó wà gan-an sì fi àwọn orúkọ méjèèjì wé lẹ́kọ̀ọ̀kan lẹ́tà, pẹ̀lú àfikún àti ìmúdàgba eyíké tí àpò náà ń retí.
ls -l /etc/openvpn/client/
systemctl list-units 'openvpn*' --all
Bí unit bá ti ṣí, ṣùgbọ́n kò sí instance tí a kọ sínú rẹ̀, ìṣí náà fúnra rẹ̀ lè tọ́ka sí orúkọ tí a yí padà lẹ́yìn náà. Ṣíṣí instance tó tọ́ lẹ́ẹ̀kan sí i sábà tó, fáìlì unit àtijọ́ tó kù sì yẹ kí a pa á kí ó má baà da ẹni tó ń bọ̀ lẹ́nu. Fáìlì unit tó kù jẹ́ nǹkan kékeré tí ń ná ẹnìkan wákàtí kan lẹ́yìn náà.
Nígbà tí plugin bá ni ihò náà, ojú-ìkàwé kò rí nǹkan kan
Ìsopọ̀ tí ó bẹ̀rẹ̀ láti applet ojú tabili jẹ́ ti NetworkManager, àbájáde OpenVPN rẹ̀ sì ń lọ sínú journal ti iṣẹ́ yẹn kì í ṣe sínú shell tí o ṣí. Ṣíṣe client pẹ̀lú ọwọ́ kí o má sì rí nǹkan kan jẹ́ ohun tí a retí nínú ìṣètò yẹn, nítorí pé ìlànà tí a fi ọwọ́ ṣe kì í ṣe èyí tí ń gbé ìsopọ̀ náà.
Wá iṣẹ́ tí ó ni í nínú journal, lẹ́yìn náà tún ìtúpalẹ̀ náà ṣe pẹ̀lú ìsọfúnni tó ìwọ lè kà. Àwọn àṣẹ méjèèjì tó wà nísàlẹ̀ ń wo àwọn olówó orí tó yàtọ̀ ti ìkùnà kan náà.
journalctl -b -u NetworkManager --no-pager | grep -i -A3 openvpn
openvpn --config /etc/openvpn/client/office.conf --verb 4 --log /tmp/ovpn.log
Ìṣiṣẹ́ àdáwà jẹ́ fún kíkà àwọn ìfiránṣẹ́, kì í ṣe fún rírókè sí ìsopọ̀ tí a ń ṣàkóso, àwọn méjèèjì sì yàtọ̀ lẹ́yìn náà: ìsopọ̀ DNS, àwọn ọ̀nà àti àkókò ìgbésí ayé jẹ́ ti plugin. Fífi àṣìṣe ìtúpalẹ̀ tọ́ nínú ìṣiṣẹ́ àdáwà kò tọ́ ìyọnjú orúkọ lẹ́ẹ̀kan náà lẹ́yìn tí applet bá gbà ìṣàkóso, nítorí náà pa àwọn àkíyèsí méjèèjì mọ́ lọ́tọ̀.
Binary méjì, PATH kan
Ìkọ́lẹ̀ tí a fi ọwọ́ kọ́ sí abẹ́ /usr/local ń borí nínú ìpè shell, nítorí pé /usr/local/sbin ń wá ṣáájú /usr/sbin nínú PATH àkọ́kọ́ ti Ubuntu. Unit kì í lo PATH rẹ; ó ń ṣiṣẹ́ ọ̀nà pípé tí a kọ sínú ExecStart. Nítorí náà ẹ̀dà tó ń ṣiṣẹ́ nínú ojú-ìkàwé rẹ àti ẹ̀dà tó kùnà gẹ́gẹ́ bí iṣẹ́ lè jẹ́ àwọn ètò tó yàtọ̀ gan-an.
Fi àwọn méjèèjì wé kí o tó tún ohunkóhun kọ́. Àṣẹ kẹta ni èyí tí ó ń pinnu àríyànjiyàn náà.
command -v openvpn
whereis openvpn
systemctl cat openvpn-client@office | grep ExecStart
Ìyàtọ̀ àyíká mìíràn tún fi ara pamọ́ ní ibi kan náà. Unit tí a pọ̀ ń gbára lé àkójọpọ̀ àkókò ìṣiṣẹ́ lábẹ́ /run, tí systemd ń dá fún un; unit àròyé tí a fi ọwọ́ kọ tí ó fi ètò yẹn sílẹ̀ lè kùnà kí ó tó ṣí fáìlì kan pàápàá, ìkùnà sì dà bí ìkọ̀sílẹ̀ gbogbogbò tí kò ní ìfiránṣẹ́ OpenVPN kankan.
Àwọn ìkùnà tí client kò lè ròyìn
Àwọn àbájáde kan ni a ń pinnu ní ìparí tó jìnnà. Bode tí ó ń dáhùn pẹ̀lú ipò HTTP tí ó sì ti ìsopọ̀ náà ti sọ fún ọ nípa ipò tirẹ̀, ìgbésẹ̀ tó wúlò tó kàn sì ni log rẹ̀ tàbí àkọsílẹ̀ tó wà lẹ́yìn ẹ̀rí náà, kì í ṣe àwọn fáìlì agbègbè rẹ. Nínú ipò yẹn kò sí nǹkan agbègbè tó bàjẹ́, ṣíṣàtúnṣe àkọsílẹ̀ láti ṣe àtúnbọ̀ sì ń mú àyẹ̀wò tó kàn ṣòro. Ka log yẹn kí o tó fọwọ́ kan ìṣètò client.
Ìṣẹ̀lẹ̀ ìdákẹ́jẹ́ mìíràn ni client tó ń ṣiṣẹ́ dáadáa. Ihò ní ipò client kì í gbọ́ orí ibùdó rárá, nítorí náà àyẹ̀wò tó ń retí olùgbọ́ tó ṣí kò ní ròyìn nǹkan kan yóò sì dà bí ìkùnà. Jẹ́rìí ipò tí ìwọ bẹ̀rẹ̀ kí o tó pinnu láti inú àkọsílẹ̀ ibùdó tó ṣófo.
Ṣiṣẹ́ lórí àwọn ìpele lẹ́sẹẹsẹ: ṣé unit wà àti ṣé orúkọ instance tọ́, ṣé nǹkan kan dé journal tàbí fáìlì --log, binary àti àkọsílẹ̀ wo ni ó ṣiṣẹ́ gan-an, àti ṣé ìkùnà náà wà níbílẹ̀ tàbí ní ọ̀nà jíjìn. Gbogbo ìdáhùn ń yọ ìpele kan kúrò. Bíbẹ̀rẹ̀ láti àkọsílẹ̀ túmọ̀ sí kíkọ fáìlì tí ó lè máà ti ṣí rárá.