iptables como servidor proxy para dispositivos IoT semelhantes ao socat

iptables como servidor proxy para dispositivos IoT semelhantes ao socat

Consigo encaminhar o tráfego TCP de entrada de dispositivos IoT que atingem uma porta para outro servidor de destino usando socat usando este comando

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

ondealgum-host-aleatório-em-outra-rede.comé o IP do servidor de destino. A única coisa que quero mudar é que o servidor de destino veja o tráfego vindo do servidor gateway, não do IP dos dispositivos IoT reais.

Considerando que as tabelas IP lidam com isso no nível do kernel, como faço para lidar com isso? Já tentei usar os comandos abaixo, mas não funciona com IPtables. Estou hospedando uma instância do Ubuntu no EC2 com a porta 5050 permitida para entrada através de grupos de segurança e obtenção de pacotes no 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 me ajude como o iptables será configurado para permitir múltiplas conexões no servidor e transmitir os dados para o servidor de destino apenas alterando o IP visto pelo servidor de destino a partir do servidor de instância/gateway.

informação relacionada