Ìfọwọ́sowọ́pọ̀ PiVPN ń ṣiṣẹ́, ojú-ìwé ń dúró: yẹ MASQUERADE wò
Ìfọwọ́sowọ́pọ̀ ń parí ṣùgbọ́n ojú-ìwé ń dúró? Ìlànà MASQUERADE tí a fi pamọ́ ń tọ́ka sí ọ̀nà òkè tí kò tọ́. Ka tábìlì NAT, tún interface ṣe, kí o sì fi ẹ̀rọ ìkàwé fi hàn.
Fọ́nù rẹ ń fi ọ̀nà abẹ́lẹ̀ hàn bí ẹni tí ó so pọ̀, ẹ̀rọ alátìlẹ́yìn ń sọ àdírẹ́sì àdáni kan, ṣùgbọ́n ojú-ìwé àkọ́kọ́ ṣì ń dúró ní àárín ìgbéwọ́lẹ̀. Àkópọ̀ yẹn máa ń fi ọ̀pọ̀ ènìyàn lọ sí ètò cipher àti ìwọ̀n ooru processor, níbi tí kò ti sí nǹkan kan tí ó bajẹ́ ní ti gidi. Ọ̀nà abẹ́lẹ̀ náà gòkè, ìyẹn ni pé ìjíròrò ti parí; ohun tí ó kùnà ni ìgbésẹ̀ tí ó tẹ̀lé, nígbà tí server ń gbìyànjú láti fi àwọn pákẹ́tì ẹ̀rọ alátìlẹ́yìn fún internet. Tẹ̀lé ọ̀nà kan náà tí àwọn pákẹ́tì yẹn ń gbà, àìbáramu yóò sì máa hàn ní ìlà kan nínú tábìlì NAT.
Bẹ̀rẹ̀ pẹ̀lú ohun tí ẹ̀rọ alátìlẹ́yìn lè dé àti ohun tí kò lè dé
Láti ẹ̀rọ alátìlẹ́yìn tí ó so pọ̀, gbé ojú-ìwé kan tí ó wà lórí internet gbangba wọ̀lẹ̀ kí o sì kíyèsí bóyá ó kùnà lẹ́sẹ̀kẹsẹ̀ tàbí ó dúró ní àárín. Lẹ́yìn náà ṣí ohun àmúṣọrọ̀ kan lórí àdírẹ́sì àdáni ti server VPN fúnra rẹ̀, kí o sì fi àwọn àbájáde méjèèjì wé ara wọn.
Àdírẹ́sì ọ̀nà abẹ́lẹ̀ tí ó ń dáhùn ping nígbà tí àwọn ojú-ìwé gbangba ń parí àkókò jẹ́ àmì ìṣòro gbígbé lọ tàbí ìtumọ̀, kì í ṣe ti ìfọwọ́sowọ́pọ̀ tí ó ti já. Pánẹ́ẹ̀lì ipò ti ẹ̀rọ alátìlẹ́yìn fúnra rẹ̀ kò lè yà wọ́n sọ́tọ̀, nítorí pé ó mọ̀ pé kanaali ìṣàkóso wà lókè nìkan. Yẹ interface ọ̀nà abẹ́lẹ̀ lórí server pẹ̀lú ip -br addr show tun0 kí o sì jẹ́rìí pé àdírẹ́sì tí a fún ẹ̀rọ alátìlẹ́yìn wà nínú àkójọpọ̀ tí o ṣètò. Bí àkójọpọ̀ àti àdírẹ́sì ẹ̀rọ alátìlẹ́yìn kò bá faramọ́, tún ìyẹn ṣe kíákíá, nítorí gbogbo ìlànà tí ó wà nísàlẹ̀ ń bá àkójọpọ̀ mu.
Lẹ́yìn náà, béèrè lọ́wọ́ server irú interface tí yóò lò láti dé àdírẹ́sì gbangba. ip route get 203.0.113.9 ń tẹ̀ ẹ̀rọ àti orísun tí a yàn jáde ní ìlà àkọ́kọ́ rẹ̀. Kọ orúkọ ẹ̀rọ yẹn sílẹ̀, nítorí pé ìyẹn ni iye tí ìlànà NAT gbọ́dọ̀ ní.
Ka ìlànà tí ó pinnu bóyá àwọn pákẹ́tì yóò jáde
MASQUERADE kì í tún pákẹ́tì kọ àyàfi nígbà tí pákẹ́tì náà bá jáde nípasẹ̀ interface tí a dárúkọ nínú ìlànà. Ìlànà tí ó ní ààlà sí ẹ̀rọ alásẹ́wọ̀ kan kò ṣe nǹkan kan fún ìrìnàjò tí ó ń jáde nípasẹ̀ Wi-Fi, pákẹ́tì sì ń pa àdírẹ́sì orísun àdáni rẹ̀ mọ́ títí dé router òkè. Router yẹn kò ní ọ̀nà ìpadà sí àkójọpọ̀ ọ̀nà abẹ́lẹ̀ rẹ, nítorí náà ó ń sọ ìdáhùn nù, ẹ̀rọ alátìlẹ́yìn sì ń rí ìsopọ̀ tí ó ṣí tí ó sì kú. Àmì náà ń pọ̀ sí i pẹ̀lú iye ojú-ìwé tí ó dé kí ìdáhùn àkọ́kọ́ tó wà.
Kọ tábìlì aláàyè jáde kí o sì ka ìwọ̀n interface jáde dípò kíkàn wá ọ̀rọ̀ MASQUERADE nìkan. Ìjáde ní ọ̀nà àfikún rọrùn láti fi wé ju àkójọ tí a ṣe àtúnṣe rẹ̀ lọ:
ip -br addr show tun0
ip route get 203.0.113.9
sudo iptables -t nat -S POSTROUTING
Lórí Raspberry Pi kan tí ó ti lo Ethernet tẹ́lẹ̀ tí ó sì ń lo Wi-Fi báyìí, orúkọ àtijọ́ ni ó máa ń jẹ́ gbogbo ìtàn ní bẹ́ẹ̀. Olùfiṣẹ́ kọ ẹ̀rọ tí ó wà nígbà ìṣètò, àkójọ ìlànà tí a fi pamọ́ sì ń tún un ṣe ní gbogbo ìgbà ìbẹ̀rẹ̀. Fi ẹ̀rọ tí ó wá láti ìwádìí ọ̀nà wé ẹ̀rọ tí ó wà nínú ìlànà kí o tó yí nǹkan mìíràn padà. Bí wọ́n bá faramọ́, interface kì í ṣe ìṣòro rẹ, kí o sì lọ sí àwọn ẹ̀rọ ìkàwé ní apá ìkẹyìn. Bí wọ́n bá yàtọ̀, àtúnṣe náà ni ṣíṣe àtúnṣe ọ̀rọ̀ kan nínú fáìlì ìfaradà.
Tún àkójọ ìlànà tí a fi pamọ́ ṣe, kì í ṣe èyí tí ó ń ṣiṣẹ́ nìkan
Ṣíṣe àtúnṣe tábìlì aláàyè nìkan ń dúró títí dé ìbẹ̀rẹ̀ padà tí ó tẹ̀lé, èyí tí ó tó láti mú kí o gbà pé a ti yanjú ìṣòro náà. Àwọn ìlànà tí ó padà wá nígbà ìbẹ̀rẹ̀ ń gbé inú fáìlì kan tí àkójọ ìfaradà firewall ń tún gbé wọ̀lẹ̀. Lórí àwọn àwòrán Pi tí ó dá lórí Debian, fáìlì yẹn sábà máa ń jẹ́ /etc/iptables/rules.v4.
Ya ẹ̀dà kan kí o tó fọwọ́ kàn án, lẹ́yìn náà rọ́pò interface jáde nínú ìlà MASQUERADE pẹ̀lú ẹ̀rọ tí o kọ sílẹ̀, fún àpẹẹrẹ -o wlan0 dípò -o eth0. Fi ìlà orísun sílẹ̀ bí ó ti wà, àyàfi bí àkójọpọ̀ ẹ̀rọ alátìlẹ́yìn rẹ ti yí padà. Tún gbé wọ̀lẹ̀ kí o sì jẹ́rìí pé ìlànà ń dárúkọ ẹ̀rọ tí ó tọ́ báyìí:
sudo cp /etc/iptables/rules.v4 /root/rules.v4.bak
sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables -t nat -L POSTROUTING -v -n
Ètò méjì tí ó wà lẹ́gbẹ̀ẹ́ ara wọn rọrùn láti gbàgbé. sysctl net.ipv4.ip_forward gbọ́dọ̀ sọ 1, router òkè kò sì gbọ́dọ̀ ṣe ààyò àwọn àdírẹ́sì orísun àdáni fúnra rẹ̀.
Fi hàn pé ìlànà náà ń ṣiṣẹ́, lẹ́yìn náà ya ohun tí ó ṣì lọra sọ́tọ̀
Àwọn ẹ̀rọ ìkàwé ni ẹ̀rí òtítọ́ kan ṣoṣo pé ìlànà kan ti báramu. Ṣe àkójọ aláfikún, bẹ̀rẹ̀ ìgbéwọ́lẹ̀ kan lórí ẹ̀rọ alátìlẹ́yìn kí o sì tún ṣe é. Àwọn ìwọ̀n pákẹ́tì àti byte lẹ́gbẹ̀ẹ́ ìlànà rẹ gbọ́dọ̀ gòkè, ìlànà tí ó dúró ní òdo kò sì tíì báramu. Bí àwọn ẹ̀rọ ìkàwé bá ń rìn ṣùgbọ́n ojú-ìwé ṣì ń kùnà, fi ìlà orísun wé àkójọpọ̀ gidi pẹ̀lú grep -n "^server " /etc/openvpn/server.conf. Bí wọ́n bá ń rìn tí ojú-ìwé sì ń gbéwọ́lẹ̀ ṣùgbọ́n ìgbéjáde kò dára, ìtumọ̀ ti parí, ìṣòro tí ó kù sì wà níbòmíràn.
Fi ìgbékalẹ̀ méjì wé láti ọ̀dọ̀ ẹ̀rọ alátìlẹ́yìn kan náà, ọ̀kan sí olùgbàlejò kan nínú nẹ́tíwọ́kì àdúgbò àti ọ̀kan nípasẹ̀ ọ̀nà abẹ́lẹ̀ sí olùgbàlejò kan náà. Lọra nínú àwọn méjèèjì ń tọ́ka sí ọ̀nà òkè Pi tàbí ìsopọ̀ Wi-Fi, kì í ṣe VPN. Lọra nípasẹ̀ ọ̀nà abẹ́lẹ̀ nìkan ń tọ́ka sí MTU àti àtúnránṣẹ́, tí o lè yẹ̀wò pẹ̀lú ip -s link show tun0 kí o tó yí ètò cipher kankan padà.
Láti fagilé àdánwò náà, mú ẹ̀dà náà padà kí o sì tún gbé e wọ̀lẹ̀, lẹ́yìn náà jẹ́rìí pé ìlànà ìpilẹ̀ṣẹ̀ àti àwọn ẹ̀rọ ìkàwé rẹ̀ ti padà. Kọ ẹ̀rọ jáde àti àṣẹ àtúngbéwọ̀lẹ̀ sínú àwọn àkọsílẹ̀ server, nítorí ìyípadà ọ̀nà òkè tí ó tẹ̀lé yóò tún ṣàwárí àìbáramu kan náà. Ìlànà tí ó dárúkọ ẹ̀rọ tí kò tọ́ yóò wà ní àìrí títí ìrìnàjò yóò fi nílò rẹ̀.