Olùgbà kan ń fi ara rẹ̀ hàn, ń gba àdírẹ́sì láti inú àkójọ, ó sì ń dé àwọn iṣẹ́ tó wà lórí ẹrọ VPN, ṣùgbọ́n gbogbo ibi tí gbogbo ènìyàn lè dé á parí pẹ̀lú àkókò. Báyìí ni ọ̀nà tí kò ní ibi ìjáde ṣe rí, ó sì máa ń rí bẹ́ẹ̀ títí di ìgbà tí nnkan mẹ́rin ọ̀tọ̀ọ̀tọ̀ bá jẹ́ òtítọ́. Olùgbà gbọ́dọ̀ gba ọ̀nà àìpẹ́, olùpín gbọ́dọ̀ tẹ̀síwájú, ògiri iná gbọ́dọ̀ gba ìrékọjá, àwọn ìdáhùn sì nílò ọ̀nà ìpadà sí àkójọ. Àwọn àìṣeyọrí mẹ́rẹ̀ẹ̀rin náà ní àmì kan náà, nítorí náà yí ohun kan padà ní gbogbo ìgbìyànjú kí o sì kọ àbájáde sílẹ̀.

Tì ọ̀nà àìpẹ́ jáde kí o sì jẹ́rìí ohun tí olùgbà fi sórí ẹrọ

Ìlà ní ẹ̀gbẹ́ olùpín kúrú, àti ó ń kan àwọn olùgbà tí wọ́n gba àwọn àṣàyàn tí a tì jáde nìkan. Ọ̀nà def1 ń gbé ọ̀nà ààbọ̀ méjì ti àìpẹ́ sórí ẹrọ dípò yíyọ ọ̀nà àìpẹ́ tó wà nílẹ̀ kúrò, èyí tó máa ń pa ìsopọ̀ ìsinsìnyí mọ́, bẹ́ẹ̀ sì ni yóò máa mú gbogbo ibi.

push "redirect-gateway def1"

Lẹ́yìn tí o bá tún sopọ̀, ka tábìlì ọ̀nà olùgbà dípò gbígbẹ́kẹ̀lé fáìlì ìṣètò. Lórí Linux, àwọn àkọsílẹ̀ /1 méjì á farahàn lẹ́gbẹ̀ẹ́ ọ̀nà àìpẹ́ àkọ́kọ́, Windows sì ń fi bákan náà hàn gẹ́gẹ́ bí 0.0.0.0/1 àti 128.0.0.0/1. Olùgbà tó ń gbójú fọ́ àwọn àṣàyàn tí a tì jáde, tàbí èyí tí a ṣètò láti kọ̀ wọ́n, yóò dá ọ̀nà àìpẹ́ rẹ̀ àtijọ́ dúró, kò sì ní fi ìrìnàjò íńtánẹ́ẹ̀tì ránṣẹ́ sínú ọ̀nà kòkòrò náà. Yanjú ìbéèrè yẹn kí o tó yí ohunkóhun padà lórí olùpín, nítorí kò sí òfin kankan ní ẹ̀gbẹ́ olùpín tó lè ṣe àtúnṣe.

Títẹ̀síwájú jẹ́ ìṣètò olùpín, kì í ṣe ìṣètò VPN

Ka àmì títẹ̀síwájú kí o tó fọwọ́ kan ọ̀nà. Òdo níbẹ̀ túmọ̀ sí pé kérnẹ́lì ń gba àkójọpọ̀ olùgbà, ó sì kọ̀ láti tẹ̀síwájú rẹ̀, èyí tó dàbí ìdíwọ́ ògiri iná láti orí ọ̀nà jínjìn. Ṣètò iye náà nípasẹ̀ àpò ìṣètò ẹ̀rọ náà kí ó lè wà lẹ́yìn àtúnbí.

sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system

Lẹ́yìn náà, jẹ́rìí pé ẹrọ náà fúnra rẹ̀ ní ọ̀nà tó ń ṣiṣẹ́ sí ibi ìjáde íńtánẹ́ẹ̀tì. Ìbéèrè láti inú ṣẹ́ẹ̀lì olùpín ń fi hàn pé ọ̀nà òkè lórí ẹ̀ lè ṣiṣẹ́, kò sì sọ ohunkóhun nípa títẹ̀síwájú àkójọpọ̀ olùgbà, nítorí náà kà wọ́n sí àdánwò méjì ọ̀tọ̀ọ̀tọ̀. Bí olùpín kò bá lè dé ibi náà, iye ìṣètò títẹ̀síwájú kò ní ràn ọ́ lọ́wọ́.

Gba ìrékọjá tí o pète nìkan láàyè, kì í ṣe nnkan mìíràn

