Debian
使用 iptables 轉發非標準埠
我在將埠(例如:50001)轉發到另一台 PC(192.168.1.101)時遇到問題。埠 50001 用於遠端桌面(客戶端 PC 正在此埠上偵聽新連接)。
伺服器是一個 Debian,有一個外部介面 (eth0) 和一個內部介面 (eth2)。
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 不起作用。
我已經測試了將 FORWARD 的政策更改為 ACCEPT 並且沒有任何變化。
提前致謝。
我假設您沒有更改 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