Aṣàwákiri kan béèrè https://203.0.113.10:8443, proxy gba ìsopọ̀ náà, iṣẹ́ tó wà lórí WireGuard peer kò dáhùn rára. Ìlànà DNAT ń ṣe iṣẹ́ rẹ̀; ìdáhùn ni apá tó ń kùnà. Tẹ̀lé pákẹ́ẹ̀tì náà la àwọn ìtumọ̀ méjèèjì kọjá, ìlànà tó ṣàkù yóò sì hàn kedere. Àtúnṣe náà ni gbólóhùn NAT mìíràn nínú hook tó tọ́, kì í ṣe ọ̀nà abẹ́lẹ̀ tuntun.

Tẹ̀lé ìbéèrè kan láti ìbẹ̀rẹ̀ dé ìparí

Ìbéèrè náà dé lórí interface gbogbogbò ti proxy, orísun ni àdírẹ́sì gbogbogbò ti oníbàárà, ibi-ìlọ̀ sì ni àdírẹ́sì proxy. Nínú nat PREROUTING, ìlànà DNAT tún kọ ibi-ìlọ̀ sí àdírẹ́sì ọ̀nà abẹ́lẹ̀ ti peer, 10.90.0.2. Lẹ́yìn náà ìpinnu ìtọ́sọ́nà fi pákẹ́ẹ̀tì jáde nípasẹ̀ wg0, ipa ọ̀nà gbígbé náà sì pé.

Lórí peer, pákẹ́ẹ̀tì náà ń gbé àdírẹ́sì orísun gbogbogbò àkọ́kọ́ báyìí, nítorí kò sí ohun tó tún kọ ọ́. Iṣẹ́ náà gba ìsopọ̀, ó sì fi ìdáhùn rẹ̀ ránṣẹ́ sí gateway àìdábọ̀ tirẹ̀, èyí tó jẹ́ rọuta ilé tó wà níwájú peer. Rọuta yẹn kò ní ipò fún ṣíṣàn tí kò tíì rí rí, nítorí náà yóò ju pákẹ́ẹ̀tì náà sílẹ̀ tàbí yóò túmọ̀ ọ́ sí àdírẹ́sì gbogbogbò tirẹ̀, èyí tí oníbàárà kò ní gbà.

Àìdọ́gba ni gbogbo ìṣòro náà: ìbéèrè ń gba proxy kọjá, ìdáhùn sì ń gbìyànjú láti lọ tààrà. Ìtọ́pinpin ìsopọ̀ proxy ń ṣèrànwọ́ nìkan bí ìdáhùn bá padà wá nípasẹ̀ proxy, kò sì lè padà síbẹ̀ níwọ̀n ìgbà tí àdírẹ́sì orísun ṣì ń tọ́ka sí oníbàárà àkọ́kọ́.

Fi ìtumọ̀ ìpadàbọ̀ kún

Tún kọ orísun ṣíṣàn tí a ń gbé sí àdírẹ́sì ọ̀nà abẹ́lẹ̀ proxy kí ó tó lọ sí peer. Lẹ́yìn náà iṣẹ́ náà dáhùn sí 10.90.0.1, proxy gbà á, ìtọ́pinpin ìsopọ̀ sì yí àwọn ìtumọ̀ méjèèjì padà kí pákẹ́ẹ̀tì náà tó padà sọ́dọ̀ oníbàárà.

iptables -t nat -A PREROUTING -p tcp -m multiport --dports 8080,8443 -j DNAT --to-destination 10.90.0.2
iptables -t nat -A POSTROUTING -d 10.90.0.2 -o wg0 -p tcp -m multiport --dports 8080,8443 -j SNAT --to-source 10.90.0.1

Ìlànà POSTROUTING mọ̀ọ́mọ̀ kúrú: ó bá ibi-ìlọ̀ tí a túmọ̀ àti interface ọ̀nà abẹ́lẹ̀ mu, nítorí náà kò tún kọ ìrìnàjò tí kò ní í ṣe tó ń jáde nípasẹ̀ wg0 lásán. Ìlànà masquerade gbòòrò yóò tún fi àdírẹ́sì oníbàárà pamọ́, ṣùgbọ́n yóò ṣe bẹ́ẹ̀ fún gbogbo ṣíṣàn yóò sì mú kí ó ṣòro láti ṣàyẹ̀wò tábìlì NAT.

Gbé àwọn ìlànà síbi tí ọ̀nà abẹ́lẹ̀ wà

Àwọn ìlànà tó ń tọ́ka sí àdírẹ́sì tàbí interface ọ̀nà abẹ́lẹ̀ gbọdọ̀ ṣiṣẹ́ lẹ́yìn tí wg-quick bá ti ṣètò rẹ̀. A ṣẹ̀dá interface kí PreUp tó dé, ṣùgbọ́n àwọn àdírẹ́sì, MTU, DNS àti ipa ọ̀nà ni a ń lò lẹ́yìn náà, PostUp sì ń ṣiṣẹ́ nígbà tí gbogbo rẹ̀ wà níbùú. Fi àwọn àfikún sínú PostUp àti àwọn ìparẹ́ sínú PreDown.

PostUp = iptables -t nat -A PREROUTING -p tcp -m multiport --dports 8080,8443 -j DNAT --to-destination 10.90.0.2
PostUp = iptables -t nat -A POSTROUTING -d 10.90.0.2 -o wg0 -p tcp -m multiport --dports 8080,8443 -j SNAT --to-source 10.90.0.1
PreDown = iptables -t nat -D PREROUTING -p tcp -m multiport --dports 8080,8443 -j DNAT --to-destination 10.90.0.2
PreDown = iptables -t nat -D POSTROUTING -d 10.90.0.2 -o wg0 -p tcp -m multiport --dports 8080,8443 -j SNAT --to-source 10.90.0.1

