使用iptables转发非标准端口

我遇到问题转发一个端口(例如:50001)到另一台PC(192.168.1.101)。 端口50001用于远程桌面(客户端PC正在侦听此端口上的新连接)。

服务器是一个带有外部接口(eth0)和内部接口(eth2)的Debian

EXTIF="eth0" INTIF="eth2" iptables-restore <<-EOF *nat -A POSTROUTING -o "$EXTIF" -j MASQUERADE COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT -A FORWARD -j LOG COMMIT EOF iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 3389 -j DNAT --to-destination 192.168.1.100:3389 iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 3389 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 1433 -j DNAT --to-destination 192.168.1.100:1433 iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 1433 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 2470 -j DNAT --to-destination 192.168.1.100:2470 iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 2470 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 50001 -j DNAT --to-destination 192.168.1.101:50001 iptables -A FORWARD -p tcp -d 192.168.1.101 --dport 50001 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 

现在…端口3389,1433和2470的转发工作正常。 但50001不起作用。

我已经testing过把FORWARD的政策改为接受,没有任何改变。

提前致谢。

我假设你没有改变RDP在内部服务器上侦听的端口,所以改变线路

 iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 50001 -j DNAT --to-destination 192.168.1.101:50001 iptables -A FORWARD -p tcp -d 192.168.1.101 --dport 50001 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 

 iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 50001 -j DNAT --to-destination 192.168.1.101:3389 iptables -A FORWARD -p tcp -d 192.168.1.101 --dport 3389 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT