Iṣẹ́ máa ń bẹ̀rẹ̀, alábàákẹ́gbẹ́ kan máa ń so, kò sì sí ipa tí ó máa ń farahàn ní ẹ̀gbẹ́ olùsìn rárá. Tàbí daemon kọ̀ láti bẹ̀rẹ̀ ó sì dárúkọ àṣẹ tí kò lè ṣe. Àwọn àbáyọrí méjèèjì máa ń tẹ̀lé àwọn ìlà mẹ́ta kan náà, tí wọ́n sábà máa ń dà papọ̀ láti inú ìtọ́sọ́nà ìlélẹ̀: yípadà sí àkọsílẹ̀ tí kò ní ààyè, fi ẹgbẹ́ sílẹ̀, àti yí gbòǹgbò ètò fáìlì padà. Ọ̀kan ṣoṣo nínú mẹ́ta ni ó máa ń fi àwọn fáìlì pamọ́, ọ̀kan ṣoṣo sì ni nínú wọn tí ó máa ń gba ààyè láti yí tabili ipa padà. Pínpín wọn ni ọ̀nà tí ìwọ yóò fi kọ́ ìlà tí ìwọ fẹ́ gan-an.

Ohun tí ẹ̀wọ̀n máa ń yọ kùrò tí daemon ṣì nílò

Yíyí gbòǹgbò padà máa ń ṣẹlẹ̀ lẹ́yìn ìbẹ̀rẹ̀, nítorí náà daemon máa ń pa gbogbo ohun tí ó ti ṣí mọ́, ó sì máa ń pàdánù gbogbo ohun tí yóò ṣí lẹ́yìn náà. Olùrànlọ́wọ́ kankan tí ìsopọ̀ bá ṣe lẹ́yìn àkókò yẹn gbọ́dọ̀ wà nínú gbòǹgbò tuntun, pẹ̀lú àwọn ilé-ìkàwé tí ó ń gbé wọlé. Ẹ̀wọ̀n tí a kọ́ láti inú fáìlì ìṣètò àti ẹ̀rí kò ní ọ̀kan nínú àwọn méjèèjì.

Yípadà sí àkọsílẹ̀ tí kò ní ààyè jẹ́ ìdíwọ́ ọ̀tọ̀. Ìlànà tí ó ti fi root sílẹ̀ lè má lè yí àwọn ipa padà tàbí gbé interface ró pàápàá nígbà tí binary wà níbẹ̀ gan-an, nítorí náà a gbọ́dọ̀ ṣàyẹ̀wò àwọn ìkùnà méjèèjì lọ́tọ̀.

Àwọn ẹ̀mí mẹ́ta ni ó máa ń pinnu àtúnṣe tí ìwọ nílò

Ẹ̀mí àkọ́kọ́ ni bí ìkọ́ rẹ ṣe ń fi àwọn ipa sínú. Àwọn OpenVPN ìmújáde tuntun máa ń ṣètò interface àti tabili ipa nínú ìlànà, nígbà tí àwọn àkójọ àtijọ́ àti àwọn ìṣètò tiwọn máa ń gbára lé àwọn irinṣẹ́ ìta tàbí àwọn script up àti down. Bí log bá dárúkọ àṣẹ, irinṣẹ́ ìta wà nínú ọ̀ràn, ẹ̀wọ̀n sì ń fi í pamọ́. Bí log bá fi àṣìṣe ààyè hàn, àkọsílẹ̀ ni ìṣòro.

Ẹ̀mí kejì ni ìtọ́jú. Ẹ̀wọ̀n tí ó ní àwọn binary tí a dà gbọ́dọ̀ tún ṣe nígbà gbogbo tí a bá ṣe àtúnṣe àkójọ tí ó ń pèsè wọn, bí bẹ́ẹ̀ kọ́ àtúnṣe àkọ́kọ́ yóò fi ọ̀nà àbẹ̀mí tí ó ti já sílẹ̀ lẹ́yìn. Ẹ̀mí kẹta ni bóyá ìṣàkóso kan pàtó nílò chroot gan-an; bí ìbéèrè náà bá jẹ́ nípa pínpín ààyè, yíyí àkọsílẹ̀ nìkan lè tó.

Signal in the logOther side of the boundaryRepair direction
Command not found after startupBinary and its libraries absent inside the new rootPopulate the jail, or drop the chroot line
Operation not permittedAccount lost the privilege to edit routesKeep the account privileged, or pre-create routes elsewhere
No such deviceJail lacks the tun device nodeCreate the node inside, or open it before the root change

