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의 device1로 리디렉션하려고 하며 외부 포트는 내부 포트(4001 -> 2001, 4002 -> 2002 ..etc)와 일치해야 합니다.

다음 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를 사용해 보았지만 전체 포트 범위를 리디렉션하는 방법을 알 수 없었습니다.

친절한 안부

관련 정보