eth0:0 jẹ́ àmì, kì í ṣe ẹ̀rọ: tún ìbámu SNAT ṣe
Kíkàǹtí òdo túmọ̀ pé òfin náà ń pe interface tí kò lè wà. Ka ẹ̀rọ gidi, tún ìbámu -o ṣe, kí o sì yan àdírẹ́sì tí a túmọ̀ pẹ̀lú ìmọ̀.
Òfin NAT kan tí ó yẹ kí ó fún ẹgbẹ́ alábàáṣepọ̀ VPN kan ní àdírẹ́sì gbogbo ènìyàn tirẹ̀ dúró ní pakiti òdo, nígbà tí ẹgbẹ́ kan náà ṣì ń jáde pẹ̀lú orísun tí kò tọ́. Òfin kì í ṣe àṣìṣe nípa àdírẹ́sì; ó ṣe àṣìṣe nípa interface. -o eth0:0 ń tọ́ka sí ẹ̀rọ tí kò sí, nítorí eth0:0 jẹ́ àmì tí a so mọ́ àdírẹ́sì kan lórí eth0. Wíwo àwọn kíkàǹtí ni ọ̀nà tí ó yára jù láti fìdí rẹ̀ múlẹ̀, àti àtúnṣe náà kéré ju bí ìwádìí ṣe dábàá.
Ṣàyẹ̀wò bí kernel ṣe ń pe ẹ̀rọ náà
Ka àwọn ojú méjèèjì lọ́tọ̀ọ̀tọ̀ kí o tó yí ohunkóhun padà:
ip link show
ip address show dev eth0
ip route get 203.0.113.20
Àkójọ link fi àwọn interface hàn. Àkójọ àdírẹ́sì lè fi àdírẹ́sì IPv4 kejì tí ó gbé àmì náà hàn eth0:0, àti ẹ̀rọ fún àdírẹ́sì yẹn ṣì jẹ́ eth0. Ìwé àdírẹ́sì iproute2 ka àmì náà sí orúkọ àdírẹ́sì, kì í ṣe link kejì, ìyàtọ̀ yẹn sì ni gbogbo ìṣòro náà dúró lé.
Ìtàn ṣàlàyé ìdàrúdàpọ̀ náà. Ọ̀rọ̀ ìkọ̀wé àtijọ́ ifconfig eth0:0 dà bí interface tuntun gan-an, àwọn script ìgbà yẹn sì ṣì ń tọ́ka sí ọ̀kan. Nínú ẹ̀rọ òde òní, alias jẹ́ àmì lórí àdírẹ́sì, kò sì sí ohunkóhun ní ọ̀nà ìtọ́nisọ́nà tàbí netfilter tí ó kà á sí ibi ìjáde ọ̀tọ̀.
Ṣàyẹ̀wò ohun tí òfin náà bá mu gan-an
Ka àwọn kíkàǹtí pẹ̀lú àkójọ òfin, kì í ṣe láti inú ìrántí:
iptables -t nat -L POSTROUTING -v -n --line-numbers
Òfin tí kíkàǹtí pakiti rẹ̀ dúró ní òdo nígbà tí ìrìnàjò tí ó bá mu ń ṣàn kò ní ìgbéléwọ̀n, àti ipò interface ìjáde tí ó ń dárúkọ eth0:0 jẹ́ ìdí tí ó wọ́pọ̀. Ẹ̀rọ ìjáde tí ipa ọ̀nà yàn ni eth0, nítorí náà ipò tí ń wá orúkọ mìíràn kò ní jẹ́ òtítọ́ láé, bó ti wù kí kernel yan àdírẹ́sì orísun wo.
Yí ipò náà padà sí ẹ̀rọ gidi kí o sì fi àmì náà sílẹ̀ ní ìta. Bí o bá ní láti pín ẹgbẹ́ alábàáṣepọ̀ méjì tí ó ń pín ẹ̀rọ yẹn, pín wọn nípa ìpìlẹ̀ orísun, kì í ṣe nípa orúkọ interface tí kò lè wà. Òfin méjì pẹ̀lú ìbámu -s -s tí kò wọ ara wọn jẹ́ kíkà àti ìdánwò; òfin kan pẹ̀lú ẹ̀rọ àròsọ kì í ṣe èyí tàbí èyíkejì. Fi àkọsílẹ̀ fún òfin kọ̀ọ̀kan tí ó dárúkọ ẹgbẹ́ náà, nítorí ní ọdún mẹ́fà ìpìlẹ̀ nìkan kò ní sọ fún ẹnikẹ́ni ìdí tí ó fi wà níbẹ̀.
Ṣàyẹ̀wò ipa ọ̀nà tí ó yan ẹ̀rọ náà
NAT postrouting ń ṣiṣẹ́ lẹ́yìn tí ipa ọ̀nà ti yan interface ìjáde, nítorí náà interface nínú òfin gbọ́dọ̀ jẹ́ èyí tí ipa ọ̀nà yàn. Béèrè lọ́wọ́ kernel ní tààrà pẹ̀lú ip route get fún àdírẹ́sì alábàáṣepọ̀ aṣojú kan kí o sì ka ẹ̀rọ àti orísun tí ó ròyìn.
Bí ìdáhùn bá dárúkọ eth0, apá interface òfin náà ti parí. Bí ó bá dárúkọ ẹ̀rọ tunnel, pakiti kò ní dé òfin tí o ń ṣàtúnṣe rẹ̀ láé, ìwádìí sì ń lọ sí table ìtọ́nisọ́nà àti àwọn ipò àkọ́kọ́ rẹ̀. Òfin tí kò bá mu láé nítorí pé pakiti jáde níbòmíràn dà bí òfin tí ó ní ẹ̀rọ tí a kọ̀ ní àṣìṣe nínú ìjáde kíkàǹtí. Fi ìdí rẹ̀ múlẹ̀ irú ọ̀ràn wo nínú méjèèjì ni ó wà lọ́wọ́ rẹ kí o tó ṣàtúnṣe ohunkóhun, nítorí èkejì nílò ìyípadà ìtọ́nisọ́nà kì í ṣe ọ̀rọ̀.
Yan orísun tí a túmọ̀ pẹ̀lú ìmọ̀
Nígbà tí ẹ̀rọ náà bá tọ́, àdírẹ́sì orísun jẹ́ ìpinnu ọ̀tọ̀. Èyí kì í ṣe àpẹẹrẹ ẹgbẹ́ IPv4 àti àdírẹ́sì àpẹẹrẹ nìkan:
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 \
-j SNAT --to-source 203.0.113.20
Kíkọ àdírẹ́sì sínú --to-source kì í mú kí ẹnikẹ́ni tọ́ ọ padà sọ́dọ̀ rẹ. Olùpèsè ìsàlẹ̀ tàbí onígbà àdírẹ́sì gbọ́dọ̀ fi àwọn ìdáhùn fún àdírẹ́sì yẹn dé host yìí, àdírẹ́sì sì gbọ́dọ̀ jẹ́ èyí tí o ní àṣẹ láti lò. Bí kò bá rí bẹ́ẹ̀, òfin yóò bá mu yóò sì túmọ̀, àwọn ìdáhùn yóò sì ṣì lọ síbòmíràn.
Yíyí àdírẹ́sì orísun padà kì í ṣe bí yíyí ìsopọ̀ orí padà. Nígbà tí ìbéèrè gidi jẹ́ ọ̀nà ti ara mìíràn, ìlànà ìtọ́nisọ́nà gbọ́dọ̀ kọ́kọ́ yan ọ̀nà yẹn; lẹ́yìn náà SNAT yóò tún orísun kọ sórí ẹ̀rọ tí ìlànà náà yàn. Àwọn àmì mìíràn lórí eth0 kì í fúnni ní ọ̀nà tàbí àṣẹ.
Fi ìsopọ̀ tí o ṣẹ̀ṣẹ̀ ṣí ṣàdánwò
Ṣí ìsopọ̀ alábàáṣepọ̀ tuntun dípò lílo èyí tí ó wà. Ìtọpinpin ìsopọ̀ ń pa ìtumọ̀ tí ó gbà sílẹ̀ nígbà tí ìṣàn náà bẹ̀rẹ̀, nítorí náà ìpàdé àtijọ́ lè máa lo àdírẹ́sì orísun tẹ́lẹ̀ tí yóò sì mú òfin tuntun tí ó tọ́ dà bí ẹni tí ó ti bàjẹ́. Wo kíkàǹtí tí ń gòkè, lẹ́yìn náà wo orísun tí a túmọ̀ lórí okùn tàbí ní ìpẹ̀kun jìnnà.
Fún ọ̀pọ̀lọpọ̀ ẹgbẹ́ tí ó ń pín interface kan, fún ọ̀kọ̀ọ̀kan ní ìbámu orísun tí ó ṣe kedere àti àdírẹ́sì ìtumọ̀ tirẹ̀, pa wọ́n mọ́ nínú ìṣètò tí a ń ṣàkóso ti firewall kí o sì kọ ìtòlẹ́sẹẹsẹ tí a fi ń ṣe ìgbéléwọ̀n wọn. Lẹ́yìn náà kọ ohun tí o ṣàdánwò: ẹ̀rọ láti ip route get, kíkàǹtí tí ó gbéra, àti orísun tí ẹgbẹ́ jìnnà rí. Àkọsílẹ̀ yẹn ń dáhùn ìròyìn tó kàn láìtún ìdàrúdàpọ̀ àmì náà ṣe.