Fórum Ubuntu Linux - PT
Suporte Técnico => Internet, Redes e Segurança => Tópico iniciado por: carlosdantasf em 14 de Maio de 2019, 16:26
-
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
-
Desculpe, onde vc está colocando essas regras? Em qual servidor?
-
Desculpe, onde vc está colocando essas regras? Em qual servidor?
No meu servidor 10.10.1.14 ( tomcat )
-
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.
-
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.
-
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)?
-
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
-
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).
-
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
-
Você leu minha resposta? Eu expliquei lá como fazer.
-
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.