Finalmente ho trovato come fare. Per prima cosa, ho dovuto aggiungere -i eth1
alla mia regola "esterna" (eth1 è la mia connessione WAN). Avevo anche bisogno di aggiungere altre due regole. Ecco alla fine con cosa sono arrivato :
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A POSTROUTING -p tcp -d 10.32.25.2 --dport 80 -j MASQUERADE
Hai anche dimenticato di menzionare che l'inoltro dei pacchetti dovrebbe essere abilitato per poter eseguire il NAT di destinazione. Per impostazione predefinita, di solito è disattivato, quindi le regole di iptables non funzioneranno. Può essere abilitato immettendo:
echo 1 > /proc/sys/net/ipv4/ip_forward
Per prima cosa consenti l'inoltro con
echo 1 > /proc/sys/net/ipv4/ip_forward
Quindi imposta le regole di iptable con
IF=eth1
PORT_FROM=8080
PORT_TO=80
DEST=10.32.25.2
iptables -t nat -A PREROUTING -i $IF -p tcp --dport $PORT_FROM -j DNAT --to $DEST:$PORT_TO
iptables -t nat -A POSTROUTING -p tcp -d $DEST --dport $PORT_TO -j MASQUERADE
Puoi inserire queste righe in /etc/rc.local
Per esempio. Nota:poiché Debian jessie lo rende eseguibile e abilita il servizio rc.local tramite
systemctl enable rc-local.service