Àwọn ìparẹ́ gbọdọ̀ bá àwọn àfikún mu token fún token, pẹ̀lú àwọn ìbámu multiport àti interface. Ìparẹ́ tó yàtọ̀ ní ìbámu kan kò pa ohunkóhun rẹ́, ìsopọ̀ tó kàn yóò sì fi ẹ̀dà kejì ìlànà náà kún. Lẹ́yìn àwọn ìsopọ̀ bíi mélòó kan, tábìlì náà ní àwọn ẹ̀dà tó ṣòro láti so mọ́ ìlà ìṣètò.

Ṣàyẹ̀wò àbájáde pẹ̀lú iptables -t nat -S lẹ́yìn ìsopọ̀ tuntun. Bí ìlànà kan náà bá farahàn lẹ́ẹ̀mejì, ìlà PreDown kò bá mu, ìmútọ́nà náà sì ń kùnà ní ìdákẹ́jẹ́.

Gbígbé, àyọ, àti NAT mìíràn

Mú gbígbé IPv4 ṣiṣẹ́ pẹ́ẹ̀pẹ́ẹ̀, lẹ́yìn náà gba ṣíṣàn tí a ń gbé láàyè nínú tábìlì àyọ. DNAT ń ṣẹlẹ̀ kí ẹ̀wọ̀n FORWARD tó dé, nítorí náà ìlànà àyọ bá ibi-ìlọ̀ tí a túmọ̀ mu, kì í ṣe àdírẹ́sì gbogbogbò. Bí UFW bá ń ṣàkóso firewall, sọ àṣẹ náà gẹ́gẹ́ bí ìlànà ipa ọ̀nà; ìlànà host lásán kò bo ìrìnàjò tí a ń gbé.

Àwọn ìpele NAT méjì mìíràn ṣì lè fọ́ ipa ọ̀nà náà kódà nígbà tí àwọn ìlànà proxy tọ́. Nínú ìsopọ̀ ilé, àdírẹ́sì gbogbogbò jẹ́ ti rọuta, ṣíṣí ibudo nínú firewall rẹ̀ kì í sì í ṣe bí ṣíṣe àkọsílẹ̀ gbígbé ibudo tó ń fi ibudo yẹn ránṣẹ́ sí proxy. Ibudo tó dàbí ṣíṣí láti ìta nígbà tí kò sí ohun tó ń dáhùn sábà máa ń ṣàìní ìyẹn ìtẹ̀wégbẹ́.

Lórí NAT VPS, olùpèsè ń tẹ̀wé ibudo gbogbogbò mọ́ àdírẹ́sì àdáni. Ìtẹ̀wé náà gbọdọ̀ bá ibudo tí o ń kéde mu, àìbámu sì dàbí ọ̀nà abẹ́lẹ̀ tí ó ti ṣègbé. Jẹ́rìí ìtẹ̀wé olùpèsè kí o tó yí ìṣètò WireGuard padà.

Ṣàyẹ̀wò ipa ọ̀nà ìpadàbọ̀, kí o sì gba iye owó náà

Sopọ̀ láti nẹ́tíwọ́kì tí kì í ṣe LAN proxy, lẹ́yìn náà ṣàyẹ̀wò àwọn ìtumọ̀ méjèèjì nígbà tí ìsopọ̀ náà ṣì ṣí:

conntrack -L -p tcp --dport 8080
tcpdump -ni any tcp port 8080

Àkọsílẹ̀ conntrack gbọdọ̀ fi tuple àkọ́kọ́, tuple tí a túmọ̀ àti ìtọ́sọ́nà ìdáhùn hàn. Bí ìdáhùn kò bá sí, peer kò ń fi ọ̀nà abẹ́lẹ̀ ránṣẹ́, èyí tó sábà túmọ̀ sí pé a kò lo ìlànà SNAT tàbí firewall peer fúnra rẹ̀ ju ṣíṣàn náà sílẹ̀.

Tún bẹ̀rẹ̀ lẹ́ẹ̀kan láti fi hàn pé PostUp ń lo àwọn ìlànà lẹ́ẹ̀kan sí i, lẹ́yìn náà dá ọ̀nà abẹ́lẹ̀ dúró kí o sì jẹ́rìí pé PreDown ti yọ wọ́n kúrò. Àwọn ìlànà tó ti kú tó kù lẹ́yìn ìjáde ni ìdí tí ìyípadà tó wá lẹ́yìn fi ń hu ìwà àìsọ́tẹ̀lẹ̀.

Níkẹyìn, gba iye tí SNAT ń ná. Iṣẹ́ náà rí gbogbo ìbéèrè bí ẹni pé ó ti proxy wá, nítorí náà àwọn àkọsílẹ̀ ìwọlé, ààlà ìyára fún oníbàárà kọ̀ọ̀kan àti àwọn àkọsílẹ̀ àdírẹ́sì tí a gbà láàyè kò ń yà àwọn olùlò mọ́. Ọ̀ràn hairpin nílò ìtumọ̀ orísun tirẹ̀ fún àwọn oníbàárà lórí LAN proxy. Bí peer bá nílò àwọn àdírẹ́sì oníbàárà gidi, àyànpọ̀ ni ipa ọ̀nà ìpadàbọ̀ sí nẹ́tíwọ́kì oníbàárà, èyí tó pọ̀ iṣẹ́ ṣùgbọ́n tó ń pa ìsọfúnni mọ́.

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