Reenviar paquetes que están destinados a un IP hacia otro

Imagen de Quiliro

Forums: 

Encontré la siguiente regla para reenviar paquetes que están destinados a un IP hacia otro:

sudo iptables -t nat -A PREROUTING -p tcp -d xx.xx.xx.xx --dport -j DNAT --to-destination yy.yy.yy.y

Omití la parte:
--dport

Este es el problema

Imagen de Quiliro

El problema que tengo es:

Tengo un programa en una estación local que pide conectarse a 192.168.1.20. La estación solía tener el IP 192.168.1.21. Así que ambas pertenecían a la LAN. He cambiado las IPs de ambas máquinas a 10.0.0.20 y 10.0.0.21, repectivamente pero la aplicación en 10.0.0.21 persiste en intentar conectarse a 192.168.1.20 en lugar de a 10.0.0.20.

Mi idea era configurar el router para que reenvíe todos los paquetes que van a 192.168.1.20 para 10.0.0.20. Todo el tráfico que vaya a 192.168.1.20 probablemente irá al router porque es lapasarela predeterminada. El router tiene 2 IPs: 10.0.0.1 (LAN) y 192.168.1.2 (WAN).

Saludos
Quiliro
"Yo no uso Linux. Uso software libre." ;-)

No necesitas hacerlo en el router

No necesitas hacerlo en el router, lo puedes hacer en la misma PC pero poniendo la regla en el output:

sudo iptables -t nat -A OUTPUT -d 192.168.1.20 -j DNAT --to 10.0.0.20

----
Edwin Boza
about.me/edwinboza

No es el problema el router

Imagen de Quiliro

Tengo ya dos equipos como router para que no me dé conflicto: un router en sí y uno con un gNewSense. Si tuviera la solución que necesito, no requeriría de dos equipos sino de uno. El router debe reenviar todo el tráfico que va para 192.168.20 a 10.0.0.12 (que se encuentra en la red local) en lugar de mandarlo por la ruta predeterminada (internet) por el 192.168.1.1.

Saludos
Quiliro
"Yo no uso Linux. Uso software libre." ;-)