Duvida sobre SNAT e DNAT

1. Duvida sobre SNAT e DNAT

Vicente Camilo
carbhonn

(usa Slackware)

Enviado em 06/01/2008 - 23:45h

Olá amigos!
Estou estudando o iptables atravéz do livro Linux iptables e comparando e testando os exempolos do foca linux iptables.
No livro diz q SNAT é para a traduçao do endereço de origem do pacote para ser enviado para a internet e é configurado na POSTROUTING e, que a DNAT traduz o endereço de destino de pacotes entrantes, para pacotes que vem da internet para a rede local. Até ai entendi blz. Mas ao compara isso com o dois exemplos de DNAT do foca fiquei confuso por isso:

*10.4.4 Fazendo DNAT - (Foca)

1º - iptables -t nat -A PREROUTING -s 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2

2º - iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24 -j DNAT --to 200.200.217.40-200.200.217.50

A 1º regra diz q o ip de origem 200...40 da eth0 será traduzido para 192...2.
Até aqui parece ta de acordo com o que eu li, mas, a 2º regra diz que o ip de origem da eth0 -s 192...0/24 será traduzido para o ip 200...40-50,
subentendendo-se que o ip qualquer ip da rede interna será traduzido pelo range especificado de ip da internet. Isso não é uma contradição sendo que é a SNAT é quem traduz os endereços para a internet? E como uma maquina local vai entender o ip remoto como destino do pacote? O pc local nao vai julga-lo como ip remoto e descartar o pacote?
Perdoem minha ignorância, sou um mero estudante querendo aprender da maneira certa e o dia que me tornar um expert em iptables com certeza vou fazer um tuto massa de maneira que possa contribuir também. Valeu galera!


  


2. Re: Duvida sobre SNAT e DNAT

Bicudo
junior0305

(usa Fedora)

Enviado em 07/01/2008 - 09:05h

Cara é o seguinte vou tentar ser bem didatico deixando termos tecnicos de lado certo.
veja a regra abaixo:

iptables -t nat -A PREROUTING -s 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2

explicação da regra a cima:
Pacotes entrantes originados na maquina 200.200.217.40 sendo a interface de origem a eth0 redirecione para maquina 192.168.1.2

Outro exemplo:
Voce utiliza esse tipo de regra no seguinte caso:
Alguem requisitou ao seu firewall a porta 80 (http) a intenção dessa pessoa e visualizar a pagina web da sua empresa, mais o seu firewall nao é um servidor de web(apache) entao ele precisará redirecionar a conexao para a maquina certa ou seja o servidor web que esta em sua rede interna nesse caso vc utiliza esse tipo de regra

explicação SNAT:
Entenda o SNAT como necessario para compartilhamento com a internet fazendo com que todo ip privado ou seja ip de lan pareça estar saindo do ip publico o SNAT
Para entender melhor o SNAT da uma olhada no MASQUERADE que é bem parecido porem com algumas peculiaridades.
ABRAÇO
junior@gilbertojunior.com


3. Esclarecendo

Remy Ponso
RemyLinux

(usa Debian)

Enviado em 17/03/2008 - 10:13h

Vamos esclarecer um pouco mais da parte conceitual.

O pacote IP tem campos de IP e porta de ORIGEM e outros de IP e porta de DESTINO.
O SNAT manipula o IP/porta de origem (no caso aqui tem-se a tão comentada técnica de MASQUERADING, mas SNAT serve também para traduzir apenas IP´s, sem a necessidade da tradução da porta, no caso de a empresa ter vários IP´s válidos na internet.), o SNAT é usado para saída de dados de uma rede interna para a rede externa (internet no caso.).

O DNAT manipula o IP/porta de destino, sendo utilizado na entrada de dados de uma rede externa (internet) para a rede interna. O exemplo do colega acima elucida bem a questão. Porém, cumpre ressaltar um fator:
O DNAT serve apenas para a tradução de IP´s e portas para um mesmo IP interno. Eu não consigo, no caso, com o DNAT fazer com que um mesmo IP externo requisitando porta 25 (SMTP) e também porta 80 (HTTP) vá para dois IP´s distintos na rede interna. Nesse caso, devo utilizar o PAT (Port Address Translation).

Muitas vezes, confunde-se o PAT, com o MASQUERADING, porque ele manipula as portas para que várias máquinas numa rede interna, possam acessar a internet usando apenas um IP válido (na net). Essa técnica é bastante utilizada e difundida em muitas empresas.

Conceitualmente, é assim que funciona, no exemplo do foca, deve haver alguma coisa errada, pois não se usa DNAT na saída de dados de uma rede interna para a net, pois teríamos problemas de conectividade, o endereço de destino de um pacote na net, é um só, aí chegando lá, se o firewall ou o servidor qualquer que seja, tiver de traduzir esse endereço para outro local na rede interna (deles) isso já é outra questão...

Espero ter podido ajudar...
[]´s






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts