Iptables 在 CentOS 7 上阻止了 WildFly10

Iptables 在 CentOS 7 上阻止了 WildFly10

我的 CentOS 7 服务器没有安装防火墙,但是安装了 iptables。

WildFly 10 正在运行,并且已将套接字绑定 http 端口更改8080为。80standalone.xml

我将使用以下命令在 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

答案1

您的规则与您想要实现的目标不符。链INPUT处理传入流量,OUTPUT链处理传出流量。因此,对于您想要实现的目标,您需要一条这样的规则(并且您不需要OUTPUT链规则,可以将其删除):

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

除此之外,规则的顺序也很重要,而你的规则列表看起来不太好。例如,你在第 8 行有一个规则拒绝一切,那么接下来的接受某些内容的规则将不起作用。因此,将所有拒绝规则放在最后。你还有很多重复的规则,只需删除它们并刷新 iptables 即可。

请参阅这些页面以更好地了解 iptables:

Linux 防火墙教程:IPTables 表、链、规则基础知识

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

相关内容