在iptables中打开443不起作用

我的CentOS 6.2机器上有iptables。 安装和configurationapache2与SSL支持,并与iptables禁用。

当我添加以下规则:

iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 

当我保存这个并重新启动iptables,在浏览器中的连接超时…任何build议?

完整的脚本

 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [19:1748] -A INPUT -p tcp -m tcp --dport 389 -j 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 -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT 

您将此规则添加到您的iptables的末尾。

如果你有一个:

  iptables -A INPUT -j DROP 

在此之前,数据包将被丢弃,然后再评估您的规则。 您应该尝试将规则放在顶部(插入,而不是附加):

 iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT # -I instead of -A 

此外,iptables立即应用,所以它应该工作,而不保存/重新启动重新启动。

 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 

第一行:如果现在的规则已经匹配,拒绝这个数据包。 REJECT是一个terminal规则,所以如果在匹配之后什么都没有匹配的话就进行评估。

自从443之后,它将永远不会被testing。 您需要将您的规则插入到拒绝行上方的脚本中。

iptables -I用于在活动表上插入规则。

而不是使用iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT将该规则放在INPUT表的末尾,应该使用iptables -I INPUT 5 -p tcp -m tcp --dport 443 -j ACCEPT把它放在INPUT表中的“REJECT”规则之前。

没有必要把它作为表中的第一个条目,只要将该规则放在“拒绝”规则之上就足够了。 此外,您可能更愿意将选项-m state --state NEW添加到您的命令,以便它只会匹配新的连接。