如果我禁用 iptables,它仍然有效。哪条规则导致我的网站超时?

如果我禁用 iptables,它仍然有效。哪条规则导致我的网站超时?

我有一个带 nginx 的 VPS,但网站无法运行,并且发送了超时。当我禁用 iptables 时,一切都正常。但不知道哪条规则导致了问题。有什么帮助吗?

$sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p tcp -m tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT

443 和 80 dport 和 sport 规则都是新的。尝试按照网站上的说明打开端口,但没有成功。

答案1

规则的顺序很重要。将使用第一个匹配的规则。在您的例子中,它REJECT位于 之前ACCEPT

您应该考虑(通常是一个好主意)将无条件移至REJECT链的末尾。

答案2

INPUT 链中的 REJECT 规则匹配所有传入数据包,因此应将其放在链的末尾。因此,顺序更改将解决该问题:

1-保存现有的 iptables

sudo iptables-save > /tmp/iptables.txt

2- 编辑文本文件以更改顺序

sudo vi /tmp/iptables.txt

3-恢复已编辑的规则

sudo iptables-restore < /tmp/iptables.txt

相关内容