SNAT, DNAT àti Masquerade: ohun tí ìlànà NAT kọ̀ọ̀kan ń ṣe nínú VPN
NAT orísun ń kọ ibi tí ṣíṣàn dà bí ẹni pé ó ti wá; NAT àfojúsùn ń kọ ibi tí ó ń lọ. Masquerade jẹ́ NAT orísun pẹ̀lú àdírẹ́sì tí a yá.
Fi ìdíwọ̀ sí ẹ̀gbẹ́ méjèèjì ẹnubodè VPN, ṣíṣàn kan lè fi àdírẹ́sì mẹ́rin tí ó yàtọ̀ hàn. NAT orísun ń kọ ibi tí pákẹ́tù sọ pé ó ti wá; NAT àfojúsùn ń kọ ibi tí ó ń lọ. Masquerade kì í ṣe ìtọ́sọ́nà kẹta, ó jẹ́ ìlànà NAT orísun tí ó gba àdírẹ́sì láti inú ìsopọ̀ jáde dípò iye tí ó dúró. Dárúkọ èyí tí o nílò gan-an nínú àwọn mẹ́ta, ọ̀pọ̀ tikẹ́ẹ̀tì „VPN ti bàjẹ́“ yóò di ìbéèrè nípa ọ̀nà ìpadà.
Ohun tí ìlànà kọ̀ọ̀kan ń kọ
NAT orísun, tí a sábà kọ sí SNAT, ń yí àdírẹ́sì orísun ṣíṣàn padà nígbà tí ó bá ń kúrò ní olùdarí tàbí ẹnubodè. Iṣẹ́ tí ó gbà á ń dáhùn sí àdírẹ́sì tí a ti túmọ̀, àpótí tí ó ń túmọ̀ sì ń yí ìyípadà padà pẹ̀lú ipò tí ó tọ́jú fún ìsopọ̀ yẹn. Nínú Linux ipò yẹn ń gbé inú conntrack, ìdí nìyẹn tí conntrack -L fi ń tẹ àwọn tọ́pù ìpilẹ̀ àti ìdáhùn jáde lẹ́gbẹ̀ẹ́.
NAT àfojúsùn, DNAT, ń yí àfojúsùn padà dípò. Pákẹ́tù tí a kọ sí àdírẹ́sì gbogbogbò ní UDP 51820 ni a lè kọ padà sí olupin WireGuard inú ní 10.8.0.2:51820. Báyìí ni olùdarí ilé tàbí olùdọ́gba ẹrù ojú-ọ̀run ń kéde olùgbọ́ VPN, ìyẹn kò sì sọ ohunkóhun nípa ohun tí ọ̀nà ìsàlẹ̀ lè gbé lẹ́yìn náà.
Masquerade wà nínú ẹbí SNAT. Ìlànà kò dárúkọ àdírẹ́sì kankan; ó ń lo èyí tí ìsopọ̀ jáde ní ní àkókò tí pákẹ́tù ń jáde. Linux fún un ní àfojúsùn tirẹ̀, ó sì jẹ́ àṣàyàn tí ó wọ́pọ̀ lórí ìsopọ̀ WAN tí ó ń gba àdírẹ́sì láti DHCP tàbí PPPoE.
Ibi tí àwòrán ń gbé ni ó ń pinnu ìkùnà
Kọ tọ́pù náà sílẹ̀ ní gbogbo ààlà: kí ọ̀nà ìsàlẹ̀ tó bẹ̀rẹ̀, inú rẹ̀ àti lórí ìsopọ̀ gbogbogbò. Ìdíwọ̀ inú ọ̀nà ìsàlẹ̀ yàtọ̀ lọ́nà tí ó tọ́ sí èyí tí ó wà ní òde, ẹni tí ó bá fi àwọn méjèèjì wé láì mọ ibi tí ìtúmọ̀ ń ṣẹlẹ̀ yóò lé olùgbàlejò tí kò tọ́.
Ìrìn-àjò ìpadà gbọdọ̀ gba inú ẹ̀rọ tí ó ń darí àwòrán náà. Tí ìdáhùn bá gba ọ̀nà mìíràn, ìsopọ̀ kejì lókè, ọ̀nà ìlànà tàbí olùpèsè tí kò tíì gbọ́ nípa ìwọ̀n àdáni rẹ, ìtúmọ̀ yíyí padà pẹ̀lú ipò kò ní ṣẹlẹ̀ láé, olùbára sì máa rí ìrìn-àjò ẹ̀gbẹ́ kan. Fífi NAT orísun kún un kì í sábà tún ọ̀nà ìpadà tí ó sọnù ṣe; ó lè fi àmì náà pa mọ́ lórí ṣíṣàn kan nígbà tí ó ń ba ìlànà tí ó dá lórí àdírẹ́sì jẹ́ ní gbogbo ibòmíràn.
Àṣìṣe mìíràn tí ó wọ́pọ̀ ni retí pé ọ̀nà ìsàlẹ̀ yóò dá ìlànà ọ̀nà. Olùbára àdáni tí àwọn pákẹ́tù rẹ̀ ń jáde sí íńtánẹ́ẹ̀tì nílò ètò ìjáde tí ó tọ́: ọ̀nà àìdábọ̀, ẹnubodè tí ó ń gbé jáde àti ní gbogbo ìgbà ìtúmọ̀ orísun sí àdírẹ́sì gbogbogbò. Ìkọ̀kọ̀ nìkan kì í mú àdírẹ́sì àdáni dé.
Masquerade tàbí SNAT tí ó ṣe kedere
Fi àwọn méjèèjì wé nípa ohun tí wọ́n ṣèlérí. Masquerade ń yan àdírẹ́sì ìjáde, SNAT tí ó ṣe kedere ń fi í múlẹ̀. Lórí ẹnubodè tí ó ní àdírẹ́sì gbogbogbò tí ó dúró ṣinṣin, fífi múlẹ̀ ń fún àwọn àkọsílẹ̀ àti àkọsílẹ̀ ìyọ̀nda alábàáṣiṣẹ́pọ̀ ní iye kan tí a lè sọ tẹ́lẹ̀. Lórí ìsopọ̀ WAN tí ó ń yí, àdírẹ́sì SNAT tí a fi múlẹ̀ yóò di àìtọ́ ní àkókò tí ìyáwó yá kí ó yí, Masquerade sì ni a kọ́ fún irú ipò yẹn gan-an.
Ìwọ̀n náà ṣe pàtàkì bí àṣàyàn. Ìlànà Masquerade tí ó bá gbogbo pákẹ́tù tí ó ń jáde kúrò ní ẹnubodè, láìsí ààlà orísun tàbí àfojúsùn, tún ń túmọ̀ ìrìn-àjò tí o fẹ́ fi sílẹ̀ láìfọwọ́ kàn, pẹ̀lú ìrìn-àjò sí àwọn nẹ́tíwọ́kì àdáni mìíràn. Fi ààlà sí ìlànà náà ní ìwọ̀n olùbára, àfojúsùn tí a fẹ́ àti ìsopọ̀.
IPsec tí ó dá lórí ìlànà ni ibi tí èyí ń jáni jẹ́ jù. Ìtọ́sọ́nà gbígbé jáde ti strongSwan ń lọ nípasẹ̀ pípá gbígbé IP àti fífi ìlànà SNAT orísun kún fún àwọn olùbára, àkọsílẹ̀ kan náà sì tún bo yíyọ ìrìn-àjò tí ó gbọdọ̀ pa àdírẹ́sì ìpilẹ̀ rẹ̀ mọ́. Túmọ̀ orísun kí ìlànà ààbò tó bá a, ọ̀nà ìsàlẹ̀ lè gòkè bí ìrìn-àjò ṣì ń jábọ́, nítorí pákẹ́tù kò tíì dà bí olùyàn tí a ti dún lé lórí mọ́.
Pinnu pẹ̀lú ohun tí ẹ̀gbẹ́ ọ̀nànà yẹ kí ó rí. Lẹ́yìn ìtúmọ̀ iṣẹ́ kan ń rí ẹnubodè, kì í ṣe olùbára kọ̀ọ̀kan. Ìyẹn ń mú ìlànà ọ̀nà ìpadà rọrùn, ní àkókò kan náà ó ń tẹ àwọn àkọsílẹ̀ sísalẹ̀, ó sì ń mú àwọn àkọsílẹ̀ ìyọ̀nda fún olùbára kọ̀ọ̀kan di asán. Tí pípamọ́ àwọn àdírẹ́sì olùbára bá ṣe pàtàkì, wéwèé ọ̀nà ìpadà tí ó ní ìlànà ọ̀nà dípò fífi wọ́n pamọ́ kí ìdánwò tó kọjá.
Kíkà àwọn ìlànà lórí ẹnubodè Linux
Ẹnubodè ìwọlé ọ̀nànà tí ó ní àwọn olùbára ní 10.8.0.0/24 àti ìsopọ̀ WAN tí a ń pè ní eth0 nílò gbígbé jáde tí ó ṣí àti ìlànà àlẹ̀mọ́ tí ó gba ṣíṣàn láàyè, kí ìlànà NAT kan tó lè ràn ọwọ́. Ẹ̀dá iptables ń tọ́jú ẹ̀gbẹ́ méjèèjì nínú tábìlì nat:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 51820 \
-j DNAT --to-destination 10.8.0.2:51820
Ẹ̀dá nftables ń lo àwọn ìkọ̀kọ̀ méjèèjì náà pẹ̀lú ìsopọ̀ tí a dárúkọ àti ẹ̀wọ̀n tí ó ṣe kedere:
nft add rule ip nat postrouting ip saddr 10.8.0.0/24 oifname "eth0" masquerade
nft add rule ip nat prerouting iifname "eth0" udp dport 51820 dnat to 10.8.0.2:51820
Àwọn àpínjá méjèèjì ró pé ẹ̀wọ̀n àlẹ̀mọ́ ti gba ṣíṣàn tí a gbé jáde tẹ́lẹ̀. NAT kì í ṣe ìlànà ìyọ̀nda, pákẹ́tù tí a túmọ̀ dáadáa sì lè ṣì jẹ́ àlékún ní tábìlì tí ó tẹ̀le. Fi conntrack -L jẹ́rìí àwòrán tí ó wà lọ́wọ́, fi nft list ruleset tàbí iptables-save -t nat jẹ́rìí ohun tí a gbé sílẹ̀, lẹ́yìn náà ṣe ìdíwọ̀ lórí àwọn ìsopọ̀ méjèèjì láti rí pé àdírẹ́sì ń yí gan-an.
Àwọn ipò ìkùnà tí ó dà bí ìlànà burúkú
Ìrìn-àjò ìráwé ni ti ìgbà láéláé. Olùbára inú tí ó ń dé olupin inú nípasẹ̀ àdírẹ́sì gbogbogbò olupin nílò DNAT ní ọ̀nà ìwọlé àti ìtúmọ̀ orísun ní ọ̀nà ìjáde padà, bí bẹ́ẹ̀ kọ́ olupin yóò dáhùn tààrà sí olùbára, ìdáhùn náà yóò sì jẹ́ kíkọ̀. Àtúnṣe ni ìlànà kejì, tí ó há díẹ̀ fún ipò inú-sí-gbogbogbò yẹn, kì í ṣe ìlànà Masquerade tí ó gbòòrò fún gbogbo nkan.
Ìtúmọ̀ ẹ̀ẹ̀mejì ni èyí tí ó dákẹ́. Olùbára tí ó ti wà lẹ́yìn NAT ìpele olùpèsè ń dé ẹnubodè rẹ pẹ̀lú àdírẹ́sì tí o kò lè darí padà, nítorí náà o tún ń túmọ̀. Ó ń ṣiṣẹ́, ṣùgbọ́n àwọn àkọsílẹ̀ ń gbé ìfòòrò méjì ti àdírẹ́sì àdáni báyìí, ìwádìí kankan sì nílò àwọn àwòrán méjèèjì. IPsec tí ó dá lórí ìlànà ń fi ìyí kẹta kún un: túmọ̀ kí ìlànà tó bá a, o sì gba SA tí ó gòkè láìsí ìrìn-àjò tí ó ń kọjá, èyí tí a ń kà bí àṣìṣe ògiri iná kì í ṣe ti NAT.
Lẹ́yìn náà ni ìdánwò tí ó ń kọjá àti ìgbékalẹ̀ tí ó ń kùnà. Síṣe àṣẹ NAT ní ọwọ́ ń fi ẹ̀rọ hàn, kì í ṣe ètò. Ìlànà tí a fi kún ní àkókò ṣíṣe yóò pòórá ní ìgbà àtúnbẹ̀rẹ̀ tàbí ní ìṣẹ̀lẹ̀ ìsopọ̀ tí ó tẹ̀le, ìlànà Masquerade tí ó so mọ́ ìsopọ̀ tí ó ń yí nọ́mbà sì lè yí àdírẹ́sì tí ẹ̀gbẹ́ ọ̀nànà ń rí padà ní dídákẹ́. Fi ìlànà náà sínú ètò ògiri iná tí ó ní í, kí o sì tún dánwò lẹ́yìn ìsopọ̀ padà.
Àkọsílẹ̀ àyẹ̀wò kí o tó tọ́jú ìlànà
Kọ́kọ́ dárúkọ ìtọ́sọ́nà: orísun, àfojúsùn tàbí méjèèjì. Lẹ́yìn náà pinnu ẹni tí ó gbọdọ̀ di ipò mú — ẹnubodè, olùdarí lókè tàbí alábàáṣepọ̀ IPsec — kí o sì jẹ́rìí pé ọ̀nà ìdáhùn ń padà wá nípasẹ̀ rẹ̀. Fi ààlà sí ìlànà náà ní ìwọ̀n olùbára, àfojúsùn àti ìsopọ̀ tí o ní lọ́kàn gan-an, kí o sì pinnu ṣáájú bóyá ẹ̀gbẹ́ ọ̀nànà yẹ kí ó rí ẹnubodè tàbí àdírẹ́sì ìpilẹ̀ olùbára.
Dánwò láti ọ̀dọ̀ olùbára, kì í ṣe láti ẹnubodè. Aṣàwákiri lórí ẹnubodè fúnra rẹ̀ lè forí ìlànà ìtúmọ̀ olùbára kọjá pátápátá, nítorí náà ojú-ìwé tí ó ń ṣiṣẹ́ níbẹ̀ kò fi ohunkóhun hàn nípa ọ̀nà ìsàlẹ̀. Fi ìbéèrè kan tí ó ti olùbára wá ránṣẹ́, wo àwọn olùkà àti tábìlì conntrack, kí o sì tún un ṣe lẹ́yìn ìsopọ̀ ọ̀nà ìsàlẹ̀ padà àti àdírẹ́sì WAN yí padà tí ọ̀kan nínú wọn bá ṣeé ṣe níbi tí o ti ń ṣiṣẹ́.