Attivare NAT con poche righe di codice con IPTABLES

|

Obiettivo della procedura è reindirizzare le chiamate verso un indirizzo:porta verso un altro indirizzo2:porta2.

Passo primo: abilitare nel kernel l'ip forwarding.
Non ne sono sicuro, ma queste inidcazioni potrebbero non funzionare su kernel molto vecchi.

Per abilitarlo runtime:

echo 1 > /proc/sys/net/ipv4/ip_forward

Per rendere la modifica permanente dopo il riavvio, uno dei modi è quello di aggiungere/modificare in /etc/sysctl.conf la riga:

net.ipv4.ip_forward = 1

Se non è stato lanciato il primo comando (quello con echo per intenderci) abilitare il forwarding con

sysctl -p /etc/sysctl.conf

A questo punto dobbiamo solo utilizzare 2 semplici comandi per reindirizzare il traffico:

iptables -t nat -A PREROUTING -d [indirizzo] -p tcp --dport [porta] -j DNAT --to [indirizzo2]:[porta2]
iptables -t nat -A POSTROUTING -d [indirizzo2] -j MASQUERADE

Per chi ha poca familiarità con iptables aggiungo alcuni semplici comandi:
iptables -L -n per vedere l'elenco delle regole (NAT a parte)
iptables -t nat -L -n per vedere l'elenco delle regole di NAT
iptables -f per BUTTARE TUTTE le regole (NAT escluso)
iptables -t nat -f per BUTTARE TUTTE le regole di NAT.

Queste due righe mi hanno tirato fuori dai guai in parecchie occasioni! Spero possano servire anche a voi ;)

Grazie

Mi ha salvato l vita oggi :)

Prego

hei! vedo solo ora che ti ho salvato nel giorno del mio compleanno! Destino? Ciao Ciro!

iptables

ciao, la tua guida è quello che mi serviva, ma volevo chiederti una cosa.
io dovrei reindirizzare tutti i pacchetti indirizzati alla porta 80, attraverso un proxy, installato sulla stessa macchina con impostazioni 127.0.0.1:8123

ho eseguito i primi comandi e le istruzioni di iptables le ho modificate così:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:8123

iptables -t nat -A POSTROUTING -d 127.0.0.1 -j MASQUERADE ( anche se credo non serva )

ma l'indirizzamento dei pacchetti dei browserweb (firefox o chromium, porta 80 ) non funziona dato che non riesco a navigare senza impostare il proxy internamente al browser...
dove sbaglio??

Grazie!

Pusher

Cambia spacciatore!

Scherzo ;) Appena ho un attimo ci penso e ti rispondo!

Ciaoooo