У меня сервер CentOS 7 без firewalld, но с установленным iptables.
Вот ' s WildFly 10 работает с измененным http-портом привязки сокета 8080
к 80
в standalone.xml
.
Я бы открыл порт 80 в iptables с этими команды:
# 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
работает с входящим трафиком, а цепочка OUTPUT
- с исходящим трафиком. Итак, для того, чего вы хотите достичь, вам понадобится такое правило (и вам не нужно правило для цепочки OUTPUT
, и вы можете удалить его):
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Кроме этого, порядок правил следующий важно, и ваши списки правил не выглядят нормально. Например, у вас есть правило в 8-й строке отклонять все, тогда следующее правило принятия чего-либо не сработает. Итак, в конце поставьте правило отклонения всех. У вас также много повторяющихся правил, просто удалите их и сбросьте iptables.
См. Эти страницы, чтобы лучше понять iptables:
Учебное пособие по брандмауэру Linux: Таблицы, цепочки, основы правил IPTables