Wara bidla fl-IP tas-server, ir-regola SNAT għadha ssemmi l-qadima
Mina tista' tikkonnettja filwaqt li kull pakkett mgħoddi jieqaf, għax ir-regola tat-traduzzjoni għadha tikteb mill-ġdid lejn indirizz li l-host m'għadx għandu.
Is-server mar lejn indirizz ġdid, il-klijenti għadhom jikkonnettjaw, u xejn minn dak li jibagħtu ma jasal għall-internet. Din il-qasma hija l-ħjiel: is-sokit li jisma' u l-port forwarding għaddew mill-bidla, għalhekk il-mina titla', filwaqt li t-traduzzjoni tas-sors applikata fuq il-pakketti mgħoddija għadha ssemmi indirizz li l-host m'għadx għandu. It-tweġibiet għal dawk il-pakketti miktubin mill-ġdid imorru lejn magna li m'għadhiex hemm.
Il-konnessjoni u l-forwarding ifallu f'postijiet differenti
L-istabbiliment jiddependi mill-punt tat-tmiem li l-klijenti diġà jafu: l-indirizz pubbliku, il-port forwarding quddiemu u s-semmiegħa ġewwa. It-traffiku mgħoddi jiddependi minn deċiżjoni oħra li tittieħed wara li l-pakkett jidħol fil-mina, meta l-host jikteb mill-ġdid is-sors tiegħu sabiex it-tweġibiet isibu triqthom lura.
Bidla fl-indirizz tkisser biss it-tieni deċiżjoni, u għalhekk is-sintomu jinqara bħala "konness imma mingħajr internet". Dan jispjega wkoll għaliex il-kontrolli tas-soltu fuq in-naħa tal-klijent jidhru sħaħ: il-handshake jitlesta, il-klijent jirċievi indirizz, u saħansitra ping lejn l-indirizz tal-mina tas-server jista' jwieġeb. Jiġu mitlufa sigħat fuq il-klijent għal ħsara li tgħix in-naħa l-oħra, u għalhekk it-tabella tar-regoli hija l-ewwel post fejn wieħed iħares.
Aqra r-regola u l-kontaturi tagħha qabel ma teditja
Elenka r-regoli tat-traduzzjoni bil-kontaturi u qabbel is-sors ikkonfigurat mal-indirizzi li l-host fil-fatt għandu. Regola miktuba mill-ġdid lejn indirizz mejjet normalment turi traffiku fit-triq 'il ġewwa, għax il-pakketti jasal għaliha u jiġu tradotti, u xejn fit-triq 'il barra.
sudo iptables -t nat -L POSTROUTING -n -v --line-numbers
ip -4 addr show
Iċċekkja tliet oqsma waqt li tkun hemm: il-pool fil-qbil tas-sors, l-interface tal-ħruġ jekk ir-regola ssemmi waħda, u l-esklużjoni li żżomm it-traffiku bejn il-mini milli jiġi miktub mill-ġdid. Dik l-esklużjoni tintilef faċilment waqt l-editjar, u t-telf tagħha jagħmel it-traffiku bejn il-pari jidher li qed jaħdem filwaqt li t-tweġibiet tiegħu jieħdu triq stramba.
Jekk il-kontaturi jibqgħu fuq iż-żero, il-pakketti qatt ma jaslu għal din ir-regola u l-indirizz mhux il-problema attwali. Fittex regola konkorrenti eqreb fil-katina, li jiġri meta xi ħadd iżid sostitut minflok ma jeditja l-oriġinal. Qabbel in-numri tar-regoli mal-output li ħadt nota tiegħu minuta ilu. L-ordni hija parti mill-konfigurazzjoni, mhux dettall kożmetiku.
Ibdel is-sors, jew waqaf milli ssemmi wieħed
Meta l-host ikollu indirizz stabbli, ibdel ir-regola fil-post tagħha minflok ma żżid oħra. Is-sostituzzjoni bin-numru tar-regola żżomm l-ordni li fuqu jiddependi l-bqija tal-katina.
sudo iptables -t nat -R POSTROUTING 1 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to-source 10.151.0.40
Meta l-indirizz jiġi assenjat b'mod dinamiku, tissemmi l-ebda sors u ħalli l-kernel jagħżel dak attwali mill-interface tal-ħruġ. Dik il-varjant jgħaddi mill-bidla li jmiss mingħajr editjar, bi prezz li jaħbi liema indirizz intuża.
sudo iptables -t nat -R POSTROUTING 1 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -o eth0 -j MASQUERADE
Ikkonferma li l-forwarding tal-IPv4 għadu attivat permezz ta' konfigurazzjoni ġestita, imbagħad agħmel ir-regola permanenti bil-mekkaniżmu tad-distribuzzjoni stess. Bidla magħmula biss fil-kernel li qed jaħdem terġa' lura mar-reboot li jmiss, normalment waqt tieqa ta' manutenzjoni li ħadd ma jgħaqqadha mal-bidla.
Żewġ modi kif tagħmel is-sostituzzjoni ħażin
It-traduzzjoni tal-pool lejn l-indirizz tal-mina tas-server minflok lejn l-indirizz LAN tiegħu tibgħat it-tweġibiet direttament lura fil-mina, fejn jiġu routed lejn klijent li qatt ma talabhom. Il-konnessjoni tieqaf b'mod li jidher bħal linja ta' routing, għax hekk hi.
L-istivar ta' tieni traduzzjoni fuq dik il-qadima hija l-iżball l-ieħor. Tirbaħ l-ewwel regola li taqbel, għalhekk l-entrata skaduta tkompli tittratta l-pakketti sakemm titħassar, u l-kontaturi tar-regola l-ġdida jibqgħu fuq iż-żero filwaqt li kulħadd jakkuża s-sostitut. Ħassar id-duplikat qabel ma żżid xi ħaġa ġdida. Imbagħad aqra l-lista darba oħra u kkonferma li eżattament traduzzjoni waħda taqbel mal-pool.
Jekk il-mina ġġorr ukoll IPv6, erġa' agħmel ir-reviżjoni kollha fuq l-istack l-ieħor. Rotta default tal-IPv6 mingħajr traduzzjoni u mingħajr prefiss routed tfalli bl-istess silenzju, u hija faċli li tinsa għax kollox fuqha jidher identiku.
Is-servizzi li jidħlu jeħtieġu t-traduzzjoni opposta
Servizz fuq klijent VPN li għandu jkun aċċessibbli minn barra jeħtieġ traduzzjoni tad-destinazzjoni, mhux tas-sors: il-port pubbliku jiġi miktub mill-ġdid lejn l-indirizz tal-mina tal-klijent qabel ma jidħol. It-triq tal-forwarding imbagħad teħtieġ regola espliċita li tippermetti dak it-traffiku.
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.9.8.2:8080
Qatt ma tittraduċi l-port li ġġorr il-mina nnifisha, għax dak il-kitba mill-ġdid tinterrompi l-konnessjoni li żżomm is-servizz aċċessibbli. Żomm il-port tal-mina kompletament barra mir-regoli tad-destinazzjoni. Fl-aħħar ivverifika miż-żewġt iħħu: kontaturi fuq ir-regola l-ġdida, qabda qasira fuq it-tagħmir tal-mina u talba waħda lejn indirizz ġewwa l-mina qabel ma tipprova dik pubblika.