Ohun tí ẹ̀wọ̀n tí ó ń ṣiṣẹ́ gbọ́dọ̀ ní

Ẹ̀wọ̀n tí ó ń ṣe àwọn àṣẹ nílò binary, gbogbo ilé-ìkàwé tí ó so mọ́, àti gbogbo node ẹ̀rọ tí daemon máa ń ṣí pẹ́. Dà àwọn ege náà kí o sì dán wọn wò láìsí VPN nínú àwòrán:

ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up

Àṣẹ àkọ́kọ́ máa ń ṣe àkójọ àwọn ohun tí ó gbára lé, ìyẹn sì ni ohun tí àwọn ènìyàn máa ń fò. Binary tí a dà tí kò rí ilé-ìkàwé máa ń kùnà pẹ̀lú ìfiránṣẹ́ tí ó yàtọ̀ sí binary tí ó sọnù, àwọn méjèèjì sì dàbí ìkùnà OpenVPN nígbà tí a bá kà wọ́n láti ẹ̀gbẹ́ alábàákẹ́gbẹ́. Ṣíṣe àṣẹ náà pẹ̀lú ọwọ́ nínú ẹ̀wọ̀n máa ń tún ìkùnà náà ṣe láìsí àtúnbẹ̀rẹ̀ iṣẹ́.

Dà ìṣètò, àwọn ẹ̀rí àti CRL kan náà sínú ẹ̀wọ̀n pẹ̀lú, nítorí fáìlì tí daemon ń retí láti kà lẹ́ẹ̀kan sí i lẹ́yìn ìbẹ̀rẹ̀ kò ní rí nígbà tí gbòǹgbò bá yí padà. Kọ ohun tí o dà sílẹ̀, nítorí àtúnṣe tí ó tẹ̀le àkójọ nẹ́tíwọ́kì yóò rọ́pò àwọn ìpilẹ̀, yóò sì fi ẹ̀wọ̀n sílẹ̀ lórí ẹ̀dà àtijọ́.

Kúkú dín ìlélẹ̀ kù

Bí ẹ̀wọ̀n bá wà kìkì nítorí pé ìtọ́sọ́nà kan sọ bẹ́ẹ̀, yíyọ ìlà kan náà kùrò nígbà tí a pa àwọn ìdíwọ́ àkọsílẹ̀ mọ́ jẹ́ àbáyọrí tí ó lè gbèjà. Daemon máa ń pa ìwòye rẹ̀ lórí ètò fáìlì mọ́, ó sì máa ń pàdánù ìṣòro náà, ìrẹ̀lẹ̀ ààyè sì ṣì ń yọ root kùrò nínú ìlànà tí ó pẹ́.

Kọ ohun tí ó kù, àti ìdí. Ìṣètò tí ó pàdánù ìṣàkóso ní ìdákẹ́jẹ́ láìsí àkọsílẹ̀ ni bí ìlélẹ̀ ṣe ń yọ kùrò, àyẹ̀wò tí ó tẹ̀le yóò sì béèrè ìdí tí ìlà náà fi pòórá.

Pín àwọn ìlà mẹ́ta kí o tó yan

Dà ìṣètò náà, pa àwọn ìtọ́nisọ́nà mẹ́tẹ̀ẹ̀ta kùrò, kí o sì jẹ́rìí pé alábàákẹ́gbẹ́ ń so àti pé àwọn ipa tí a retí ń farahàn. Lẹ́yìn náà tún gbé àwọn ìlà àkọsílẹ̀ nìkan ṣiṣẹ́, lẹ́yìn náà chroot nìkan. Ìgbésẹ̀ tí ọ̀nà àbẹ̀mí ti já máa ń fi ààlà hàn, ìwọ sì yẹra fún kíkọ́ ẹ̀wọ̀n tí kò ti ṣe ìdí kan rí.

Nígbà tí ó bá tún ń ṣe ipa, ṣe ìpàdé alábàákẹ́gbẹ́ kan pẹ̀lú àlàyé tí ó pọ̀ sí i kí o sì ka ìlà tí ó dárúkọ àṣẹ tàbí ààyè tí ó kùnà. Ìlà yẹn níye lórí ju àkókò ìdúró tí alábàákẹ́gbẹ́ yóò ròyìn ní ìparí.

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