VPN nẹ́tíwọ́ọ̀kì ilé kò ní nǹkan láti ṣe nígbà tí kọ̀mpútà gbé ti wà lórí nẹ́tíwọ́ọ̀kì yẹn. Ọ̀nà kúkúrú tí ó ń fani mọ́ra ni àṣẹ ìmúrasílẹ̀ kan tí ó jáde pẹlu kóòdù tí kì í ṣe òdo; èyí máa ń mú kí unit kùnà ó sì máa ń jẹ́ kí gbogbo pátákó ìṣàkóso dàbí ẹni tí ó bàjẹ́. systemd ní ìtọ́sọ́nà fún irú ìpinnu yìí gan-an, ó sì ya fífo kọja pẹlu ìmọ̀ọ́nú sọ́tọ̀ kúrò nínu àṣìṣe gidi. Ṣíṣe é dáadáa jẹ́ pẹ̀lú kíkọ ohun tí kóòdù ìjáde kọ̀ọ̀kan túmọ̀ sí.

Ìdí tí ipò àkọ́kọ́ tí ó kùnà fi jẹ́ ìrísí tí kò tọ́

ExecStartPre ka ìjáde tí kì í ṣe òdo sí ìkùnà ìbẹ̀rẹ̀, èyí tọ́ fún àṣẹ tí ó ń múra iṣẹ́ sílẹ̀. Lílò ó gẹ́gẹ́ bí ipò máa ń jẹ́ kí ìpinnu ìlànà àti ìgbẹ́kẹ̀lé tí ó bàjẹ́ má ṣe ìyàtọ̀. ExecCondition wà kí unit lè kọ̀ láti bẹ̀rẹ̀ láìsí àmì ìkùnà.

Ìyàtọ̀ yẹn ṣe pàtàkì ní agogo mẹ́ta òru, nígbà tí ẹnikẹ́ni kò fẹ́ ṣàyẹ̀wò unit pupa tí ó ń hùwà bí a ti ṣe é. Unit tí ó kùnà tún fi àwọn àṣìṣe gidi pa mọ́ láàárín àwọn tí a mọ̀ọ́mọ̀ ṣe.

Kọ́kọ́ kọ àdéhùn kóòdù ìjáde

Kọ àdéhùn kí o tó kọ script. Ìjáde òdo túmọ̀ sí tẹ̀síwájú, ìjáde ọ̀kan túmọ̀ sí fo àwọn àṣẹ ìbẹ̀rẹ̀ tí ó kù kọja, ìjáde 255 sì túmọ̀ sí pé ipò fúnra rẹ̀ kò lè ṣiṣẹ́. Àwọn kóòdù láàárín méjì àti 254 sì máa ń túmọ̀ sí fífo kọja pẹ̀lú, èyí tí ó ṣòro láti gbàgbé nígbà tí olùrànlọ́wọ́ bá dá kóòdù àṣìṣe àìròtẹ́lẹ̀ padà. drop-in tí ó wà nísàlẹ̀ so olùrànlọ́wọ́ mọ́ orúkọ unit gidi.

[Service]
ExecCondition=/usr/local/libexec/should-start-home-vpn

Ṣàyẹ̀wò unit tí ó ń ṣiṣẹ́ fún àwọn ìtòlẹ́sẹẹsẹ SuccessExitStatus tàbí stop-post tí a jogún kí o tó ro pé ìtumọ̀ àkọ́kọ́ ni. Lẹ́yìn náà dán ọ̀kọ̀ọ̀kan àwọn àbájáde mẹ́ta wò pẹlu ìmọ̀ọ́nú.

Àmì nẹ́tíwọ́ọ̀kì kì í ṣe ẹ̀rí ibùdó

Àdírẹ́sì rúta tí ó lè dé tàbí MAC tí a mọ̀ lè dábàá nẹ́tíwọ́ọ̀kì tí ó tọ́, kò sì sí ọ̀kan nínu wọn tí ó fi èyí hàn. Nẹ́tíwọ́ọ̀kì mìíràn lè tún àdírẹ́sì kan náà lò, dátà ARP lè ti gbó, a sì lè ṣe àfarawé àwọn ìdánimọ̀. Wo ìwádìí náà gẹ́gẹ́ bí ìmúdára tí ó bá ìlànà mu, kì í ṣe àbájáde ìjẹ́rìí.

Pinnu ṣáájú ohun tí àìdánilójú túmọ̀ sí. Bíbẹ̀rẹ̀ VPN nígbà tí o kò dá ọ́ lójú jẹ́ àìléwu fún alákòóso tí yóò kàn kùnà láti so pọ̀; fífo kọja rẹ̀ nígbà tí o kò dá ọ́ lójú kì í ṣe àìléwu. Jẹ́ kí ìwádìí náà ní ààlà, kí o sì ka ìfarahàn tí ó ń ṣiṣẹ́ dípò kí o ro pé èyí àkọ́kọ́ nínu àkọsílẹ̀ ni. Ìwádìí tí ó ń dúró lórí jẹ́ èyí tí ó ń dá “rárá” lóhùn, nítorí unit ń dúró dè é.

Kọ àwọn àròjinlẹ̀ yẹn sẹ́gbẹ̀ẹ́ fáìlì unit kí ẹni tí ó kàn lè mọ ohun tí olùrànlọ́wọ́ gbà gbọ́. Àsọtẹ́lẹ̀ ní orí script ni ibi tí ó kéré jù láti tọ́jú wọn.

Gbà ìgbésẹ̀ láàárín àwọn nẹ́tíwọ́ọ̀kì

Ipò náà máa ń ṣiṣẹ́ nígbà tí iṣẹ́ bá bẹ̀rẹ̀, a kì í sì tún ṣe àyẹ̀wò rẹ̀ lẹ́yìn náà. Unit tí a fò kọja máa ń wà ní fífò kọja lẹ́yìn tí kọ̀mpútà bá kó lọ sí kafé, túnẹ́lì tí ó ń ṣiṣẹ́ sì máa ń wà ní ìrólẹ̀ lẹ́yìn tí kọ̀mpútà bá padà sí ilé. So àyípoyípo ìyípadà nẹ́tíwọ́ọ̀kì mọ́ ìpinnu ìbẹ̀rẹ̀ àti ìdúró nípasẹ̀ ẹ̀rọ ọ̀tọ̀ọ̀tọ̀.

systemctl cat home-vpn.service

Dán àwọn ipò mẹ́rin wò: ìbẹ̀rẹ̀ ní ilé, ìbẹ̀rẹ̀ ní òde, ìwádìí tí kò lè ṣiṣẹ́, àti ìgbésẹ̀ láàárín àwọn nẹ́tíwọ́ọ̀kì nígbà tí unit ń ṣiṣẹ́. Jẹ́ kí ìdí fífo kọja hàn nínu ìwé ìṣẹ̀lẹ̀ kí ìpinnu pẹlu ìmọ̀ọ́nú má baà dàbí ìkùnà ìjẹ́rìí. Ìtọ́kasí iṣẹ́ ṣàlàyé ìtumọ̀ ìjáde àti ẹ̀yà tí ó kéré jù.

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