Назад | Перейти на главную страницу

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

Ваши правила не соответствуют тому, чего вы хотите достичь. В INPUT цепочка занимается входящим трафиком и OUTPUT цепочка занимается уходящим трафиком. Итак, для того, чего вы хотите достичь, вам понадобится такое правило (и вам не нужно правило для OUTPUT цепочку и можете удалить):

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

Помимо этого, важен порядок правил, и ваши списки правил выглядят не очень хорошо. Например, у вас есть правило в 8-й строке отклонять все, тогда следующее правило принятия чего-либо не сработает. Итак, в конце поставьте правило отклонения всех. У вас также много повторяющихся правил, просто удалите их и сбросьте iptables.

См. Эти страницы, чтобы лучше понять iptables:

Учебное пособие по брандмауэру Linux: таблицы, цепочки, основы правил IPTables

Как настроить базовый брандмауэр Iptables на Centos 6