Kí ni idi ti VPN firewall hook fi ń fi ìlànà kan náà kún lẹ́ẹ̀mejì
Ìsopọ̀ tuntun le tun hook rẹ ṣiṣẹ́, nítorí náà ṣe àpẹẹrẹ fún ipò tí o fẹ́: àwọn ẹ̀wọ̀n tí ó ní olówó, ìdánwò ṣáájú fífi wọlé, ìyípadà kan tí a tò lẹ́sẹẹsẹ àti ìsọdọ̀tun tóóró.
Hook náà ṣiṣẹ́ nígbà àkọ́kọ́, àti lẹ́yìn ìsopọ̀ tuntun mẹ́ta ẹ̀wọ̀n náà di ẹ̀dà mẹ́ta ti ìlànà kan náà mú. Kò sí ohun tí ó kùnà ní àríwo; script náà kàn ṣe ohun tí a sọ fún un nígbà gbogbo tí ó bá ṣiṣẹ́. Hook VPN jẹ́ ìgbésẹ̀ ìṣètò tí ó le ṣiṣẹ́ ju ẹ̀ẹ̀kan lọ, nítorí náà ó nílò olówó, ipò tí a fẹ́ àti ìyípadà tí a tò lẹ́sẹẹsẹ. Tẹ̀lé ìtòlẹ́sẹẹsẹ yẹn, àwọn ẹ̀dà yóò dáwọ́ dúró.
Fún àwọn ìlànà ní olówó kí o tó kọ ọ̀kan
Pinnu ẹ̀wọ̀n tàbí tábìlì wo ni ìsopọ̀ yìí ní ṣáájú kí o tó kọ ìlànà kan pàápàá. Ẹ̀wọ̀n àkànṣe tí hook náà dá àti tí ó ń sọ di mímọ́ ni irú ìní tí ó yẹ́ jùlọ, nítorí pé ìmọ́tótó le yọ ẹ̀wọ̀n náà kúrò láìfi ọwọ́ kàn án nínú ìlànà ẹlòmíràn. Bí o bá gbọ́dọ̀ fi àwọn ìlànà kún ẹ̀wọ̀n tí a pín, fi àkọsílẹ̀ kan sí wọn kí ìwádìí tó ń bọ̀ lè rí iwọ náà gan-an. Ìní ni ó jẹ́ kí ìsọdọ̀tun wà ní ààbò, ìsọdọ̀tun sì ni apá tí ó ń kùnà ní ìdákẹ́jẹ́ẹ́.
iptables -N VPN_HOOK 2>/dev/null || true
iptables -C INPUT -j VPN_HOOK 2>/dev/null || iptables -I INPUT -j VPN_HOOK
iptables -S VPN_HOOK
Àkọsílẹ̀ níbí kì í ṣe ọ̀ṣọ́. Ó jẹ́ ìyàtọ̀ láàárín yíyọ ìlànà rẹ kúrò àti yíyọ ìlànà tí ó wulẹ̀ jọra kúrò, ó sì wà nínú ẹ̀ka ìlànà tí a ti ṣàkọ́sílẹ̀. Kọ àkọsílẹ̀ náà lẹ́ẹ̀kan sínú àyíká kan kí o sì lo okùn kan náà nínú gbogbo àṣẹ tí ó ń fi kún, tí ó ń dánwò tàbí tí ó ń paarẹ́.
Dán ipò tí o fẹ́ wò dípò fífi kún lẹ́ẹ̀kan sí i
Kọ ohun tí ó yẹ kí ó wà nígbà tí ọ̀nà abẹ́lẹ̀ wà lókè: àwọn interfeesi wo, orísun àti ibi tí ó ń lọ wo, ilana wo àti ibudo wo. Lẹ́yìn náà sọ ìlànà kọ̀ọ̀kan gẹ́gẹ́ bí ìdánwò tí fífi wọlé ń tẹ̀lé, kí ìgbésẹ̀ kejì lè rí ìlànà náà kí ó má ṣe ohunkóhun. Àṣẹ ìwádìí máa ń parí pẹ̀lú òdo nígbà tí ìlànà bá wà, ìyẹn sì ni àmì gan-an tí script náà nílò. Ìtọ́kasí iptables ṣàlàyé àwọn irú ìwádìí, fífi kún àti fífi wọlé tí a lò níbí.
iptables -C VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT ||
iptables -A VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
Ṣọ́ra pẹ̀lú ipò. Dídán ìlànà wò àti fífi wọlé ní orí le gbé àṣẹ ìyọ̀nda síwájú ìkọ̀sílẹ̀ mọ̀ọ́mọ̀ tí ó ti ń wá ní àkọ́kọ́, nítorí náà ìgbésẹ̀ kejì ń yí ìhùwàsí padà bí ó tilẹ̀ kò fi ohunkóhun kún. Fi kún ní ìparí nínú ẹ̀wọ̀n tirẹ, kí o sì ṣàkóso ìtòlẹ́sẹẹsẹ nípasẹ̀ ibi tí ìfo nínú ẹ̀wọ̀n náà wà. Bí ìtòlẹ́sẹẹsẹ nínú ẹ̀wọ̀n bá ṣe pàtàkì, tún ẹ̀wọ̀n náà kọ́ láti inú àkọ́jọ kan tí a mọ̀ dípò kíkún un ní ìlànà dé ìlànà.
Dúró bí ìlànà tí o nílò kò bá le ṣe àpèjúwe gẹ́gẹ́ bí ìdánwò tí ó dúró ṣinṣin. Ìyẹn sábà máa ń túmọ̀ sí pé ipò tí a fẹ́ ṣì ṣókùnkùn.
Tò ìyípadà lẹ́sẹẹsẹ dípò gbẹ́kẹ̀lé pé yóò dúró
Ìpè méjì ti hook le wọ́ ara wọn, ẹ̀dà méjèèjì sì le rí ìlànà tí kò sí kí ọ̀kan tó fi kún. Àṣàyàn ìdúró ti xtables máa ń jẹ́ kí àṣẹ dúró de títì, ṣùgbọ́n kò sọ ìtẹ̀lépẹ̀ ìwádìí-kí-o-fi-kún di atomu laàárín àṣẹ méjì. Tò gbogbo ìgbésẹ̀ náà pẹ̀lú títì tirẹ, tàbí lo olùṣàkóso tí ó ń dá ẹ̀ka tí a kéde sílẹ̀ gẹ́gẹ́ bí ìdúnàdúrà kan. nftables le ṣe èyí tí ó kẹ́yìn, ìyẹn sì jẹ́ ìdí kan láti fẹ́ràn rẹ̀ lórí àwọn agbàlejò tí ó ti wà.
flock /run/vpn-hook.lock /usr/local/sbin/vpn-firewall-apply
nft -f /etc/nftables/vpn-hook.nft
Ohunkóhun tí o bá yàn gẹ́gẹ́ bí ẹ̀rọ, jẹ́ kí apá pàtàkì kúrú kí o sì jẹ́ kí ó lè wọlé lẹ́ẹ̀kan sí i: hook tí ó kùnà ní àárín gbọ́dọ̀ wà ní ààbò láti ṣiṣẹ́ lẹ́ẹ̀kan sí i. Ṣàkọ́sílẹ̀ àbáyọrí kí ìgbésẹ̀ àtúnṣe lè hàn nínú ìwé ìròyìn dípò kí a sọ ọ́ jáde láti inú iye ìlànà. Bí àwọn alábòjútó méjì ọ̀tọ̀ọ̀tọ̀ bá le pè hook, tún ìyẹn ṣe ní àkọ́kọ́; kò sí títì tí ń tún olówó méjì ṣe.
Sọdọ̀tun kìkì ohun tí ó jẹ́ tirẹ
Ìsọdọ̀tun gbọ́dọ̀ ya ìsopọ̀ àrọ́pò sọ́tọ̀ kúrò nínú èyí tí ó ti fà sẹ́yìn, ó sì gbọ́dọ̀ faradà ìṣẹ̀lẹ̀ tí kò ní ìmọ́tótó tí ó tọ́ rárá. Paarẹ́ pẹ̀lú àwọn ìdánimọ̀ kan náà tí o lò láti fi kún, má sì ṣe da ẹ̀wọ̀n tí a pín sílẹ̀ láti mú ìmọ́tótó rọrùn. Lẹ́yìn ìdúró líle, ṣiṣẹ́ ìgbésẹ̀ ìbámu ní ìbẹ̀rẹ̀ tí ń bọ̀ dípò rò pé hook ìsàlẹ̀ ti ṣiṣẹ́.
iptables -D VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
iptables -F VPN_HOOK
ip -brief link show type tun
Ìgbà ayé interfeesi náà wà nínú àpẹẹrẹ. Ìsopọ̀ tuntun le dá ẹ̀rọ kan pẹ̀lú orúkọ mìíràn, nítorí náà ìlànà tí ó kọ orúkọ ọ̀nà abẹ́lẹ̀ kejì mọ́ ṣinṣin máa ń di ti gbà, bí ó tilẹ̀ ṣì dàbí ẹni tí ó tọ́. Fẹ́ ìdánimọ̀ tí ìsopọ̀ fúnra rẹ̀ fi hàn, kí o sì tún un kà nígbà gbogbo tí ó bá ṣiṣẹ́. Dán àwọn ìṣẹ̀lẹ̀ mẹ́ta wò lọ́tọ̀ọ̀tọ̀: ìsopọ̀ àtúnṣe, ìsopọ̀ àrọ́pò àti pípa. Ìrìnàjò tí a yọ̀nda gbọ́dọ̀ faradà gbogbo mẹ́ta láìsí ẹ̀dà, àwọn iṣẹ́ tí kò ní í ṣe pẹ̀lú rẹ̀ sì gbọ́dọ̀ wà láìfọwọ́ kàn.
Ìrìn náà parí nígbà tí hook bá ní olówó, ìdánwò fún gbogbo ìlànà tí ó fi kún, ọ̀nà kan tí a tò lẹ́sẹẹsẹ àti ìsọdọ̀tun tí ó yọ ìpò tirẹ̀ nìkan kúrò. Hook tí ó wà ní ààbò láti ṣiṣẹ́ lẹ́ẹ̀mejì níye lórí ju hook tí ó gbọ́n lẹ́ẹ̀kan.