Il-preżentazzjoni ta’ apparat LAN fuq wieħed mill-indirizzi tat-tunnel tal-gateway stess teħtieġ linja waħda ta’ NAT. Il-konnessjoni xorta tfalli, għax l-apparat li jwieġeb ma jafx li l-indirizz tal-klijent jista’ jintlaħaq permezz ta’ dak il-gateway. Segwi l-pakkett mill-klijent ’il ġewwa, imbagħad segwi t-tweġiba lura ’l barra, u n-nofs nieqes isir ovvju.

Ibda mill-perspettiva tal-klijent

Il-klijent f’dan l-eżempju jinsab fil-pool VPN 10.62.0.0/24 u jikkonnettja ma’ 10.62.0.1 fuq il-port 8080. Dak l-indirizz jappartjeni lill-gateway stess, għalhekk il-pakkett jasal fil-kernel tal-gateway u mhux għand peer ieħor. Wara l-gateway, il-LAN hi 172.21.4.0/24. Il-gateway għandu 172.21.4.10 u l-apparat li tassew iservi HTTP hu 172.21.4.40.

Indirizz li jappartjeni lil peer VPN ieħor mhuwiex skambjabbli mal-indirizz tas-servizz tal-gateway. Jekk il-klijent qed jikkonnettja ma’ indirizz ta’ peer, l-ebda regola tal-gateway ma hija involuta xejn, u din il-mixja kollha hija l-każ żbaljat.

Illimita t-traduzzjoni tad-destinazzjoni apposta

Il-verżjoni dejqa tippreżenta port wieħed u tikteb mill-ġdid id-destinazzjoni biss. Il-pakkett iżomm il-protokoll u s-sors tiegħu, u dan hu li jagħmel il-bqija tal-mixja interessanti.

iptables -t nat -A PREROUTING -i tun0 -s 10.62.0.0/24 -d 10.62.0.1 -p tcp --dport 8080 -j DNAT --to-destination 172.21.4.40:80

Regola mingħajr kriterji tal-protokoll u tal-port hija l-verżjoni wiesgħa: iżżomm kwalunkwe port li għażel il-klijent u tbiddel biss l-indirizz. Dan hu leġittimu meta l-host kollu għandu jiġi ppreżentat, u żbaljat meta servizz wieħed kien l-intenzjoni. Aqra r-regola lura u kkonferma l-isem tal-interface. Regola DNAT fuq l-interface żbaljata ma taqbel ma’ xejn, li tipproduċi l-istess timeout bħal regola nieqsa u taħli siegħa tħares lejn l-apparat.

Ħalli l-confine tal-forwarding jaqbel

It-traduzzjoni tbiddel il-header, ma tagħtix permess. B’politika tad-drop default, il-fluss forwardat jeħtieġ l-approvazzjoni tiegħu stess, u d-direzzjoni tar-ritorn teħtieġ ir-regola tal-konnessjoni stabbilita li l-politika tiegħek x’aktarx li diġà għandha.

iptables -A FORWARD -i tun0 -o lan0 -d 172.21.4.40 -p tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Approvazzjoni mingħajr kundizzjoni għal kull fluss DNAT hija usa’ minn dan id-disinn u se tippermetti wkoll mappings li xi ħadd ieħor iżid aktar tard. Semmi d-destinazzjoni u l-port, u ħalli l-bqija magħluq. Jekk il-counters fuq ir-regola tal-forwarding jibqgħu f’żero waqt li l-counters tan-NAT jogħlew, il-pakkett qed jiġi skartat qabel ir-regola tiegħek. Aqra l-ordni tal-katini minflok ma żżid it-tieni kopja.

L-apparat irid iwieġeb b’xi mod

Wara t-traduzzjoni l-apparat jara sors f’10.62.0.0/24. It-tweġiba tiegħu tmur għall-gateway default tiegħu, li hu r-router tal-LAN, mhux il-gateway VPN, sakemm xi ħaġa ma tgħidlux mod ieħor. Żewġ arranġamenti jsewwu dan, u mhumiex ekwivalenti. Rotta fuq l-apparat jew fuq ir-router tal-LAN tibgħat 10.62.0.0/24 għal 172.21.4.10 filwaqt li żżomm is-sors tal-klijent. Traduzzjoni tas-sors limitata taħbi lill-klijent wara l-indirizz LAN tal-gateway minflok.

ip route add 10.62.0.0/24 via 172.21.4.10 dev eth1
iptables -t nat -A POSTROUTING -s 10.62.0.0/24 -d 172.21.4.40 -o lan0 -p tcp --dport 80 -j SNAT --to-source 172.21.4.10

Agħżel skont dak li jeħtieġ is-servizz. Politika għal kull klijent u logs sinifikanti jridu l-forma routed; apparat li ma jistax jingħata rotta, jew servizz li sempliċement irid jara indirizz LAN, jindikaw il-forma tradotta. Tilħaqx regola masquerade globali biex tweġiba waħda taħdem. Taħbi kull klijent minn kull destinazzjoni u tkisser bil-kwiet il-politiki li jiddependu mill-indirizzi tas-sors.

Tittestjax mill-gateway stess

Talba ġġenerata fuq il-gateway lejn 10.62.0.1 toħroġ mill-katina OUTPUT, mhux mill-PREROUTING li tidħol. Il-falliment jew is-suċċess tagħha ma jgħid xejn dwar ir-regola li tħares lejn il-klijent, u hekk in-nies jikkonkludu li regola li taħdem hija miksura.

conntrack -L | grep 172.21.4.40
tcpdump -ni any 'port 8080 or port 80'

Mexxi talba vera tal-klijent u aqra t-tnejn. L-entrata conntrack turi t-traduzzjoni applikata, u l-qabdiet juru jekk it-talba għaddietx għall-LAN u jekk ġietx tweġiba lura lejn it-tunnel. Uża konnessjoni ġdida wara li tbiddel ir-regoli, għax l-istat eżistenti jżomm il-mapping preċedenti tiegħu u se jkompli jfalli bl-mod antik. Imbagħad ikkonferma l-konversazzjoni kollha: l-indirizz tal-apparat, il-permess tal-forwarding u r-rotta tat-tweġiba kollha jiddeskrivu l-istess fluss.

Artikli relatati