IPTABLES を使用して、サーバーから別の LAN デバイスにポート範囲をリダイレクトするにはどうすればよいですか

IPTABLES を使用して、サーバーから別の LAN デバイスにポート範囲をリダイレクトするにはどうすればよいですか

カスタム ポートでカスタム サービスをホストしているサーバーといくつかの LAN デバイスがあります。すべてのデバイスは Linux を使用しています。サーバーのみがインターネットに公開されています (ポートは転送されます)。

たとえば、x ポート範囲のすべてのトラフィックをデバイス 1 のポート範囲にリダイレクトしようとしています。

サーバーIP: 192.168.5.5

デバイス 1 IP: 10.0.0.1

192.168.5.5:4001 へのリクエストは、ポート 2001 のデバイス 1 (10.0.0.1) にリダイレクトされる必要があります。

ポート範囲 4001:4050 のすべてのトラフィックをポート 2001:2050 のデバイス 1 にリダイレクトしようとしています。外部ポートは内部ポート (4001 -> 2001、4002 -> 2002 など) と一致する必要があります。

私は次の IPTable ルールを使用しましたが、単一ポートのリダイレクトでは正常に機能しましたが、ポート範囲では一致しませんでした: (4001 は 2001 に接続する必要があるのに 2005 に接続することがあります)

IPTABLEルール:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 4000:4050 -j DNAT --to-destination Device_1_IP:2000-2050

iptables -t nat -A POSTROUTING -d device1_ip -p tcp --dport 2000:2050 -j SNAT --to-source Server public ip

rinetd の使用も試みましたが、ポート範囲全体をリダイレクトする方法がわかりませんでした。

敬具

関連情報