Problema para acessar NAT internamente [RESOLVIDO]

1. Problema para acessar NAT internamente [RESOLVIDO]

Hiltaro Andrade
hilt

(usa Outra)

Enviado em 06/02/2009 - 11:00h

Ola amigos. Estou com um problema no iptables. Fiz um NAT para uma aplicação rodando na porta 8080:

#PROXY TRANSPARENTE
$IPT -t nat -A PREROUTING -i $IFLAN -p tcp --dport 80 -j REDIRECT --to-port $SQUID

$IPT -t nat -A PREROUTING -i $IFLAN -d $IPWANMAIL -p tcp --dport 8080 -j DNAT --to $PORTAL

$IPT -t nat -A PREROUTING -i $IFWAN -d $IPWANMAIL -p tcp --dport 8080 -j DNAT --to $PORTAL

Mas so estou conseguindo acessa-la pelo endereco $IPWANMAIL externamente. Dentro da LAN so consigo pelo ip original $PORTAL. Ainda coloquei mais essas regras, baseadas em umas q ja tinham pra ver se resolviam, mas nada...

$IPT -A OUTPUT -p TCP -s 0/0 --destination-port 8080 -j ACCEPT
$IPT -A INPUT -p tcp -i $IFWAN --dport 8080 -j ACCEPT
$IPT -A INPUT -p tcp -i $IFLAN --dport 8080 -j ACCEPT

Alguem tem alguma sugestao de qual possa ser o problema? Obrigado.


  


2. MELHOR RESPOSTA

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 07/02/2009 - 12:41h

Tem solução sim. Infelizmente não estou em meu notebook agora para garimpar os posts que já fiz. Mas tem basicamente DUAS soluções:

a) o source nat que mencionaste: precisas que o pacote nateado tenha como ip de origem o do roteador. Segue mais ou menos um exemplo:

# Rede interna: 10.1.0.0/24
# placa interna: eth0
# porta redir: 8080 para IP 10.1.0.5 80
iptables -t nat -A PREROUTING -s 10.1.0.0/24 -i eth0 -p tcp --dport 8080 -j DNAT --to 10.1.0.5:80
iptables -t nat -A POSTROUTING -d 10.1.0.5 -o eth0 -p tcp --dport 80 -j MASQUERADE

Lembrando que MASQUERADE é o mesmo que -j SNAT paraOIPdaInterfaceQueEstáSaindo

(infelizmente estou usando outro computador agora, sem Linux para poder testar)

3. Re: Problema para acessar NAT internamente [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 06/02/2009 - 12:39h

Ok, se entendi o nat interno não estã funcionando, certo?

Veja se a minha explicação do cenário se enquandra com o que descrevi neste tópico:
http://www.vivaolinux.com.br/topico/netfilter-iptables/Redirecionamento-de-portas-2/


4. Re: Problema para acessar NAT internamente [RESOLVIDO]

Richard Andrade
richardandrade

(usa Debian)

Enviado em 06/02/2009 - 13:01h

o nat interno não funciona pq olha só:

se um pc(192.168.0.2) mandar um pacote direcionado supondo pra porta 4000 e chegando no seu destino(roteador)(192.168.0.1) ele direcionar pra outra máquina(192.168.0.3) essa outra máquina irá responder direto, então o pc que mandou o pacote no começo de tudo vai dropar essa resposta, pois está esperando resposta do destino o qual o pacote que ele mandou estava predestinado(192.168.0.2) e não da outra máquina(192.168.0.3).


5. Re: Problema para acessar NAT internamente [RESOLVIDO]

Hiltaro Andrade
hilt

(usa Outra)

Enviado em 06/02/2009 - 21:17h

Realmente... Deve ser isso o que esta acontecendo. Mas nao tem nenhuma solucao para esse caso? Um source NAT resolveria? Preciso que meus funcionarios tambem acessem esse servico internamente, pela url que esta no site da empresa e que aponta para o IP do roteador, externamente. =/
Mas desde já, obrigado pela atenção.


6. Re: Problema para acessar NAT internamente [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 07/02/2009 - 12:43h

(ops, faltou a outra opção)

A outra opção é usar uma ferramenta de redirecionamento de pacotes via aplicação, como o redir ou o rinetd (eu prefiro o rinetd). Nele tu pões a aplicação escutando na porta 8080 e ela recebe os dados e reenvia para o IP e porta que foi configurado


7. Re: Problema para acessar NAT internamente [RESOLVIDO]

Hiltaro Andrade
hilt

(usa Outra)

Enviado em 09/02/2009 - 10:56h

Um super-obrigado elgio.
A solução do SNAT funcionou que foi uma beleza!
Valeu!
=)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts