Àtúnbẹ̀rẹ̀ ni ọ̀nà tí ó wọ́pọ̀ jùlọ tí àwọn ènìyàn ń fi dán pátákó ààbò wò, òun sì ni ìdánwò tí ó ń purọ́ jùlọ. Pátákó àmì nínú ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ náà kì í ṣe ju ìpinnu kan lọ; ohun tí ó ṣe pàtàkì ni bóyá ohun kan ń fi ìdínà múlẹ̀ láàárín àkókò tí ẹ̀ka nẹ́tíwọ́kì dìde àti àkókò tí ọ̀nà àbẹ̀wò náà ti wà ní tòótọ́. Ní Windows, ohun yẹn sábà máa ń jẹ́ àlẹ̀mọ́ nínú Windows Filtering Platform, ní Linux jẹ́ àkójọ ìlànà tí ẹ̀ka kan ń gbé wọlé, ní macOS jẹ́ ìdúró pf, ní Android jẹ́ àwọn àsíá tí ẹ̀rọ náà fúnra rẹ̀ ní fún ìgbà gbogbo-lórí àti títìpa. Àwọn ètò wọ̀nyí ń hùwà yàtọ̀ gidí ní àkókò àtúnbẹ̀rẹ̀, àti àwọn tí ó wà ní ìpele pẹpẹ nìkan ni ó wà ní ipò rẹ̀ kí ẹnikẹ́ni tó lè wọlé.

Àtúnbẹ̀rẹ̀ béèrè ìbéèrè mẹ́ta ọ̀tọ̀ọ̀tọ̀

Pín ìbéèrè náà. Lákọ̀ọ́kọ́, ṣé ìlànà wà lórí díìsìkì ní irú ọ̀nà tí ohun kan ń kà ní àkókò ìmúdàgba? Lẹ́ẹ̀kejì, ṣé òǹkàwé yẹn ń ṣiṣẹ́ kí ìrìnàjò kankan tó lè jáde? Lẹ́ẹ̀kẹta, ṣé ìlànà náà bo ìrìnàjò tí ó ṣe pàtàkì fún ọ, ìyẹn gbogbo ìlànà iṣẹ́, àwọn ìdílé àdírẹ́sì méjèèjì àti DNS. Bẹ́ẹ̀ ni sí èkíní àti rárá sí èkejì ń mú irú ìkùnà kan náà tí àwọn ènìyàn ń ròyìn gẹ́gẹ́ bí pátákó ààbò tí kì í dúró lẹ́yìn àtúnbẹ̀rẹ̀: ìrìnàjò ń sá jáde fún ìṣẹ́jú àáyá mélòó kan ní ìbẹ̀rẹ̀, kò sì sí ẹni tí ó ṣàkíyèsí títí ẹnìkan yóò fi lọ wò.

Pa àwọn ìpele mọ́ ní ọ̀tọ̀ọ̀tọ̀. Àkójọ ìlànà ògiri iná tí a ti fipamọ́, iṣẹ́ tí ó bẹ̀rẹ̀ ní àkókò ìmúdàgba àti ìpinnu ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ jẹ́ ohun mẹ́ta ọ̀tọ̀ọ̀tọ̀ pẹ̀lú ìgbésí ayé mẹ́ta ọ̀tọ̀ọ̀tọ̀. Ìpinnu náà ń ye àtúnbẹ̀rẹ̀ kọjá nítorí pé ó jẹ́ iye nínú fáìlì ètò. Àwọn ìlànà nìkan ni ohun tí ń dínà àwọn pákẹ́ẹ̀tì, àti wọ́n pòórá pẹ̀lú kẹ́nẹ́lì tí ó há wọ́n mọ́.

Wá ohun tí ó ń mú ìdínà padà

Ní Linux, àwọn ìlànà netfilter ń gbé inú kẹ́nẹ́lì. Kò sí ohun tí ń kọ wọ́n padà ní àkókò ìmúdàgba àyàfi tí o bá ti ṣètò rẹ̀: iptables-save pẹ̀lú netfilter-persistent, nftables.service ń gbé /etc/nftables.conf wọlé, tàbí ẹ̀ka systemd tí ń ṣiṣẹ́ àpilẹ̀kọ rẹ fúnra rẹ. Ṣàyẹ̀wò ohun tí ó wà ní ṣíṣí, kì í ṣe ohun tí o rántí pé o ṣètò.

systemctl is-enabled nftables netfilter-persistent 2>/dev/null
sudo nft list ruleset
sudo iptables -S OUTPUT

Àkójọ ìlànà òfo ní ìṣẹ́jú àáyá mélòó kan lẹ́yìn ìmúdàgba ni ìdáhùn sí ìbéèrè inú àkọlé. Ní Windows, béèrè lọ́wọ́ iṣẹ́ ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ bí ó ṣe ń bẹ̀rẹ̀, lẹ́yìn náà jáde ipò àlẹ̀mọ́ pẹpẹ nígbà tí ọ̀nà àbẹ̀wò wà ní ìsàlẹ̀.

