如何使用 IPTABLES 将端口范围从服务器重定向到另一个 LAN 设备

如何使用 IPTABLES 将端口范围从服务器重定向到另一个 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 有时连接到 2005,而它应该连接到 2001)

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,但不知道如何重定向整个端口范围。

亲切的问候

相关内容