Este programa tiene un nicho de usuarios mucho más definido, de manera que no me he preocupado mucho de darle compatibilidad retroactiva. Puede usar «iptables -t nat» para hacer reenvío de puertos. De manera que, por ejemplo, en Linux 2.2 podría haber hecho:
#Linux 2.2
#Reenvía los paquetes TCP dirigidos al puerto 8080 de 1.2.3.4 al 80 de
#192.168.1.1
ipmasqadm portfw -a -P tcp -L 1.2.3.4 8080 -R 192.168.1.1 80
Ahora debería hacer:
# Linux 2.4
# Agrega una regla previa al encaminamiento (-A PREROUTING) a la tabla NAT
# (-t nat) de manera que los paquetes TCP (-p tcp) que vayan a 1.2.3.4
# (-d 1.2.3.4), puerto 8080 (--dport 8080) tengan una correspondencia de
# destino (-j DNAT) con 192.168.1.1, puerto 80 (--to 192.168.1.1:80).
iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 \
-j DNAT --to 192.168.1.1:80
Si desea que esta regla altere también las conexiones locales (aquellas que se originen en la propia máquina que hace NAT), puede insertar la misma regla en la cadena OUTPUT (que es para los paquetes locales de salida):
# Linux 2.4
iptables -A OUTPUT -t nat -p tcp -d 1.2.3.4 --dport 8080 \
-j DNAT --to 192.168.1.1:80