Àwọn àkójọpọ̀ tí a tẹ̀síwájú ń gba ọ̀nà forward kọjá; ìrìnàjò tí a dá sí ẹrọ VPN fúnra rẹ̀ ń gba input kọjá. Ìpinnu ọ̀tọ̀ọ̀tọ̀ ni wọ́n, pípín ọ̀nà input sílẹ̀ kò sì gba ìrékọjá kọjá ẹ̀rọ náà. Dídà wọ́n pọ̀ ni ìdí tó wọ́pọ̀ jùlọ tí ògiri iná fi dàbí ẹni pé ó ń gba gbogbo nnkan láàyè nígbà tí àwọn olùgbà ṣì ń parí pẹ̀lú àkókò.

Ìlànà kíkúnkú ń gba àwọn ìsopọ̀ tuntun láti inú àkójọ sí ojú-ọ̀nà ìjáde, ó sì ń gba àwọn ìdáhùn tí wọ́n jẹ́ ti àwọn ṣíṣàn tí a ti fiìlẹ̀. Fi í sínú ẹni tó ni àkójọ òfin tí ìpín ìṣètò rẹ ń lò, dípò fífi òfin ẹ̀dà kan kún ní gbogbo ìgbà àtúnbí; àwọn òfin ẹ̀dà ń kóra jọ, àwọn kíkà kò sì ní ìtumọ̀ mọ́.

sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Yíyí gbogbo ẹ̀wọ̀n padà sí gbígba ń jẹ́ kí àdánwò náà kọjá, ó sì ń yọ ìdí tí ògiri iná fi wà kúrò. Pa ààlà mọ́ àkójọ àti ojú-ọ̀nà ìjáde, kí o sì fi títẹ̀síwájú tí kò ní í ṣe pẹ̀lú rẹ̀ sílẹ̀.

Fún àwọn ìdáhùn ní ibi láti lọ

Àwọn àdírẹ́sì àkójọ jẹ́ ti ara ẹni, nítorí náà olùpín gbangba kò lè fi ìdáhùn ránṣẹ́ tààrà sí wọn. Boya ẹrọ VPN ń yí àdírẹ́sì orísun padà nígbà ìjáde, tàbí ẹ̀rọ tó wà lókè ń di ọ̀nà ìpadà sí àkójọ mú.

sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE

Fi ìpele ìtumọ̀ kan ṣoṣo kún. NAT kejì tó wà lókè á fi èkínní pamọ́, yóò sì jẹ́ kí àwọn àkọsílẹ̀ méjèèjì di aláìlórí iṣẹ́ nígbà tí nnkan bá bàjẹ́ lẹ́yìn náà. Bí olùdarí ọ̀nà tó wà lókè ti ń darí àkójọ padà, fífi ìtumọ̀ kún lórí ẹrọ jẹ́ àṣepé, ọ̀nà ìpadà yóò sì gbára lé ìṣètò olùdarí ọ̀nà yẹn, kì í ṣe tìrẹ.

Àwọn ẹ̀dà orí kùrukùru ń fi ẹnubodè mìíràn kún, nítorí àwọn pẹpẹ kan ń sọ àwọn àkójọpọ̀ tí àdírẹ́sì orísun wọn kì í ṣe ti ẹ̀dà náà nù, àyàfi tí a bá tú ìṣàyẹ̀wò yẹn sílẹ̀. Ìṣètò yẹn wà ní òde àlejò, ó sì rọrùn láti gbàgbé nígbà tí ẹ̀rọ àdánwò àdúgbò ń ṣiṣẹ́.

Fi hàn láti olùgbà, kì í ṣe láti ṣẹ́ẹ̀lì olùpín

Bẹ̀rẹ̀ pẹ̀lú ìbéèrè IPv4 oníka, lẹ́yìn náà wíwá orúkọ, lẹ́yìn náà ohun èlò náà. ping ń fi títẹ̀síwájú àti ìtumọ̀ hàn;kò fi ohunkóhun hàn nípa yíyàn orúkọ, nítorí àwọn àṣàyàn DNS ń gba agbára nígbà tí ìsopọ̀ olùgbà bá fi wọ́n sórí ẹrọ.

curl -4 -m 5 http://198.51.100.10/
dig +short example.com

Kọ àwọn àyípadà àti ìgbésẹ̀ ìdápadà bí o ṣe ń lọ, kí ó lè ṣe é dá ìlànà ìjáde padà pẹ̀lú ìgbésẹ̀ kan nígbà tí àdánwò bá kùnà. Ìlànà yìí ń bo IPv4 nìkan; ṣe àkójọ IPv6 lọ́tọ̀ọ̀tọ̀ kí o tó sọ pé ìgbékalẹ̀ náà ń gbé gbogbo ìrìnàjò.

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