我正在尝试将端口 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
但是,我可以从本地主机远程登录到端口 9980,但不能远程登录到 18600。我遗漏了什么?(这是一个基于 CentOS 的虚拟机。)
答案1
来自本地机器的数据包不会通过 NAT PREROUTING 表。
从另一台机器测试。
如果需要对来自本地机器的流量进行 DNAT,请使用 NAT OUTPUT 表。