Centos

iptables 埠轉發故障排除

  • October 22, 2013

我正在嘗試將埠 18600 上的連接轉發到埠 9980。我有這個/etc/sysconfig/iptables

# Generated by iptables-save v1.3.5 on Mon Oct 21 18:30:43 2013
*nat
:PREROUTING ACCEPT [2:280]
:POSTROUTING ACCEPT [12:768]
:OUTPUT ACCEPT [12:768]
-A PREROUTING -p tcp -m tcp --dport 18600 -j REDIRECT --to-ports 9980
COMMIT
# Completed on Mon Oct 21 18:30:43 2013

並向/etc/init.d/iptables status我展示這個:

Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:18600 redir ports 9980 

但是,我可以從 localhost 遠端登錄到埠 9980,但不能 18600。我錯過了什麼?(這是一個基於 CentOS 的虛擬機。)

來自本地機器的數據包不通過 NAT PREROUTING 表。

從另一台機器測試。

如果您需要對源自本地機器的流量進行 DNAT,請使用 NAT OUTPUT 表。

引用自:https://serverfault.com/questions/547684