liberando porta/endereço x.x.x.x:8080 do TOMCAT utilizando um DNS pfsense.

Iniciado por carlosdantasf, 14 de Maio de 2019, 16:26

tópico anterior - próximo tópico

carlosdantasf

Olá galera,  vim aqui solicitar ajuda aos Universitários.


A minha situação é a seguinte:  Tenho um servidor Tomcat7 rodando endereço 10.10.1.14:8080/.     Em outro servidor PFSENSE,  Setei o  DNS hostname.gov.com  para apontar ao endereço 10.10.1.14.

Até Ai tudo bem.

tentei utilizar a  regra
iptables -t nat -A PREROUTING -d hostname.gov.com  -p tcp -m tcp -j DNAT --to-destination 10.10.1.14:8080  a fim de tentar liberar a porta para acesso do DNS sem sucesso
iptables -t nat -A PREROUTING -d hostname.gov.com -p tcp --dport 8080 -j DNAT --to 10.10.1.14     sem sucesso

Só  deu certo com essa regra:   iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080.     assim consegui redirecionar as requisições padrões da 80 para 8080  e obtive êxito. ( JA CONSIGO ACESSAR hostname.gov.br )


O problema é que agora eu  acessso com todas as portas: Ao inves de redirecionar pra 8080 ele parece que liberou todas do http  80-6500. 
 
E eu justamente  tenho uma aplicação apache2 também nesse mesmo servidor, que utiliza a porta 80.   Quero descobrir uma regra que limite o hostname.gov.com para a 8080 ( tomcat7 )  e o hostname2.gov.br para a porta 80 ( apache2 ).

pq do jeito que ta so ta navegando pelo tomcat7.


Espero que vcs entendam o que eu tentei explicar

zekkerj

Desculpe, onde vc está colocando essas regras? Em qual servidor?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

carlosdantasf

Citação de: zekkerj online 14 de Maio de 2019, 16:29
Desculpe, onde vc está colocando essas regras? Em qual servidor?


No meu servidor 10.10.1.14 ( tomcat )

zekkerj

Faça o redirecionamento no próprio pfsense, então. Pq quando ele redireciona, ele pode estar descaracterizando o pacote [leia, alterando também o endereço de origem].

Ou então, divulgue o serviço mantendo a porta 8080, assim vc não precisa redirecionar nada.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

selvaking

Acho que o que vc quer não vai rolar.

O pfsense atribui um nome a um ip

se vc atribui o nome "hostname.gov.com"  ao ip "10.10.1.14"

vc vai acessar seu Apache2 na porta 80 assim: http;//hostname.gov.com

e vc vai acessar seu tomcat na porta 8080 assim: http;//hostname.gov.com:8080

O nome definido no pfsense não muda de acordo com a porta que vc quer acessar. O pfsense não vê portas. Vc entrega um nome e ele te dá um IP.

Vc terá que fazer a sua maquina subir com dois IP. Leia sobre "ip aliás", No pfsense vc atribui um nome a um dos IP e o outro nome ao IP restante.
É claro que nessa situação vc vai ter os dois nomes acessando tanto a porta 80 como a 8080. Então vc pode usar regras de firewall para quando o nome for um só acessar a porta 80 e quando o nome for o outro acessar a porta 8080.
Voce acessaria os dois sites assim:
http;//hostname.gov.com
http;//hostname2.gov.br:8080

Essa seria uma solução.
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

zekkerj

Interessante, eu tinha entendido o problema de forma totalmente diferente (e provavelmente errada).

Que tal explicar exatamente o que quer fazer (sem se preocupar com iptables, apenas diga o resultado que você espera das regras que criou)?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

carlosdantasf

Citação de: zekkerj online 14 de Maio de 2019, 22:58
Interessante, eu tinha entendido o problema de forma totalmente diferente (e provavelmente errada).

Que tal explicar exatamente o que quer fazer (sem se preocupar com iptables, apenas diga o resultado que você espera das regras que criou)?



Eu espero ter os endereços     

http;//hostname.gov.com   funcinando no tomca7 com a porta 10.10.1.14:8080
http;//hostname2.gov.com   funcinando apache2 com a porta 10.10.1.14:80


Quanto a explicação do amigo em relação ao Pfsense é verdade, ele não escuta portas, tenho que redirecionar tudo  via iptables,  essa é a duvida.  Acredito que seja possivel


zekkerj

Ainda não entendi o que você quer fazer com isso. O Apache já escuta a porta 80/tcp por padrão, o Tomcat escuta a porta que você quiser, basta ela estar lute você configurar o conector apropriado. Não precisa nada de iptables pras coisas funcionarem.

A não ser que o que você queira seja esconder o número da porta nos acessos ao Tomcat. Aí não tem jeito, todos os acessos sem número de porta vão pra porta 80/tcp e acabam caindo no Apache, o que não é problema, basta deixar que o próprio Apache faça o redirecionamento. Informe-se sobre o módulo "rewrite" (caso o cliente final puder chegar diretamente ao Tomcat) e sobre o módulo "proxy_ajp" (caso não possa).
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

carlosdantasf

Citação de: zekkerj online 15 de Maio de 2019, 12:33
Ainda não entendi o que você quer fazer com isso. O Apache já escuta a porta 80/tcp por padrão, o Tomcat escuta a porta que você quiser, basta ela estar lute você configurar o conector apropriado. Não precisa nada de iptables pras coisas funcionarem.

A não ser que o que você queira seja esconder o número da porta nos acessos ao Tomcat. Aí não tem jeito, todos os acessos sem número de porta vão pra porta 80/tcp e acabam caindo no Apache, o que não é problema, basta deixar que o próprio Apache faça o redirecionamento. Informe-se sobre o módulo "rewrite" (caso o cliente final puder chegar diretamente ao Tomcat) e sobre o módulo "proxy_ajp" (caso não possa).


Vamos la,  Pra não confundir:    Estou utilizando 2 sites diferentes, em 2 Serviços diferentes

um no "Apache2"  e outro no "Tomcat7" ( ou Apache Tomcat7 )   


o que eu nao estou conseguindo fazer é resolver o DNS dos 2 sites no mesmo endereço ip  10.10.1.14

Por padrão, o site que eu configurei no "apache2"  funciona na porta 80
Por padrão, o site que eu configurei no "tomcat7" que é  porta 8080

só consigo resolver um por vez, ex quando eu digito   hostname.gov.com ou  hostname2.gov.com    só me aparece a pagina do apache.

Tentei até mudar a porta de acesso padrão do Apache2 de 8085 e nada

Lembrando, o meu firewall pfsense funciona em outro servidor. setei o DNS normalmente mesmo assim nao consegui chegar ao meu destino

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

carlosdantasf

Citação de: zekkerj online 15 de Maio de 2019, 13:21
Você leu minha resposta? Eu expliquei lá como fazer.

Obrigado!


A solução é essa mesma, utilizando o modulo proxy_ajp  ou ainda  configurando um conector mod_jk.