Get-Service | Where-Object { $_.Name -match 'vpn' } | Select-Object Name, Status, StartType
netsh wfp show state

Àṣẹ kejì ń kọ wfpstate.xml sínú àkójọ ìwé ìsinsìnyí. Wá àwọn àlẹ̀mọ́ tí ó ní ìgbésẹ̀ ìdínà tí ó ti wà tẹ́lẹ̀ kí ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ tó so mọ́. Base Filtering Engine ń bẹ̀rẹ̀ ní kùtùkùtù ìmúdàgba, ó sì ń mú àwọn àlẹ̀mọ́ tí a fi àsíá àìlópin kún padà, ìdí nìyẹn tí àwọn pátákó ààbò kan fi ń dínà ìrìnàjò kí fèrèsé ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ kankan tó wà, tí àwọn mìíràn kò sì ṣe bẹ́ẹ̀. Ní macOS, sudo pfctl -s info ń ròyìn bóyá pf wà ní ṣíṣí, sudo pfctl -s rules ń fi ohun tí ó wà ní gbígbé wọlé hàn, àwọn ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ VPN sì sábà so àwọn ìlànà wọn mọ́ ìdúró dípò àkójọ àkọ́kọ́. Ìlànà tí ó dárúkọ utun3 lè tọ́ka sí ojú-ìwé mìíràn lẹ́yìn ìmúdàgba tó ń bọ̀, nítorí pé a ń fún nọ́mbà yẹn ní àkókò ṣíṣe.

Wo àlàfo láàárín dìde nẹ́tíwọ́kì àti dìde ọ̀nà àbẹ̀wò

Àkókò tí ó léwu kì í ṣe gbogbo àtúnbẹ̀rẹ̀, àlàfo náà ni. Ojú-ìwé ń gba ìyáwó àti ọ̀nà àkọ́kọ́ ní àkókò kan, iṣẹ́ VPN ń bẹ̀rẹ̀ ní àkókò mìíràn, ọ̀nà àbẹ̀wò sì ń ṣàyẹ̀wò ìdánimọ̀ pẹ̀lú ìdálẹ́ síi, nígbà mìíràn lẹ́yìn tí olùlò ti wọlé tí aṣojú ẹ̀rí sì ti ṣiṣẹ́. Tí a bá fi ìdínà náà kún ní ìgbẹ̀yìn, ohun gbogbo tí ó wà nínú àlàfo náà yóò jáde ní gbangba.

Ní àwọn olùgbàlejò systemd, ka ìtẹ̀lẹ́sẹ̀wájú dípò kíkà á lórí àròsọ. Ṣiṣẹ́ systemctl cat lórí àwọn ẹ̀ka VPN àti ògiri iná kí o sì wá After= tàbí Before= ní ìbáṣepọ̀ pẹ̀lú network-pre.target àti network-online.target. Ẹ̀ka ògiri iná tí a ṣètò lẹ́yìn network-online.target yóò pàdánù sí ojú-ìwé; èyí tí network-pre.target béèrè tí a sì ṣètò ṣáájú rẹ̀ yóò ṣẹ́gun. Ní Windows, àwọn ìbéèrè tí ó dọ́gba ni irú ìbẹ̀rẹ̀ iṣẹ́ àti àwọn ìgbékẹ̀kọ́ rẹ̀, nítorí pé iṣẹ́ tí a gbé sí Manual kò lè dínà ìlànà iṣẹ́ ní àkókò ìmúdàgba. Tí ìbéèrè rẹ bá ní ìrìnàjò ṣáájú wíwọlé, ètò ní ìpele ẹ̀rọ nìkan ni yóò tẹ́ ẹ lọ́rùn: ọ̀nà àbẹ̀wò ẹ̀rọ Always On VPN ń ṣàyẹ̀wò ìdánimọ̀ pẹ̀lú ẹ̀rí ẹ̀rọ ẹlẹ́rìí, ó sì ń so mọ́ kí olùlò tó wọlé, àti Microsoft ń ṣàkọsílẹ̀ ètò ọ̀nà àbẹ̀wò ẹ̀rọ náà lọ́tọ̀ sí ọ̀nà àbẹ̀wò olùlò. Android gba ọ̀nà mìíràn, ó ń fi ipá mú VPN ìgbà gbogbo-lórí, ó sì ń dínà àwọn àsopọ̀ láìsí rẹ̀ láti ẹ̀rọ náà dípò láti ìlànà iṣẹ́ áàpù.

Ṣiṣẹ́ ìdánwò náà, lẹ́yìn náà fi ìlà àkókò méjì wé ara wọn

