Como Redirecionar o tráfego da <porta 80> da interface eth0 (internet) para a <porta 80> da interfac

1. Como Redirecionar o tráfego da <porta 80> da interface eth0 (internet) para a <porta 80> da interfac

Rafael Orsini
rafaeloaf

(usa CentOS)

Enviado em 19/04/2011 - 16:39h

Olá galera.

Estou com um pequeno grande problema. Eu tenho um CentOS 5.5 configurado em um servidor X que tem um IP válido na internet na interface |eth0| e um IP não válido (192.168.1.?) na interface |eth1|.

Neste servidor tenho uma aplicação rodando no Apache Tomcat 6.0.32 (configurado para utilizar a porta 80 como padrão) e algumas regras no |iptables| em funcionamento que aceitam requisições direcionadas às portas 80 e 443 de qualquer interface.

Entretanto, após o "subir a aplicação" é possível acessá-la através da rede local - acessando a aplicação através do IP correspondente à rede local 192.168.1.? na interface eth1 - mas não consigo acessá-la via internet - acessando o IP válido o pelo qual responde a interface eth0.

Neste cenário a solução inicial em observação - que me parece "gambiarra" - foi a de >> redirecionar o tráfego da porta 80 que chega pelo IP válido |eth0| para a mesma porta 80 da interface |eth1| << podendo assim o Tomcat responder a esta requisição.

Alguém pode me ajudar informando uma regra - utilizando o IP tables - onde é possível redirecionar o tráfego proveniente da interface eth0 para a interface eth1 ?

Se isso não é possível com o IPTABLES, você tem uma boa idéia para que solucionarmos este problema?

Minha regra utilizada mas que não funciona é esta:
iptables -A PREROUTING -i eth0 -p tcp --sport 80 -j REDIRECT <e-agora-josé?> --dport 80

Desde já agradeço.

PS: Não se ofenda com a brincadeira entra os sinais "<" e ">". :)


  


2. resposta

Bruno Mota da Silva
bruno mota

(usa Debian)

Enviado em 19/04/2011 - 17:52h

Boa noite caro,

Não sei se irá te ajudar..mais utilizei esse comando para redirecionar todo tráfego na porta 3389 (remote desktop) para meu servidor local.

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
Sendo que:
eth1 interface do debian que possui ip válido...

Tenta:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.x:80


Abraços


3. resposa

Bruno Mota da Silva
bruno mota

(usa Debian)

Enviado em 19/04/2011 - 17:54h

Não sou muito bom no assunto..mais acho que esse seu REDIRECT que está errado.

Se tiver errado me corrigam por favor

Abraços

Bruno Mota


4. Re: Como Redirecionar o tráfego da <porta 80> da interface eth0 (internet) para a <porta 80> da interfac

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 19/04/2011 - 18:05h

Se sua política padrão for DROP então a regra
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
deve funcionar pra você acessar pela internet


5. resposta

Rafael Orsini
rafaeloaf

(usa CentOS)

Enviado em 20/04/2011 - 17:01h

Senhores, muito agradecido pelas respostas.

Tentei fazer com o |iptables|, e isso pra algumas outras pessoas também soou como gambiarra, então já fui barrado de fazer.

Porém, encontrei uma "solução" utilizando o |route| em que eu atribuo como regra >> que o roteamento padrão seja feito pela interface eth0 <<. :)

Funcionou? Sim. Porém ao reiniciar o serviço de rede (com boot ou não) as configurações para saída através do meu gateway de rede interna (eth1) voltam.

Ao executar o comando abaixo depois de reiniciar o serviço de redes:

[...]# /sbin/route
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
200.150.10.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1

Então faço as alterações de rota:

[...]# /sbin/route del default
[...]# /sbin/route add default eth0

E o resultado é:

[...]# /sbin/route
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
200.150.10.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default * 0.0.0.0 U 0 0 0 eth0 <===

Feito isso o problema anterior se resolve. Mas ainda não consigo gravar estas configurações. Alguém me ajuda?

Eu consegui resolver meu problema adicionando as linhas de configuração que alteram as rotas no meu script de inicialização do TOMCAT, mas ainda não sei se é o ideal.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts