iptables 在 CentOS 7 上阻止 WildFly10

Wil*_*Dev 2 iptables port wildfly8 centos7

我有没有 firewalld 但安装了 iptables 的 CentOS 7 服务器。

WildFly 10 正在运行,并将 http 端口更改808080in 的套接字绑定standalone.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
Run Code Online (Sandbox Code Playgroud)

但是在我停止 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
Run Code Online (Sandbox Code Playgroud)

Dia*_*ond 6

你的规则对于你想要达到的目标是错误的。该INPUT链的传入流量和涉及OUTPUT交通外出链交易。因此,对于您想要实现的目标,您需要一个这样的规则(并且您不需要OUTPUT链规则并且可以将其删除):

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

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

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

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

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