iptables 规则对端口 80 不起作用

iptables 规则对端口 80 不起作用

我的虚拟机已设置一些访问 Web 服务器和 SSH 的规则。服务器在内部端口 8080 中运行,并使用 iptables 重定向到端口 80,命令如下:

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

当我将规则添加到 DROP INPUT 并随后添加用于打开端口的规则时

IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT

它不起作用。

我在 SSH 服务器的端口 4422 上进行了相同的设置,并且运行正常,但在 http 服务器上却不行。

IPTABLES-列表:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:4422
ACCEPT     all  --  anywhere             anywhere(this one is for the lo)
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

答案1

进行预路由输入,因此您需要从 8080 接受,而不是 80。

IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT

相关内容