PiVPN ń kọ ìṣètò olùsìn àti profaili olùlò, kí ó sì jáde; kò ní di ìlànà tí ó ń gbé ìrìnnà rẹ rárá. Nítorí náà ìkọ̀wé-ọwọ́ tí kò ṣẹ́yọ, olùlò tí ń pe ibi-ìparí tí kò tọ́, tàbí iṣẹ́ tí ó padà wá ní àìtọ́ lẹ́yìn àtúnbí kò lè ṣàlàyé láti inú àwọn àkójọ ìtẹ̀wọ́bọ̀ náà. Àwọn àmì wọ̀nyí jẹ́ ti daemon OpenVPN tí ń ṣiṣẹ́ báyìí, ti ìṣètò tí daemon yẹn gbé wọlé ní tòótọ́, àti ti àkọsílẹ̀ tí a tọ́ka sí. Àwọn àṣẹ mẹ́rin tí ń kà nìkan sábà yanjú èyí, kò sì sí ọ̀kan nínú wọn tí ó yí ìwé-ẹ̀rí tàbí kọ́kọ́rọ́ rẹ padà.

Olùrànlọ́wọ́ àti daemon jẹ́ ohun kan ọ̀tọ̀ọ̀tọ̀

Ìdàrú náà rọrùn láti ṣàlàyé: àkójọ kan ní fáìlì tí olùrànlọ́wọ́ dá, fáìlì tí daemon ń kà, àti nígbà míràn ẹ̀dà àtijọ́ ti àwọn méjèèjì. Olùrànlọ́wọ́ jẹ́ script ìpèsè. Ó ń fi àwọn àkójọ sínú ẹ̀rọ, ó ń kọ àwọn fáìlì ẹ̀ka, ó sì ń tẹ profaili olùlò jáde, lẹ́yìn náà iṣẹ́ rẹ̀ parí. Ohun tí ó kù ni àkọsílẹ̀ nínú olùṣàkóso iṣẹ́ àti ìlà àṣẹ kan.

Lórí ẹ̀rọ systemd, bẹ̀rẹ̀ láti ẹ̀ka tí ń ṣiṣẹ́ dípò àkọsílẹ̀ àkójọ. Orúkọ náà dúró lórí pípaṣẹ́: àwọn àwòrán Debian àti Raspberry Pi OS sábà ń pèsè ẹ̀dà àpẹẹrẹ bíi openvpn-server@server, nígbà tí àwọn ìfiṣe àtijọ́ ń lo openvpn@server. Béèrè lọ́wọ́ olùṣàkóso èwo ni ń ṣiṣẹ́ dípò kí o ṣe àfojúsùn láti orúkọ fáìlì.

systemctl list-units --type=service --all | grep -i openvpn
systemctl cat openvpn-server@server

Ka ExecStart= nínú ìjáde yẹn. Ó ń dárúkọ fáìlì ìṣiṣẹ́ àti àwọn àṣàyàn tí olùṣàkóso ń gbé jáde ní tòótọ́, pẹ̀lú ọ̀nà --config èyíkéyìí; fáìlì ìṣètò tí ó wà lẹ́gbẹ̀ẹ́ tí kò sí àṣẹ tí ń tọ́ka sí i kì í ṣe apá kan ti ojú-ọ̀nà tí ń ṣiṣẹ́.

Tẹ̀lé ẹ̀wọ̀n ìṣètò tí daemon yanjú

OpenVPN kì í ṣe àyẹ̀wò àkójọ fún àwọn ètò. Ó ń ka fáìlì tí a fi --config fún un, ó ń tẹ̀lé config ìtọ́nisọ́nà èyíkéyìí nínú rẹ̀, ó sì ń lo àwọn àṣàyàn ìlà àṣẹ. Ìwé ìtọ́sọ́nà 2.6 ṣàpèjúwe ìtòlẹ́sẹẹsẹ yẹn, ó sì ṣe pàtàkì nígbà tí fáìlì méjì kò bá gbà lórí ibùdókọ̀, ẹ̀rọ tàbí cipher.

