iptables como servidor proxy para dispositivos IoT similar a socat

iptables como servidor proxy para dispositivos IoT similar a socat

Puedo reenviar el tráfico TCP entrante desde dispositivos IoT que llegan a un puerto hacia otro servidor de destino usando socat usando este comando

socat TCP-LISTEN:5050,reuseaddr,fork TCP:some-random-host-in-another-network.com:5035

dóndealgún-host-aleatorio-en-otra-red.comes la IP del servidor de destino. Lo único que quiero cambiar es que el servidor de destino vea el tráfico que ingresa desde el servidor de puerta de enlace, no desde la IP de los dispositivos IoT reales.

Teniendo en cuenta que las tablas de IP manejan esto a nivel de kernel, ¿cómo lo manejo? Ya intenté usar los siguientes comandos pero no funciona con IPtables. Estoy alojando una instancia de Ubuntu en EC2 con el puerto 5050 permitido para la entrada a través de grupos de seguridad y la recepción de paquetes en tcpdump.

iptables -t nat -A PREROUTING -p tcp --dport 5050 -j DNAT --to-destination some-random-host-in-another-network.com:5035
iptables -t nat -A POSTROUTING -d some-random-host-in-another-network.com -p tcp --dport 5035 -j MASQUERADE

Por favor, ayúdenme a saber cómo se configurarán iptables para permitir conexiones múltiples en el servidor y transmitir los datos al servidor de destino cambiando solo la IP vista por el servidor de destino a partir del servidor de instancia/puerta de enlace.

información relacionada