У меня есть сервер CentOS 7 без firewalld, но с установленным iptables.
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