Problemas de firewall ao implantar o Tomcat no CentOS

10

Estou tentando implantar um servidor Tomcat em um ambiente CentOS, mas ele não está recebendo solicitações.

A execução do startup.sh funciona corretamente e os logs mostram que o tomcat está sendo executado

16-Dec-2016 13:36:58.440 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
16-Dec-2016 13:36:58.444 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
16-Dec-2016 13:36:58.445 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 14803 ms

Ao executar o netstat para verificar as portas de escuta, ele é mostrado como escutando

$netstat -atnp|grep LISTEN

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      3321/java

Para ignorar o firewall, adicionei uma regra personalizada em iptables.

$iptables -nL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50060
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50030
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50105
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50090
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50075
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:50070
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:123
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Eu adicionei a regra no topo para evitar o erro de adicioná-la após a rejeição geral. Iptables está ativo, pois o serviço retorna o seguinte:

$service iptables status
Redirecting to /bin/systemctl status  iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2016-12-16 13:09:47 EST; 1h 45min ago
Main PID: 728 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/iptables.service

No entanto, a solicitação não está chegando ao Tomcat, pois os logs de acesso ao host local estão vazios.

O Firewalld não está interferindo na conexão porque alega estar desativado:

$firewall-cmd --state
not running

Faltam outras configurações de firewall?

Jared Rox
fonte
Qual versão do CentOS? O que acontece se você executar o status do serviço iptables?
Anthony Fornito
Eu adicionei o restante das regras do iptables. A versão Mi é o CentOS Linux, versão 7.2.1511 (Core). O status do serviço de chamada iptables mostra iptables como ativo.
Jared Rox
Você tentou desativar o firewall? Faça isso para diminuir o problema.
Vikelidis Kostas
OK, então a porta do firewall está aberta e o serviço está escutando. Mas o que acontece quando você tenta se conectar a ele?
Michael Hampton

Respostas:

10

Eu acho que o que está acontecendo aqui é que você está misturando suas tecnologias.

Experimentar:

serviço iptables stop

Veja você ainda recebe a mesma resposta

Se o fizer, será necessário remover o iptables ou o firewalld

Anthony Fornito
fonte