Tún bẹ̀rẹ̀ pẹ̀lú ibi tí kò ní ná ohunkóhun bí ó bá tú jáde, kí o sì gba ipò ní àkókò àlàfo dípò lẹ́yìn rẹ̀. Ọ̀nà tí ó mọ́ jùlọ ni olùwádìí àkókò ìmúdàgba: ẹ̀ka oneshot tàbí iṣẹ́ tí a ṣètò tí yóò bẹ̀rẹ̀ ní kùtùkùtù bí pẹpẹ ti gbà, tí yóò ṣàkọsílẹ̀ ọ̀nà àkọ́kọ́ àti ipò ògiri iná, tí yóò gbìyànjú ìbéèrè kan pẹ̀lú àkókò ìdádúró kúkúrú, tí yóò sì fi ìlà kan kún fáìlì àdúgbò. Fi àkọsílẹ̀ yẹn wé àkókò ìbẹ̀rẹ̀ iṣẹ́ VPN láti journalctl -b -u tàbí àkọsílẹ̀ ẹ̀rọ náà.

Lẹ́yìn náà ṣe ìdánwò déédéé: ọ̀nà àbẹ̀wò lókè, já àwọn àsopọ̀, wo bóyá a dínà ìrìnàjò tààrà, mú un padà. Kíkéjà kejì àti ìkùnà ní èkíní ni èsì déédéé, ó sì túmọ̀ sí pé ìmúṣẹ wà ní ẹ̀gbẹ́ ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀, a ń lò ó nígbà tí ẹ̀rọ náà bá so mọ́, kì í ṣe ní àkókò ìmúdàgba. Ní ẹ̀rọ tí mo ṣàyẹ̀wò gbẹ̀yìn, ìdínà náà ti àpilẹ̀kọ olùfìránṣẹ́ NetworkManager wá: ó wà ó sì tọ́ ó sì kò wúlò fún àwọn ìṣẹ́jú àáyá ṣáájú kí ojú-ìwé tó dìde. Kọ èsì méjèèjì sílẹ̀, nítorí pé ìyèlórí àtúnbẹ̀rẹ̀ ń ní ìtumọ̀ nìkan nígbà tí o bá sọ irú ìpele tí ó yè àti láti àkókò wo.

Tì àlàfo náà mọ́ láì gé ọ̀nà ìpadàbọ̀ rẹ

Tí ìdínà kò bá sí ní àkókò ìmúdàgba, sọ ìmúṣẹ náà sí ìpele kan ní ìsàlẹ̀ dípò kíkún ìlànà ẹ̀rọ ìsọ̀rọ̀sọ̀rọ̀ kejì. Fi àkójọ ìlànà náà pamọ́ kí o sì gbé e wọlé láti ẹ̀ka tí a ṣètò kí nẹ́tíwọ́kì tó ṣeé lò, kí o sì rí i dájú pé ẹ̀ka yẹn kò nílò ìwádìí DNS tàbí ìsopọ̀ nẹ́tíwọ́kì tí ó yẹ kí ó dáàbò bò. Ìwọ̀n ṣe pàtàkì bí àkókò: àwọn ìlànà tí ó bá ID olùlò tàbí cgroup mu ń fi gbogbo ẹ̀mí ẹ̀rọ sílẹ̀ ní ìta ìdínà, àkójọ tí ó ń tọ́jú IPv4 nìkan sì ń fi IPv6 àti DNS sílẹ̀ ní àràádọ́ta.

Fi ọ̀nà ìpadàbọ̀ pamọ́ fún ara rẹ. Ẹ̀rọ tí ó dínà ohun gbogbo ní àkókò ìmúdàgba tí kò sì lè ṣàyẹ̀wò ìdánimọ̀ kò ní nẹ́tíwọ́kì rárá, àtúnṣe kì í sì ṣe pípa ìdínà ré, bíkòṣe títún ẹ̀rí tàbí ìtẹ̀lẹ́sẹ̀wájú ṣe. Tọ́jú ìlànà tí a kọ sílẹ̀ fún kọ́nsólì àdúgbò àti ìyọkùrò tóóró, tí a mọ̀ọ́mọ̀ ṣe fún ohun tí ọ̀nà àbẹ̀wò náà nílò gangan, gẹ́gẹ́ bí àdírẹ́sì olùpèsè àti olùyọkùrò tí a ń lò kí ọ̀nà àbẹ̀wò tó wà.

Kí o tó gbẹ́kẹ̀ lé ètò yìí, jẹ́rìí ohun mẹ́rin ní ìtẹ̀lẹ́sẹ̀wájú. A fi ìlànà náà pamọ́ ní ibi tí ìmúdàgba ti ń kà. Òǹkàwé yẹn ń ṣiṣẹ́ kí ojú-ìwé tó ṣeé lò. Ìdínà náà bo àwọn ìdílé àdírẹ́sì méjèèjì àti DNS. VPN ṣì lè ṣàyẹ̀wò ìdánimọ̀ nígbà tí ìdínà wà ní ṣíṣí. Nígbà tí gbogbo mẹ́rin bá wà, àtúnbẹ̀rẹ̀ kò ní yí ohunkóhun padà.

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