
사용자 정의 포트에서 사용자 정의 서비스를 호스팅하는 서버와 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를 사용해 보았지만 전체 포트 범위를 리디렉션하는 방법을 알 수 없었습니다.
친절한 안부