Tradução do Endereço da Rede
No campo das redes telemáticas , a tradução de endereços de rede ou NAT , ou tradução de endereços de rede , também conhecida como network masquerading , é uma técnica que consiste em modificar os endereços IP contidos nos cabeçalhos dos pacotes em trânsito em um sistema que atua como um roteador dentro de uma comunicação entre dois ou mais hosts .
Alguns tipos específicos de NAT também são bem conhecidos, como mascaramento de IP e encaminhamento de porta .
Descrição
Tipos de NAT
O NAT é frequentemente implementado por roteadores e firewalls .
Uma distinção pode ser feita entre NAT de origem (SNAT) e NAT de destino (DNAT), dependendo se o endereço de origem ou o endereço de destino do pacote que inicia uma nova conexão é alterado .
Os pacotes que viajam na direção oposta serão modificados de acordo, para dar a pelo menos um dos dois computadores que estão se comunicando a ilusão de falar com um endereço IP diferente do realmente usado pela outra parte.
Para implementar o NAT, um roteador precisa, portanto, realizar o rastreamento de conexão , ou seja, acompanhar todas as conexões que passam por ele. Por "conexão" neste contexto entendemos um fluxo bidirecional de pacotes entre dois hosts, identificado por características particulares em níveis acima do nível de rede ( IP ):
- no caso do TCP é uma conexão TCP propriamente dita, caracterizada por um par de portas .
- no caso do UDP , embora o UDP seja um protocolo de transporte sem conexão , uma conexão é considerada uma troca de pacotes UDP entre dois hosts usando o mesmo par de números de porta.
- outros protocolos são tratados de forma semelhante, utilizando características de pacotes em níveis acima do IP para identificar os pacotes que pertencem à mesma conexão.
Fonte NAT
No NAT de origem, as conexões feitas por um ou mais computadores são alteradas de modo a apresentar para o exterior um ou mais endereços IP diferentes dos originais. Então, quem recebe as conexões as vê vindo de um endereço diferente daquele usado por quem realmente as gera.
Razões
Historicamente, o NAT se estabeleceu como um meio de superar a escassez de endereços IP públicos disponíveis, especialmente naqueles países que, ao contrário dos EUA , têm menos espaço de endereços IP per capita.
- Dado que os endereços IP públicos estáticos geralmente têm um preço, para muitos usuários da Internet esse custo de endereços IP extras não seria compensado pelos benefícios que eles poderiam colher. Um IP público dinâmico gerenciado pelo provedor de serviços de Internet (ISP ) é então usado.
- As técnicas usadas para salvar endereços IP públicos tornam os dispositivos não acessíveis diretamente da internet, portanto, essa configuração é frequentemente escolhida por motivos de segurança , mesmo que o NAT não tenha sido projetado para funcionar como um sistema de proteção, por isso permanece cada vez menos eficaz. comparado a um firewall . [1]
Mascaramento de IP ou PAT (Port Address Translation)
O mascaramento de IP (às vezes NAT dinâmico ) é um caso especial de NAT de origem, no qual as conexões geradas por um conjunto de computadores são "apresentadas" para o exterior com um único endereço IP. A técnica também é conhecida como Port Address Translation ( PAT ), IP Overloading ou NAPT (Network Address and Port Translation), pois não apenas os endereços IP, mas também as portas TCP e UDP das conexões em trânsito são alteradas. Esta técnica está codificada em RFC2663 , com o nome de "Network Address Port Translation (NAPT)".
O Network Address e Port Translations são, portanto, Network Address Translation ao qual se acrescenta a função de traduzir as portas e, portanto, dar um mapeamento diferente e dinâmico das portas em relação ao visto de fora. Quando um software solicita o uso de uma determinada porta, que está fechada, o NAPT começa a funcionar, traduzindo-a e redirecionando-a para uma segunda porta aberta. Com este mapeamento, reservamo-nos o direito de utilizar um software mesmo remotamente mas sem abrir portas que possam estar sujeitas a possíveis ataques de vírus ou agressores.
Esse método envolve a identificação de uma rede "interna" (que normalmente usa endereços IP privados) e uma rede "externa" (que normalmente usa endereços IP públicos) e permite gerenciar apenas conexões originadas de hosts na rede "interna".
Cada conexão TCP ou UDP é tratada individualmente: quando a conexão é iniciada, a porta de origem original pode ser alterada e o roteador NAT mantém uma tabela de correspondência entre as portas do endereço externo e as portas privadas e endereços IP correspondentes. Ao receber um pacote TCP ou UDP no endereço IP externo, consulte a tabela para saber para qual host interno e para qual porta enviá-lo. O roteador NAT deve então manter o controle de todas as conexões TCP e UDP ativas entre a rede interna e externa (e tomar cuidado para limpar as entradas não utilizadas desta tabela por meio de um mecanismo de expiração). Algumas implementações alteram sistematicamente as portas de origem de todas as conexões, geralmente usando números de porta muito altos (geralmente acima de 61.000), outras tendem a manter os números de porta originais e só os alteram se um número de porta de origem for usado por dois hosts ao mesmo tempo .
Esta técnica é frequentemente usada para conectar Intranets (redes privadas desenvolvidas no modelo da Internet) à Internet , permitindo manter um plano de endereçamento IP que não permitiria conexão direta com a Internet, salvar endereços IP públicos e "ocultar" o externo uma rede privada. Em uma intranet, os hosts normalmente usam endereços IP privados e precisam de um dispositivo que possa traduzir de um endereço IP privado (válido apenas na Intranet) para um endereço IP público (portanto, utilizável na Internet): esse dispositivo pode ser multi- host conectado fazendo retransmissão de camada 3 ou um roteador típico.
No entanto, alguns hosts podem precisar usar seu próprio endereço de saída público específico, mantendo seu endereço privado. Neste caso, através do NAT estático você pode fazer um mapeamento 1:1 no qual o mascaramento é garantido mas a singularidade do host de saída permite traduzir apenas o endereço IP de origem deixando a porta TCP/UDP inalterada (esta técnica é chamada NAT 444).
Destino NAT
No NAT de destino, as conexões feitas por um ou mais computadores são alteradas para que sejam redirecionadas para endereços IP diferentes dos originais. Então, quem faz as conexões, na verdade, se conecta a um endereço diferente daquele selecionado.
Possíveis Usos do NAT de Destino
- Encaminhamento de porta: em uma configuração de mascaramento , pode ser necessário que alguns hosts ou serviços de rede hospedados na rede "mascarada" sejam acessíveis de fora. Para isso, é usada uma configuração chamada Encaminhamento de porta , em que as conexões com uma porta TCP ou UDP específica do endereço externo são redirecionadas para um determinado host na rede interna.
- Balanceamento de carga de trabalho: através do NAT de destino você pode criar um sistema no qual uma conexão destinada a um endereço IP é redirecionada para outro endereço escolhido entre os de um conjunto de servidores disponíveis. Isso permite distribuir a carga de trabalho entre diferentes servidores, melhorando assim o desempenho do serviço de rede oferecido pelo sistema.
- Gerenciamento de falhas: o NAT de destino pode ser usado para construir um sistema de alta disponibilidade. Um sistema deste tipo deve ser sempre capaz de oferecer o serviço pelo qual é responsável. Todos os servidores estão sujeitos a possíveis falhas. Se você usar um roteador com NAT de destino , o roteador pode detectar a falha do servidor primário e redirecionar as conexões para um servidor secundário, mantendo assim o serviço.
- Transparência do serviço proxy : o NAT de destino pode redirecionar conexões (por exemplo HTTP ) para um servidor especial, chamado proxy , que possui uma memória temporária na qual armazena o conteúdo de sites visitados anteriormente. Se a conexão solicitada por um cliente for para um endereço do qual o proxy já tenha o conteúdo disponível, ele enviará os dados solicitados ao cliente sem a necessidade de fazer uma conexão real com a Internet. Essa técnica é usada por provedores de serviços de Internet para reduzir o uso de largura de banda sem exigir que os clientes configurem seu navegador para oferecer suporte a proxy, embora haja desvantagens.
Duplo NAT
Às vezes é necessário fazer com que duas LANs se comuniquem , ambas conectadas à Internet via mascaramento de IP (por exemplo, dois escritórios da mesma empresa). Nesses casos geralmente é utilizada uma VPN ( Rede Privada Virtual ) entre os dois roteadores que conectam as redes à Internet, direcionando o tráfego entre as duas LANs para a VPN.
Em alguns casos, porém, acontece que as LANs usam o mesmo intervalo de endereços IP, portanto não é possível conectá-las diretamente, mas seria necessário renumerar uma das duas redes, ou reatribuir endereços IP em uma rede diferente. sub-rede para todos os hosts. Esta operação é normalmente cansativa, envolve ineficiências e despesas, pelo que muitas vezes é preferível recorrer a configurações "double NAT", que ocultam as duas redes uma da outra, permitindo que se comuniquem como se não usassem endereços IP sobrepostos.
As configurações de NAT duplo podem ser descritas como combinações de NAT de origem e destino.
Problemas
O NAT é desaprovado pelos puristas de rede, pois prejudica profundamente a simplicidade do IP e viola particularmente o princípio de comunicação "qualquer para qualquer" . Essa crítica "filosófica" tem consequências práticas:
- O roteamento de pacotes depende não apenas do endereço IP de destino, mas também das características da camada de transporte .
- As configurações de NAT podem se tornar muito complexas e difíceis de entender.
- O dispositivo que realiza o NAT deve dedicar uma de suas portas para cada conexão ativa entre os PCs internos e externos, limitando consideravelmente o número total de portas utilizáveis.
- O aparato que realiza o NAT precisa manter em memória o status das conexões ativas o tempo todo. Isso, por sua vez, viola um princípio inerente ao design de IP, pelo qual os roteadores não precisam manter um estado de tráfego passando por eles.
- Grandes quantidades de memória no roteador podem ser necessárias
- Os protocolos de alta disponibilidade do roteador, como HSRP , tornam-se muito mais complexos de implementar porque o roteador de backup deve sempre manter uma cópia da tabela NAT do principal atualizada.
- Algumas aplicações inserem nos dados úteis (ou seja, o quadro menos o cabeçalho e a soma de verificação, carga útil ) informações relativas à camada IP ou TCP/UDP. Isso dificulta a travessia de um NAT e o dispositivo NAT deve analisar o tráfego de controle e reescrever essas informações.
Notas
- ^ Tradução de endereço de rede : uma abominação e horror , em otacon22.com . Recuperado em 11/02/2014 .
Itens relacionados
- Encaminhamento de porta : um tipo especial de DNAT.
- Tradução de endereço de porta
- Netfilter com iptables / nftables : programa para configurar NAT em sistemas Linux .
- STUN : sigla para Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs).
- NAPT
- travessia de NAT
- Rede de rascunho
Links externos
- Linux 2.4 NAT HOWTO , em netfilter.org .
- Documento explicando a configuração NAT/PAT em dispositivos Cisco , em ciscozine.com .
- Tradução de endereço de rede (NAT) - documentação da Cisco , em cisco.com .
- Documento em italiano explicando o significado e usos do SNAT/DNAT , em ebruni.it .