Redirecionamento IP Externo para Interno [RESOLVIDO]

1. Redirecionamento IP Externo para Interno [RESOLVIDO]

Guilherme Leite
guilherme.leite

(usa Debian)

Enviado em 29/06/2010 - 16:52h

Boa tarde pessoal.

Aqui na minha empresa possuo um Firewall com Iptables juntamente com o Squid.
Em um dos servidores internos, tem um serviço que deve ser acessado pelo browser tanto de fora da minha rede quanto de dentro. Esse serviço roda na porta 8080.

Em meu firewall, coloquei seguinte regra:

$IPTABLES -t nat -A PREROUTING -p tcp -s 0.0.0.0/0.0.0.0 --dport 8080 -i eth0 -j DNAT --to "IP_SERVIDOR":8080

OBS:eth0 é a que está diretamente na internet

Um amigo disse para também add:

$IPTABLES -A OUTPUT -p tcp -m tcp -d IP_SERVIDOR --dport 8080 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p tcp -m tcp -d IP_SERVIDOR --dport 8080 -m state --state ESTABLISHED,RELATED -j ACCEPT

Mas também não deu certo.
A idéia seria por no navegador o IP_EXTERNO:8080 e redirecionar para o servidor da minha rede interna. Se eu colocar o IP_INTERNO:8080, acesso normalmente.

Alguém sabe como fazer isso? Essa minha regra está errada ou precisa de mais alguma?


Obrigado




  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 30/06/2010 - 11:21h

Tava reparando q essa regra sua abaixo:

$IPTABLES -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -s IP_EXTERNO -j DNAT --to-destination IP_INTERNO:8080

Tá errada. Tem q ser assim:

$IPTABLES -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination IP_INTERNO:8080

Dessa forma, qq pessoa pode acessar d fora. Do jeito q vc tava colocando apenas o IP_EXTERNO acessaria. Como eu não sei qual era esse IP, decidi remover.

3. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 29/06/2010 - 17:01h

acredito que vc possa identificar o problema com êste post do magnum:

http://under-linux.org/blogs/magnun/[dica]-problema-comum-no-redirecionando-com-iptables-nat-snat-pa...

aqui mesmo no VOL existem vários outros artigos a respeito do redirecionamento.

Por outro lado, acho mais suave o PFSense (risos - odeio o iptables)


4. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Richard Andrade
richardandrade

(usa Debian)

Enviado em 29/06/2010 - 17:02h

Companheiro, caso for aplicação e a mesma utilize tal porta, você deve liberar o FORWARD dessa porta, agora se é simplesmente uma página ou algum conteúdo, basta o redirecionamento.

OBS: Sua regra de redirecionamento está correta.

Não vejo o porque utilizar a chain OUTPUT, a não ser que a política do seu script esteja para DROP na chain OUTPUT.

agora... se você estiver tentando acessar da rede interna colocando o IP_EXTERNO:8080 não vai funcionar devido que NAT interno não funciona. Vamos colocar da seguinte forma:

3 Máquinas A,B e C

A máquina A envia um pacote A1 com destino a máquina B

Origem A | Destino B
Pacote A1 = AB

A máquina B por sua vez recebe o pacote e redireciona para a máquina C Gerando um pacote A2

Origem A | Destino C
Pacote A2 = AC

A máquina C nota que está na mesma rede e responde diretamente a máquina A Gerando um pacote A3

Origem C | Destino A
Pacote A3 = CA

Só que a máquina A está esperando resposta da máquina B e não da C logo irá descartar a resposta da máquina C e continuar esperando a resposta da máquina B. Há formas de o NAT interno funcionar utilizando um duplo NAT, mas pra mim isso é marretada.

PS: Crédito dessa explicação para Elgio.


Valeu e Abraço.


5. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Guilherme Leite
guilherme.leite

(usa Debian)

Enviado em 29/06/2010 - 17:23h

Richard

É uma aplicação msm...no caso é o Redmine.
Eu usei um DROP na chain OUTPUT, por isso aquela regra.

No caso do FORWARD que você comentou, seria:

$IPTABLES -A FORWARD -p tcp -i eth0 -s IP_EXTERNO -o IP_SERVER_REDMINE --dport 8080 -j ACCEPT

Seria isso ?

Estou começando há pouco com firewall, estou lendo bastante mas ainda restam dúvidas. O meu proxy interfere em algo ??


Obrigado mais uma vez







6. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Richard Andrade
richardandrade

(usa Debian)

Enviado em 29/06/2010 - 17:26h

iptables -v -A FORWARD -p tcp --dport 8080 -j ACCEPT

A Chain OUTPUT será ser aplicada somente pacotes com origem o firewall, logo a regra de OUTPUT não iria intervir, só que não é certo deixar uma regra um tanto intrigante ao seu script.

Não, seu proxy não irá atrapalhar.

Valeu e abraço.


7. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/06/2010 - 20:16h

A regra do DNAT não deu certo? Kra, tem q funcionar. O IP da sua rede externa é fixo? Como estão as regras do seu script? Talvez haja alguma regra q esteja impedindo a entrada dos seus pacotes.


8. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Demi Rodrigues Sousa
nimopank

(usa Debian)

Enviado em 29/06/2010 - 23:19h

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -s 192.168.0.0/24 -j DNAT --to-destination 192.168.150.2:8080


ele pega tudo que está na faixa 192.168.0.0, com a porta 8080 e redireciona para 192.168.150.2... arocha aí se der certo posta aki no vol


9. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Guilherme Leite
guilherme.leite

(usa Debian)

Enviado em 30/06/2010 - 10:44h

Meu IP externo é fixo sim. Por enquanto não deu certo.

As regras relacionadas com esse acesso são:


$IPTABLES -v -A FORWARD -p tcp --dport 8080 -j ACCEPT

$IPTABLES -A FORWARD -p tcp -m tcp -d IP_EXTERNO --dport 8080 -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -s IP_EXTERNO -j DNAT --to-destination IP_INTERNO:8080


Aparecem no script, separadas e nessa ordem. Tem mais alguma coisa pra add? Tentei as regras que foram ditas aqui mas não foi.


Valeu pela ajuda pessoal!


10. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Guilherme Leite
guilherme.leite

(usa Debian)

Enviado em 30/06/2010 - 10:47h

Pelo teste que eu fiz, liberando tudo, acesso meu ip externo normalmente. Mas se ponho IP_EXTERNO:8080, não ocorre o redirecionamento para 192.168.111.111:8080 (por ex.).




11. Re: Redirecionamento IP Externo para Interno [RESOLVIDO]

Guilherme Leite
guilherme.leite

(usa Debian)

Enviado em 30/06/2010 - 11:45h

Boooa Renato!

Faltou um pouco de lógica pra mim.

Era isso mesmo. Está redirecionando agora.
Muito obrigado Renato, e também todos que me ajudaram.

Resolvido.


12. dê retorno..

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 30/06/2010 - 11:47h

então, mano veio, vc clicka em "resolvido" e também em "melhor resposta" aí na resposta do renato pacheco, assim êle pode pedir aumento, promoção, vale-transporte e vale-rango pro fabio :)



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts