Iptables在CentOS 7上封锁了WildFly10

我已经CentOS 7服务器没有firewalld,但安装了iptables

有一个WildFly 10在standalone.xml使用更改的套接字绑定http端口808080进行运行。

我会用这些命令在iptables中打开80端口:

 # iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT 

但服务器仍然无法访问,直到我停止iptables。

如何解决它?


更新:

 #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 --sport 80 -j ACCEPT -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 8080 -j ACCEPT # netstat -nltp | grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10042/java 

你的规则是错误的,你想达到什么目的。 INPUT链处理传入stream量, OUTPUT链处理stream量。 所以为了达到你想达到的目标,你需要一个像这样的规则(你不需要为OUTPUT链规则,并且可以删除它):

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

除此之外,规则的顺序是重要的,你的规则列表看起来不正确。 例如,你在第8行有一条规则来拒绝所有的事情,那么接下来的规则就不能工作。 所以,把所有的拒绝规则放在最后。 你也有很多重复的规则,只是删除它们并刷新iptables。

看到这些页面,以更好地了解iptables:

Linux防火墙教程:IPTables表,链,规则基础

如何在Centos 6上设置基本的iptables防火墙