我能够使用 socat 使用此命令将来自 IoT 设备的传入 TCP 流量转发到另一个目标服务器
socat TCP-LISTEN:5050,reuseaddr,fork TCP:some-random-host-in-another-network.com:5035
在哪里另一个网络中的某个随机主机.com是目标服务器 IP。我唯一想改变的是让目标服务器看到来自网关服务器的流量,而不是来自实际 IoT 设备的 IP
考虑到 IP 表在内核级别处理这个问题,我该如何处理?我已经尝试使用以下命令,但它不适用于 IPtables。我在 EC2 上托管 ubuntu 实例,允许端口 5050 通过安全组传入并在 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
请帮我解决如何设置 iptables 以允许服务器上的多个连接并将数据传输到目标服务器,仅更改目标服务器看到的实例/网关服务器的 IP。