Publicado por: mdantasjr | 03/05/2007

NAT no linux


NAT ( Network Address Translation – Tradução de endereços de rede)

NAT, usamos NAT para, por exemplo, compartilharmos nossa conexão internet com as máquinas da rede interna, fazer com que servidores da rede interna sejam “vistos” pelo mundo externo. Ao me referir a externo estou dizendo que é a Internet, enquanto interno, rede interna com endereços ips privados (RFC 1918).

A máquina que faz o NAT lembra como o pacote foi alterado e como o pacote de resposta deve seguir o caminho inverso.

O NAT mais conhecido é o masquerading (disface, mascaramento) ou SNAT (Source NAT) que ocorre quando o endereço de origem do primeiro pacote é alterado. Este NAT é geralmente usado quando se tem uma conexão à Internet (por exemplo) e deseja compartilhá-la com outros computadores. Isto é um tipo de NAT dinâmico.

Quando temos servidores na nossa rede interna e é necessário que as pessoas do mundo externo (Internet) possam acessar estes servidores usamos o NAT estático para mudarmos o destino dos pacotes que chegam na nossa rede.

Quando precisamos encaminhar nossos pacotes destinados a uma aplicação ou porta específica, por exemplo, um proxy fazemos então um proxy transparente onde, para a nossa rede o proxy é usado de maneira não visível para os usuários.

Temos NAT de dois tipos:

* Origem – usado quando o endereço de origem do primeiro pacote é modificado, acontece no momento post-routing, antes de deixar o firewall. Sua forma mais comum é o masquerading ou SNAT.

* Destino – o endereço de destino é modificado. Acontece no pre-routing quando o pacote está prestes a entrar no firewall. Pode ser port-forwardin, load-sharing.

Usando o masquerading (Disfarce!)

Para quem tem uma pequena rede em casa usando adsl ou modem discado e tem o linux na ponta segurando as broncas da rede segue o script mais básico possível:

#Carregando o módulo NAT

/sbin/modprobe iptable_nat

# Adicionando à tabela NAT (-t nat) a regra (-A) após o routing ( -POSTROUTING ) saindo do firewall para todos os pacotes saindo pela interface ppp0 ( -o ppp0) mascarando a conexão (-j MASQUERADE)

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Em seguida habilita-se o forward

echo 1 > /proc/sys/net/ipv4/ip_forward

Até a próxima!!!

Panta Rei


Deixe um comentário

Categorias