firewalld e tradução de endereços localhost

1

Eu tenho um servidor com Red Hat 7.1 que tem dois endereços IP, um público disponível na Internet na interface bond1 e um privado na LAN corporativa na interface bond0.

Eu tenho o apache 2.4 oferecendo páginas da web na internet, e um proxy reverso configurado para encaminhar algumas solicitações para um servidor tomcat rodando na mesma máquina. Esse servidor tomcat tem dois aplicativos em execução e um deles aceita conexões apenas a partir de 127.0.0.1, e essas solicitações geralmente vêm do outro aplicativo tomcat.

O problema é que os pedidos que um aplicativo tomcat faz para os outros obtêm o endereço IP privado (aquele em bond0) e, portanto, são rejeitados pelo tomcat (código de erro 403). Se eu desabilitar o firewalld com systemctl stop firewalld, tudo funcionará como esperado.

Eu sei que o endereço é traduzido de 127.0.0.1 para 172.30.xx.xx porque vejo nos registros do tomcat.

Agora não posso alterar nada no lado do Tomcat, só quero saber quem e por que está traduzindo esse endereço e corrigi-lo.

Obrigado.

    
por fer.marino 27.01.2016 / 13:48

1 resposta

1

para aqueles de vocês que vêm aqui, foi o mascaramento.

firewall-cmd --zone=public --remove-masquerade

e funciona.

Zona pública porque a configuração descrita na pergunta não era a ativa, e tanto bond0 quanto both1 foram adicionados à zona public

    
por 01.02.2016 / 11:27