IPTables reenvía el puerto a otra ip: puerto pero manteniendo la IP de origen original

IPTables reenvía el puerto a otra ip: puerto pero manteniendo la IP de origen original

Sigo las reglas de iptables en la máquina de puerta de enlace (192.168.0.1). Quiero reenviar el puerto 192.168.0.1:80 a 192.168.0.2:8080. Pero necesito mantener la IP de origen original para que el servidor original pueda obtener la IP del cliente. Sigo las siguientes reglas, pero eso cambia la IP de origen del cliente.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8080
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.2 --dport 8080 -j SNAT --to-source 192.168.0.1

¿Hay otras reglas para usar en este escenario?

Respuesta1

Intente eliminar la segunda línea que contiene la regla SNAT. Esa regla no es necesaria.

¿Y cuántas tarjetas de red tienes? ¿Están las dos máquinas 192.168.0.2 y 192.168.0.1 en la misma red? Si ese es el caso, ¿qué ruta usaría la máquina 192.168.0.2 para reenviar los paquetes que recibe en su puerto tcp 8080? ¿Cómo enrutaría este paquete?

información relacionada