socat に似た IoT デバイスのプロキシ サーバーとしての iptables

socat に似た IoT デバイスのプロキシ サーバーとしての iptables

このコマンドを使用して、ポートにヒットしたIoTデバイスからの着信TCPトラフィックをsocatを使用して別の宛先サーバーに転送できます。

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

どこsome-random-host-in-another-network.com宛先サーバーのIPです。変更したいのは、宛先サーバーが実際のIoTデバイスのIPではなく、ゲートウェイサーバーから入ってくるトラフィックを見るようにすることだけです。

IP テーブルがカーネル レベルでこれを処理するとすると、どのように処理すればよいでしょうか。すでに以下のコマンドを使用してみましたが、IPtables では機能しません。セキュリティ グループ経由での受信と tcpdump でのパケットの取得が許可されているポート 5050 で EC2 に Ubuntu インスタンスをホストしています。

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

サーバー上で複数の接続を許可し、インスタンス/ゲートウェイ サーバーの宛先サーバーで認識される IP のみを変更して宛先サーバーにデータを送信するように iptables を設定する方法について教えてください。

関連情報