Kọ́kọ́ jáde ìpè gidi náà, lẹ́yìn náà wo àwọn ìtọ́nisọ́nà tí ń pinnu ìdánimọ̀ àti ìwọlé. Àwọn àṣẹ méjèèjì jẹ́ kíka nìkan àti ó ní ààbò lórí olùsìn alààyè, bí ó tilẹ̀ jẹ́ pé èkejì ń tẹ àwọn ọ̀nà jáde tí o lè má fẹ́ nínú tíkẹ́ẹ̀tì gbogbogbò.

systemctl show -p ExecStart --value openvpn-server@server
grep -E '^(config|dev|proto|port|local|log|log-append|status|ca|cert|key|tls-auth|tls-crypt)' /etc/openvpn/server/server.conf

Fáìlì .ovpn nínú àkójọ ilé jẹ́ ohun-ìṣe olùlò. Daemon olùsìn kì í kà á rárá, nítorí náà ṣíṣe àtúnṣe fáìlì yẹn láti tún àìṣeyọ ìkọ̀wé-ọwọ́ ẹ̀gbẹ́ olùsìn kò ní àbájáde.

Àwọn ìfikún ni idẹkùn mìíràn. Ìlà config kan ń fa fáìlì kejì wọlé tí a ti ń ṣiṣẹ́ lórí àwọn àṣàyàn rẹ̀ ní ibẹ̀, nítorí náà ìtọ́nisọ́nà iye-ọ̀kan tí ó dé lẹ́yìn lè borí ohun tí fáìlì àkọ́kọ́ dàbí ẹni pé ó ń sọ. Bí fáìlì tí ó hàn bá dàbí ẹni pé ó tọ́ tí daemon sì ṣì ń hùwà yàtọ̀, ka fáìlì tí a fi kún un kí o tó yí ohunkóhun padà.

So àkọsílẹ̀ mọ́ ìlànà náà, kì í ṣe mọ́ àṣìṣe tí o rántí

Àwọn ibi-ìlọ àkọsílẹ̀ méjì wọ́pọ̀, ọ̀kan nínú wọn nìkan ni journal. Pẹ̀lú log-append tí a gbé kalẹ̀, daemon ń kọ sínú fáìlì yẹn, journal sì ń pa díẹ̀ mọ́ yàtọ̀ sí àwọn ìlà ìbẹ̀rẹ̀. Láìsí rẹ̀ journalctl ni orísun àwọn ìṣẹ̀lẹ̀.

journalctl -u openvpn-server@server -n 80 --no-pager

So ìgbìyànjú ìsopọ̀ kan mọ́ fèrèsé àkókò kan. Ṣàkọsílẹ̀ ibi-ìparí olùlò, lẹ́yìn náà ka àwọn ìṣẹ̀lẹ̀ olùsìn láti àwọn ìṣẹ́jú-àáyá yẹn. Ìkọ̀wé-ọwọ́ TLS tí kò dé ìpààrọ̀ ìwé-ẹ̀rí rárá ń tọ́ka sí ìwọlé tàbí àìbáramu protocol, nígbà tí ìkọ̀sílẹ̀ ìjẹ́rìí ń dé lẹ́yìn tí a ti gbà àwọn àlẹ̀mọ́ ojú-ọ̀nà.

Àkọsílẹ̀ àtijọ́ kò fi ohunkóhun hàn nípa profaili tí o gbà lẹ́yìn ìṣẹ́jú márùn-ún sẹ́yìn. Tún fáìlì olùlò ṣe, sopọ̀ lẹ́ẹ̀kan, kí o sì ka àwọn ìlà tí ó farahàn nígbà ìgbìyànjú yẹn nìkan.

