如何在Red Hat Linux(RHEL)中使用IPTable重定向端口?


3

我想将端口80转发到8080.所以我尝试编辑/etc/syscongfig/iptables

-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

但得到了:

# service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore v1.4.7: 
          Line 8 seems to have a -t table  option.

有什么问题?应该怎么做?

Answers:



1

这是你的iptables规则:

-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

但我相信它应该是这样的:

-A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

注意-m tcp添加了。在-p tcp匹配规则或要检查的数据包的协议时,-m tcp明确告知IPTables匹配TCP数据包。这似乎令人困惑,但据我所知,-p tcp需要与-m tcp调用端口特定规则时配对。

如果其他人可以扩展此要求背后的基本原理/逻辑,请在评论中加入其中。


-m tcp因为系统会自动添加-p tcp指定。执行时可以看到这一点iptables-save。虽然iptables可能非常复杂,但它会尽力帮助用户。
Daniel B
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.