Pular para o conteúdo

Redirecionammento de portas com iptables e SNAT

Dica publicada em Linux / Segurança
Adão S. Raul Neto adaoraul
Hits: 37.158 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Redirecionammento de portas com iptables e SNAT

Muitas vezes precisamos fazer com que um cliente externo acesse um servidor existente na nossa rede interna. Para isto utilizamos o redirecionamento de portas. Para isto utilizamos o iptables juntamente coma as tabelas SNAT (nat de origem) e DNAT (nat de destino).

Exemplo:

Temos o nosso servidor interno de WEB (IP 192.168.4.3 :80) e que deve ser acessado a partir do endereço IP da interface externa eth0 (10.0.0.0):

1 - Primeiramente, temos que direcionar a ENTRADA para o WEB Server:

# iptables -t nat -A PREROUTING -p tcp -d 10.0.0.0 --dport 80 -j DNAT --to 192.168.4.3

2 - Agora redirecionaremos a resposta para a máquina cliente, que acessou o servidor:

# iptables -t nat -A POSTROUTING -p tcp -s 192.168.4.3 --sport 80 -j SNAT --to 10.0.0.0

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Baixando fotos de uma câmera digital na "unha"

Code Highlight

Code Igniter - Programando com segurança e velocidade

Instalando o Mercury (cliente MSN)

Redirecionammento de portas

Listando as portas abertas

Configurando sticky bit em diretórios

BlackArch Linux - Usando um repositório para Pentest

Funcionamento e bloqueio do MSN - Squid + Iptables

Filtro de conteúdo web (proxy) integrado ao AD via NTLM

#1 Comentário enviado por d00m em 12/05/2005 - 17:57h
Seguinte, tenho uma máquina que vai ficar como roteador, essa máquina tem uma interface com um ip válido e uma outra que ficará na rede interna.
O que preciso fazer é passar as requisições que cheguem na porta 80 do roteador, va direto para uma outra máquina, até ai bastante simples.

iptables -t nat -A PREROUTING -d 200.180.X.X -p tcp --dport 80 -j DNAT --to-destination 192.168.200.251:80

A questão está no retorno que esta máquina fará, estou usando o SNAT para isso.

iptables -t nat -A POSTROUTING -s 192.168.200.251 --p tcp --sport 80 -j SNAT --to-source 200.180.X.X

Normalmente ao invés de utilizar o SNAT eu definia o router como GW padrão da máquina com o server WEB, porém desta vez não é possível.

Utilizando o tcpdump eu vi que a requisição chega no meu servidor WEB, porem não faz retorno algum.

Eu coloquei um LOG no postrouting do router e não aparece nada...


No web por enquanto não há nenhuma regra ou policy de firewall que possa estar bloqueando, em um teste com default GW para o router, funcionou perfeitamente...


Fico grato por qualquer ajuda :)
#2 Comentário enviado por jacardoso em 18/05/2007 - 10:32h
e se eu quizer usar todas as portas.... vc sitou apenas a porta 80 (web)
se eu quizer usar 3389 (terminal service), 5800 e 5900 (VNC) etc....
#3 Comentário enviado por srf em 07/01/2008 - 22:41h
Olá

tenho a seguinte regra:

iptables -t nat -A PREROUTING -d 201.60.10.26 -p tcp --dport 8080 -j DNAT --to 192.168.0.252:80

Esta regras faz toda requisição que chega de fora do firewall na pota 8080 ser direcionada para o webserver 192.168.0.252 na porta 80

Esta funcionando 100% o povo de fora acessa http://201.60.10.26:8080/ Blz...

O que preciso é que fazer os usuários de dentro da rede interna acessarem o mesmo link...

Isso é possivel?
#4 Comentário enviado por reng.unip em 22/09/2008 - 12:00h
Acredito que a solução seria você instalar e configurar um DNS para sua rede interna.

Contribuir com comentário

Entre na sua conta para comentar.