iptables 不转发从 80 到 8000 的流量

iptables 不转发从 80 到 8000 的流量

事实证明,iptables 对我来说是一个非常复杂的工具。我尝试执行以下操作:

  1. 接受 80、443、22 上的所有数据包
  2. 转发从 80 到 8000 收到的数据包
  3. 在端口 8096 上仅接受来自一个特定 IP 地址的数据包

问题是,目前只有 SSH 可以工作,Web 服务器没有转发任何流量。注意:Web 服务器确实在端口 8000 上运行。curl localhost:8000输出 html。

这是我的规则/etc/iptables/rules.v4

root@mybox:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http redir ports 8000
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http redir ports 8000

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

root@mybox:~# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

相关内容