150 likes | 387 Views
TABELA NAT. Professor: João Paulo de Brito Gonçalves. Campus Cachoeiro Curso Técnico em Informática. Network Adress Translation(NAT).
E N D
TABELA NAT Professor: João Paulo de BritoGonçalves Campus Cachoeiro Curso Técnico em Informática
Network Adress Translation(NAT) • NAT (Network Address Translation), ou tradução de endereço de rede, é uma técnica que altera os endereços de um pacote, e altera os pacotes de forma inversa. • O NAT tem três utilidades básicas: o SNAT, O DNAT e proxy transparente. O SNAT ou Source-NAT, consiste em alterar o endereço de origem dos pacotes. A principal utilização do SNAT é o Masquerading, ou mascaramento de IPs, permitindo o compartilhamento de um único endereço IP válido com acesso à internet com uma rede de IPs não-válidos.
NAT: Network Address Translation resto da Internet rede local (e.x., rede caseira) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 Datagramas com origem ou destino nesta rede usam endereços 10.0.0/24 para origem e destino (como usual) Todos os datagramas deixando a rede local têm o mesmo único endereço IP NAT origem: 138.76.29.7, e diferentes números de porta origem
NAT: Network Address Translation • Motivação: a rede local usa apenas um endereço IP, no que concerne ao mundo exterior: • não há necessidade de alocar faixas de endereços do ISP: • apenas um endereço IP é usado para todos os dispositivos • pode modificar endereços de dispositivos na rede local sem notificar o mundo exterior • pode trocar de ISP sem mudar os endereços dos dispositivos na rede local • dispositivos dentro da rede local não são explicitamente endereçáveis, i.e., visíveis do mundo exterior (um incremento de segurança)
NAT: Network Address Translation Implementação: um roteador NAT deve: • datagramas saindo:trocar (IP origem, # porta) de cada datagrama saindo para (IP NAT, novo # porta) . . . clientes/servidores remotos vão responder usando (IP NAT, novo # porta) como endereço destino. • lembrar (na tabela de tradução NAT) cada par de tradução (IP origem, # porta ) para (IP NAT, novo # porta) • datagramas entrando:trocar (IP NAT, novo # porta) nos campos de destino de cada datagrama entrando para o (IP origem, # porta) correspondente armazenado na tabela NAT
3 1 2 4 O: 10.0.0.1, 3345 D: 128.119.40.186, 80 O: 138.76.29.7, 5001 D: 128.119.40.186, 80 1: host 10.0.0.1 envia datagrama p/ 128.119.40.186, 80 2: roteador NAT muda end. origem do datagrama de 10.0.0.1, 3345 p/ 138.76.29.7, 5001, e atualiza tabela O: 128.119.40.186, 80 D: 10.0.0.1, 3345 O: 128.119.40.186, 80 D: 138.76.29.7, 5001 NAT: Network Address Translation Tabela de tradução NAT end. lado WAN end. lado LAN 138.76.29.7, 5001 10.0.0.1, 3345 …… …… 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 4: roteador NAT muda end. destino do datagrama de 138.76.29.7, 5001 p/ 10.0.0.1, 3345 3: Resposta chega p/ end. destino: 138.76.29.7, 5001
NAT: Network Address Translation • campo do número de porta com 16-bits: • 60.000 conexões simultâneas com um único endereço no lado WAN! • NAT é controverso: • roteadores deveriam processar somente até a camada 3 • viola o argumento fim-a-fim • possibilidade do uso de NAT deve ser levado em conta pelos projetistas de aplicações (p.e., P2P) • escassez de endereços, por outro lado, deveria ser resolvida com o IPv6
Source-NAT • O SNAT é feito na chain POSTROUTING, da tabela nat. Ou seja, a alteração no endereço de saída do pacote é a última coisa a ser feita antes de ele ser enviado para a Internet. • POSTROUTING refere-se a pacotes que serão modificados na saída do firewall, ou seja, é uma chain que pode conter regras que alteram o endereço de origem do pacote que entra em uma condição definida pelo administrador e, após atravessar e sair do firewall o pacote passa a ter um novo cabeçalho "mascarando" a origem do mesmo.
Source-NAT • Este tipo de cadeia pertence à tabela NAT e portanto não trata pacotes com destino a serviços instalados e em execução no próprio firewall, como é de costume existir uma certa confusão neste sentido. • O target do pacote deve ser SNAT, e o endereço de saída é especificado pelo parâmetro --to-source <endereço-de-saída>.Também pode ser especificada uma faixa de IPs ou endereços discretos. • Exemplo: iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth0 -j SNAT --to-source 20.13.25.3
Source-NAT • Existe uma modalidade de SNAT chamada Masquera-ding, especialmente útil para fazer SNAT em conexões com IP dinâmico (DHCP, linha discada), que é feita usando como target MAQUERADE e especificando a interface de saída. # iptables -t nat -A POSTROUTING -s 192.168.4.0/24 \ -o ppp0 -j MASQUERADE
Destination-NAT • O Destination-NAT ou DNAT é feito na chain PREROUTING, também da tabela nat. • As alterações no pacote serão feitas antes de qualquer coisa, então todas as outras regras do iptables já irão tratar o pacote com o novo endereço de destino. Para fazer DNAT, é necessário especificar o target DNAT, o novo endereço de destino, com o parâmetro --to-destination <endereço-de-destino>. Podem ser especificados também a interface de entrada. Também é possível fazer redirecionamento de porta usando DNAT.
Destination-NAT • O PREROUTING trata o pacote antes deste entrar no roteamento do servidor e portando pode ter o destino do pacote modificado, sendo utilizado para filtrar alguns serviços que estão em servidores hospedados atrás do firewall. • Basta especificar a porta de entrada, e também a porta no endereço de saída. Abaixo alguns exemplos: • Regra de DNAT simples: # iptables -t nat -A PREROUTING -i eth0 –j DNAT --to-destination 192.168.1.6