Ṣàkọsílẹ̀ àìṣeyọ àkọ́kọ́ tí ó ṣe pàtó, kì í ṣe èyí tí ó gbẹ̀yìn tí ó wọ́pọ̀. Àṣìṣe bind, ìpààrọ̀ òde tí kò dáhùn, ìkọ̀sílẹ̀ ìwé-ẹ̀rí àti ìkọ̀sílẹ̀ àkọọ́lẹ̀ ń gbé ọ lọ sí ìpele ọ̀tọ̀ọ̀tọ̀, ìparí àkókò ní ìparí sì sábà fi ìṣẹ̀lẹ̀ wíwúlò tí ó wà lókè pamọ́.

Àtúntò ojú-ọ̀nà kì í ṣe ìgbésẹ̀ àyẹ̀wò

Ọ̀nà kúkúrú tí ó ń fà àfẹ́ ni láti gbé ojú-ọ̀nà kejì tí ó rọrùn: kọ́kọ́rọ́ ìdúró, kò sí ìwé-ẹ̀rí, kò sí ìjẹ́rìí àfikún. Yóò sopọ̀ nígbà púpọ̀, yóò sì fi kìkì pé ẹ̀rọ méjì lè gbé UDP tàbí TCP kọjá láàárín ara wọn hàn. Kò sọ ohunkóún nípa ìdí tí ìgbékalẹ̀ pẹ̀lú ìwé-ẹ̀rí fi ń kùnà, ó sì ń fi ìdákẹ́jẹ́ yí àwòrán ààbò tí a ní kí o pa mọ́.

Bákan náà ni tls-auth tàbí tls-crypt dídíná, verify-x509-name mímúlẹ̀, tàbí fífi kókó kejì sílẹ̀ fún ipò àwọ̀ ewé. Ojú-ọ̀nà tí ó sopọ̀ nítorí pé a yọ ìjẹ́rìí kúrò jẹ́ ẹ̀rọ mìíràn, kì í ṣe èyí tí a túnṣe.

Ṣe àyípadà kan tí ó ní ààlà ní ìpele tí àkọsílẹ̀ dárúkọ, tún ẹ̀ka yẹn ṣe, kí o sì tún ìgbìyànjú ìsopọ̀ kan náà ṣe. Èyí ń pa ìfiwéra mọ́ ní òtítọ́, ó sì ń fi àyípadà tí o lè yí padà sílẹ̀.

Ohun tí a ó fi lé ẹni tí ó kàn

Ṣàkọsílẹ̀ àwọn òtítọ́ mẹ́rin nígbà tí o ṣì ní wọn: ẹ̀dà OpenVPN láti openvpn --version, ẹ̀ka tí ń ṣiṣẹ́, ẹ̀wọ̀n ìṣètò pẹ̀lú àwọn ìfikún rẹ̀, àti fèrèsé àkọsílẹ̀ tí ó bo ìgbìyànjú kan. Àwọn mẹ́rẹ̀ẹ̀rin yẹn yí ẹ̀dùn ọkàn àìdánilójú padà sí ọ̀ràn tí a lè tún ṣe.

Pa dátà kíkórò mọ́ kí o tó pín. Àwọn kọ́kọ́rọ́ àdáni, auth-user-pass fáìlì, ohun-èlò kọ́kọ́rọ́ ìdúró àti àwọn àkójọ olùlò kíkún kò yẹ kí ó wà nínú tíkẹ́ẹ̀tì; orúkọ àwọn àṣàyàn àti ìrísí ẹ̀wọ̀n sábà tó fún ojú méjì kejì.

Bí ẹ̀wọ̀n náà bá wà ní àìléwu tí àkọsílẹ̀ sì ṣì ń tọ́ka sí nẹ́tíwọ́kì, ìgbésẹ̀ tí ó kàn ni ọ̀nà láàárín olùlò àti olùsìn, kì í ṣe ìfiṣe mìíràn. Ìyẹn ni apá kan ṣoṣo ti ìtàn tí olùrànlọ́wọ́ kò ní rárá.

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