Iptables блокирует WildFly10 на CentOS 7
У меня сервер 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
1 ответ
Ваши правила не соответствуют тому, чего вы хотите достичь. INPUT
цепочка имеет дело с входящим трафиком и OUTPUT
цепочка занимается выходом трафика. Поэтому для того, чего вы хотите достичь, вам нужно правило, подобное этому (и вам не нужно правило для OUTPUT
цепочка и можно ее снять)
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Кроме того, порядок правил важен, и ваши списки правил не выглядят хорошо. Например, у вас есть правило в 8-й строке, чтобы отклонить все, тогда следующее правило, чтобы принять что-то не будет работать. Итак, поместите правило отклонения всех в конце. У вас также есть много повторяющихся правил, просто удалите их и очистите iptables.
Посмотрите эти страницы, чтобы лучше понять iptables:
Учебное пособие по брандмауэру Linux: таблицы, цепочки, основы IPTables