我试图转发连接端口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
但是,我可以从本地telnet到端口9980,但不是18600.我错过了什么? (这是一个基于CentOS的虚拟机。)
来自本地机器的数据包不通过NAT PREROUTING表。
从另一台机器testing。
如果您需要DNAT来源于本地计算机的stream量,请使用NAT OUTPUT表。