我在 EC2 实例上执行了以下命令,将传入端口 80 流量转发到端口 8080:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
它没有输出任何东西,但是当我看到转发确实有效时。
我试图在命令行中进行验证,但我不知道如何:
$ iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
根据iptables --help
,该-A
选项需要一个链名作为参数,因此在我的情况下,链名将是PREROUTING
。
还根据iptables --help
:
--list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
但我得到的是:
$ iptables -S PREROUTING
iptables: No chain/target/match by that name.
iptables -S REDIRECT
iptables: No chain/target/match by that name.
如何实际打印我创建的转发规则?
该
PREROUTING
链位于 NAT 表 (iptables -t nat
) 中,因此您需要列出它才能看到它您可以将其概括为所有四个表