Tipo de conexão nat. Como funciona o NAT

/05.07.2004 20:43/

Nos últimos anos, entre os administradores de rede russos, a moda do FireWall e NAT... Os usuários do Eserv conhecem minha atitude em relação a essas tecnologias desde meados dos anos 90, mas às vezes essas perguntas sobre FireWall / NAT são feitas por novatos, e tenho que me repetir. Portanto, há cerca de um ano, escrevi um artigo separado sobre o FireWall e hoje é a vez do NAT.

Epígrafe

Adicionado em 28.12.2005. O Google fez um bom resumo do problema do NAT: "Os dispositivos NAT, cada vez mais populares em residências e escritórios, permitem que várias máquinas compartilhem um único endereço de Internet. Consequentemente, torna-se cada vez mais difícil para aplicativos como bate-papo por voz, que exigem que os pares endereçar diretamente um ao outro, para fazer uma conexão ponto a ponto confiável. " (Os dispositivos NAT, que estão crescendo em popularidade em residências e escritórios, permitem que várias máquinas compartilhem 1 endereço de internet. Como resultado, aplicativos como Chat de voz exigindo endereçamento direto das partes, cada vez mais difícil criar conexões confiáveis ponto a ponto.)

Índice do documento

História do NAT

Em primeiro lugar, algumas palavras sobre a história do surgimento da necessidade de proxy / gating / tunneling na Internet, a seguir as possibilidades de diferentes abordagens e sua "hierarquia" ficarão mais claras. Como você sabe, uma escassez de endereços IP em um espaço de endereço de 4 bytes foi prevista no início dos anos 90 (além de uma escassez de dinheiro para alugar blocos de endereços em algumas empresas. Portanto, já em março de 1994, concordamos com a segmentação de endereços "do espaço comum - alocação para intervalos específicos de redes locais de endereços IP e a exclusão desses endereços IP do uso na Internet (http://www.ietf.org/rfc/rfc1597.txt março de 1994 Alocação de endereços para internets privadas; citação sobre o objetivo deste documento "Os autores esperam que o uso desses métodos leve a uma economia significativa na alocação de endereços"). Essa solução permitiu que as empresas alocassem pequenos blocos de endereços IP para seus servidores de Internet e, dentro da LAN, endereços IP para suas próprias necessidades foram alocados pelas próprias empresas a partir de intervalos para redes locais. Como resultado, os servidores de Internet da empresa (postal e www / ftp) eram facilmente acessíveis tanto da Internet quanto da LAN, e os computadores dentro da LAN podiam se comunicar sem problemas usando os mesmos protocolos IP. Mas essa decisão ergueu uma barreira entre as redes locais e a Internet. o mesmo endereço IP pode ser usado em diferentes LANs, e desde por esse motivo, a Internet parou de rotear pacotes para endereços de blocos alocados para LANs. Aqueles. na verdade, uma "barreira física" (sem cortar fios, que é o que desfrutavam nos bancos russos após as primeiras invasões, e sem instalar o FireWall, de que gostam agora). As redes ficaram isoladas, como as tarefas são isoladas em sistemas operacionais modernos - cada uma tem seu próprio espaço de endereço. Essa barreira não foi um problema para os correios, uma vez que os servidores de correio corporativo foram instalados na borda das redes e eram visíveis tanto na Internet quanto na LAN. Mas com o acesso da LAN a recursos externos - ao ftp e ainda ganhando popularidade naqueles anos, os servidores http começaram a ter problemas. Se antes era possível interagir diretamente com o servidor de qualquer computador, agora essa oportunidade permanecia com computadores apenas com endereços reais da internet Desde a qual LAN enviar uma resposta a um pacote IP com um endereço local no endereço de retorno - o roteador não será capaz de determinar.

A solução mais simples para este problema - substituição do endereço de retorno na fronteira da rede - estava na superfície e não demorou a ser publicada: em maio de 1994, ou seja, dois meses após a "seção de redes" propor a especificação NAT: http://www.ietf.org/rfc/rfc1631.txt The Network Address Translator (NAT), maio de 1994 Os autores anunciaram isso como uma "solução de curto prazo", ou seja, solução temporária do problema especificado, uma espécie de "hack", até que as soluções normais se tornem generalizadas. Mas, como você sabe, nada é tão permanente quanto o IPv6 temporário, ao contrário do que se esperava, não se enraizou rapidamente e, nos últimos 10 anos, temos testemunhado cada vez mais batalhas nas fronteiras da LAN e da Internet. O NAT se espalhou porque não havia outra solução aceitável para este problema naqueles anos: clientes FTP e clientes HTTP (navegadores) não tinham tempo para se adaptar à nova imagem do mundo, eles não podiam trabalhar a partir de LANs com recursos externos, para fazer a fronteira transparente para eles, eles simplesmente o software foi "enganado" usando NAT - todos os pacotes IP endereçados da LAN para o exterior foram submetidos ao processamento mais simples na fronteira: substituir o endereço IP de retorno pelo endereço real do computador "fronteira", e substituição reversa nos pacotes de entrada. Além disso, o número da porta da LAN de origem também costumava ser substituído. pacotes de máquinas diferentes na LAN podem vir com os mesmos números de porta. Aqueles. não apenas os endereços IP são traduzidos, mas também os números das portas (às vezes as portas do tradutor são chamadas de uma abreviatura PAT separada). Na classificação convencional, o NAT é subdividido em "estático, dinâmico e mascarado", mas na prática o terceiro tipo é usado principalmente, ele permite servir milhares de conexões de LANs através de um endereço real (idealmente), a tradução de porta é sempre usada neste caso. Em um computador NAT ou roteador + NAT, um intervalo de portas usadas para tradução é alocado, por exemplo, com números maiores que 60.000 (a fim de distinguir rapidamente essas portas daquelas alocadas para as próprias necessidades deste computador) e uma tabela dinâmica de corrente sessões / mapeamentos de endereços. Cada pacote de passagem é verificado em relação a esta tabela por porta e as substituições correspondentes são feitas. A tecnologia é tão simples que hoje em dia é cada vez menos comum encontrar um roteador ou modem a cabo sem NAT embutido (e FireWall, que é tão primitivo quanto o NAT), e o NAT já pode ser encontrado até no hub "ah com preços a partir de US $ 40. Para não mencionar "grátis" "NAT incluído em várias versões recentes do Windows com o nome" compartilhamento de conexão" e " compartilhando uma conexão"É a acessibilidade, facilidade de compreensão / uso e pouco exigentes para o software cliente que tornou o NAT merecidamente popular.

NAT "através dos olhos" de programas da Internet

Se na prática tudo fosse tão simples, não seria interessante, mas, é claro, como acontece com qualquer outro truque de software, vários efeitos colaterais desagradáveis ​​imediatamente começaram a surgir no NAT. Na época do surgimento do NAT, um dos protocolos mais populares era o FTP, e foi esse protocolo que se tornou o primeiro protocolo indigesto para o NAT. Isso expôs um problema que nunca foi resolvido de forma alguma com sucesso pelo NAT nestes 10 anos. E, no caso geral, isso não pode ser resolvido no âmbito do NAT, só pode haver encaixes para protocolos específicos, mas esses encaixes não podem ser considerados uma solução confiável. O problema é que em alguns protocolos, entre os quais o mais antigo é o FTP, o endereço IP da máquina cliente é transmitido, e esse endereço IP é utilizado pelo servidor para transferir dados para o cliente. Como, no caso do NAT, o programa cliente rodando da LAN é "enganado" pelo NAT, ele só pode enviar seu próprio endereço IP local para o servidor, ao qual o servidor externo não será capaz de se conectar devido à invisibilidade de redes locais da Internet. protocolos ICQ, MS NetMeeting, RealAudio e muitos outros protocolos, cujos desenvolvedores aparentemente se sentaram em redes sem
NAT O NAT só pode oferecer uma solução para este problema - com base nos números das portas, adivinhe o protocolo específico que está sendo traduzido e comece a monitorar o conteúdo dos pacotes IP. Quando contiverem o comando FTP PORT, que indica: a porta do cliente local (um comando de texto no corpo do pacote, e não no cabeçalho do pacote IP), substitua não apenas os cabeçalhos, mas todo o pacote, com o recálculo da soma de verificação e a organização da escuta telefônica. uma porta de entrada. Infelizmente para o NAT, o protocolo TCP no qual os comandos FTP são transmitidos é um protocolo de streaming organizado - o comando PORT, quando entra na camada IP, pode ser dividido em 2 pacotes (ou até mais, dependendo do cliente FTP e do buffer em o sistema operacional). Portanto, a fim de detectar com segurança o local de spoofing do NAT, "você terá que reconstruir o fluxo TCP original, armazenar em buffer e remontar os pacotes. Voltaremos à" reconstrução do protocolo "no NAT, mas, por enquanto, apenas observaremos o multi- nível hierárquico de erros potenciais e falta de confiabilidade neste processo. Na prática, isso leva ao fato de que o modo FTP padrão usando o comando PORT sobre NAT geralmente NÃO funciona.

Portanto, o "problema de NAT" no protocolo FTP deve ser contornado de uma forma especial em clientes FTP ou em outro proxy FTP especializado intermediário. Para fazer isso no cliente FTP, você precisa mudar para o chamado. "modo passivo" - use o comando PASV em vez do comando PORT. O PASV pede ao servidor FTP para abrir uma porta adicional para si mesmo e informar ao cliente sua: porta. O cliente então se conecta ao especificado (o NAT o engana novamente, o transmite) e a sessão é bem-sucedida. Além da necessidade de suportar o modo PASV no cliente FTP (o ftp.exe padrão não tem), isso requer algum esforço por parte do administrador do servidor FTP - especialmente se também estiver parcialmente bloqueado por Firewalls e NATs ( como um desenvolvedor de FTP - servidores para Eserv eu conheço esses problemas não por boato). Em geral, o NAT aqui não ajuda na conexão, mas interfere.

Agora, sobre a reconstrução do protocolo dentro do NAT para uma solução alternativa transparente para o cliente. Esses poucos NATs que podem fazer isso (embora na prática eles também declarem ao invés de saberem, eles realmente sobem um nível de rede - em vez do encaminhamento mais simples de pacotes com tradução de endereço no cabeçalho, eles começam a fazer a mesma coisa que o TCP pilha faz - montagem de fluxo de TCP de pacotes. Assim, eles se transformam de um roteador superdesenvolvido em um proxy de aplicativo TCP subdesenvolvido. Neste caso, um proxy FTP ou uma porta de FTP. Subdesenvolvido porque o cliente não sabe sobre este proxy e NAT, por sua vez, continua a adivinhar o protocolo e a lidar com uma tarefa que é inconveniente para resolver em seu nível (o nível de pacotes IP).

É muito mais fácil resolver este problema se em vez do NAT ou em adição a ele, você usar imediatamente um proxy especializado (porta FTP) ou proxies TCP universais como Socks ou, em casos extremos, httpS (este caso extremo funcionará melhor no entanto do que o NAT). Eles trabalham inicialmente no nível TCP e não enganam o cliente FTP, mas cooperam com ele. Três camadas de problemas desaparecem de uma vez: o cliente FTP pode usar qualquer modo - ativo ou passivo (em httpS apenas passivo, como em NAT), não há necessidade de adivinhar o protocolo e a montagem de TCP duplo. Além disso, o administrador tem mais oportunidades de influenciar o processo (mais sobre isso depois).

Se o programa cliente não sabe como trabalhar por meio de um proxy especial (praticamente não existem tais proxies, mas vamos falar sobre os piores casos), então, ao usar um proxy Socks, o trabalho do cliente também pode se tornar transparente usando os programas SocksCapture ou FreeCap doméstico. A transparência da borda é sempre um engano, mas SocksCapture ou FreeCap não interceptam pacotes IP, mas chamadas de programa para o sistema operacional, então eles sempre sabem exatamente, ao invés de calcular a partir do fluxo de pacotes, que ação o programa deseja executar e, consequentemente, redirecionar essas ações por meio de Socks -proxy.

NAT vs Socks

Já que estamos falando sobre Socks, preciso dizer algumas palavras sobre esse protocolo de proxy. Além disso, historicamente Socks foi a próxima ferramenta após o NAT para superar a fronteira entre LAN e Internet: o primeiro artigo de revisão "o que é socks" foi publicado em outubro de 1994, a especificação Socks4 logo apareceu (as "versões" anteriores não foram usadas em nenhum products) http: //www.socks.nec.com/protocol/socks4a.protocol e apenas pela 5ª versão em março de 1996 pronta para publicação no ietf como RFC: http://www.ietf.org/rfc/rfc1928. TXT. Existe uma versão russa deste documento - a tradução foi feita por Alexander Gorlach, que na época (97 e 98) trabalhava em nossa empresa e participou da criação do Eserv / 2, veja a página Socks5.

O Socks superou todas as limitações do NAT, além de adicionar pelo menos três ferramentas convenientes que permitem não apenas "proxy" quase qualquer protocolo TCP e UDP, mas também melhorar o controle sobre o uso da Internet a partir da LAN:

  1. O Socks não serve apenas para conexões de saída, mas também permite que você crie sockets de entrada de escuta em uma máquina proxy (método BIND) a pedido de um cliente proxy - isso é necessário apenas para FTP e protocolos multi-conectados semelhantes.
  2. Socks4a e Socks5 permitem que você remova do cliente a tarefa de resolver nomes de domínio no cliente e faça isso diretamente no proxy. Aqueles. a máquina dentro da LAN torna desnecessário um servidor DNS ou mapeamento DNS (através de NAT ou UDPMAP especial), um "tique" de suas preocupações é removido do administrador, além disso, devido ao cache de DNS no servidor, o cliente trabalha mais rápido.
  3. O Socks5 suporta uma variedade de opções para autenticação e autorização explícita do cliente. No NAT, era possível distinguir entre amigos e inimigos apenas por.
Mas embora Socks tenha melhorado a usabilidade em comparação ao NAT, ele continua sendo um "mapeamento programável" universal. Alguns dos problemas do NAT permaneceram sem solução. E eles não podem ser resolvidos em um nível inferior sem a compreensão dos detalhes do protocolo específico sendo proxy. Assim como, por exemplo, um telefone é capaz de transmitir a fala humana, mas não é capaz de entendê-la e filtrar os abusos, portanto, os administradores que desejam controle total sobre o que está acontecendo em sua rede usam proxies especializados.

NAT e proxies especializados através dos olhos de um administrador de sistema

Primeiro de novo pequena excursão na história. O protocolo HTTP foi desenvolvido no início dos anos 90 (a chamada "versão 0.9"), e em meados dos anos 90 tornou-se o "aplicativo matador" da Internet - razão pela qual não apenas os cientistas e militares, mas também " comerciantes e pessoas comuns "começaram a se conectar à Internet. Consequentemente, há uma necessidade de padronização. Em maio de 1996, a especificação HTTP / 1.0 foi lançada sob o número histórico vencedor RFC: 1945. Os autores da especificação já levaram em consideração as novas realidades da Internet, incl. a necessidade de proxy do protocolo para a LAN. Além disso, na prática, o HTTP existe há mais de um ano e tem "experiência de proxy". Portanto, o documento fez as definições e notas necessárias sobre proxies, gateways e túneis. E, de fato, não apenas o protocolo HTTP em si (do ponto de vista de um servidor web regular) foi definido lá, mas também os protocolos HTTP-proxy e HTTPS-proxy foram descritos. O método "CONNECT", introduzido no protocolo HTTP especificamente para fornecer a capacidade de se conectar a servidores HTTP seguros por meio de um proxy, não pode ser limitado à porta 443, mas especificar qualquer porta para conexão. Assim, em face do proxy HTTPS, obtemos outro "mapeamento TCP programável" para qualquer protocolo, embora com recursos muito mais limitados do que o Socks5. Um proxy HTTP para seu protocolo HTTP nativo é outra questão. Ele pode lidar com isso com pleno conhecimento do assunto - armazenar em cache, filtrar por URL e conteúdo, restringir, rotear, autorizar, etc. Freqüentemente, essas ações exigem tais ações não triviais no nível do TCP e outros componentes do sistema operacional que são praticamente impossíveis no nível do pacote NAT ou mapeamento cego de Socks.

O mesmo acontece com qualquer outro protocolo de aplicativo para o qual existam proxies especializados - eles são sempre uma ordem de magnitude mais gerenciável do que os universais de baixo nível. Por exemplo, muitos proxies POP3 permitem filtrar spam, como PopFile (embora seja muito mais correto filtrar spam não no proxy, mas no servidor SMTP). Socks e NAT exigiriam habilidades especiais para entender o protocolo transmitido, ou seja, na verdade, a "emulação" de proxies POP3 não é muito conveniente para isso.

Portanto, o uso de Socks ou NAT para trabalhar com aqueles protocolos para os quais existem proxies especializados (HTTP, HTTPS, FTP, SMTP, POP3, IMAP) ou a arquitetura geralmente aceita de servidores intermediários (SMTP, POP3, IMAP, DNS) pode ser considerada uma solução subótima forçada. Forçado - seja pela incapacidade de usar o tipo de proxy necessário por motivos organizacionais (não há onde colocar o tipo de proxy necessário ou o tipo de conexão não prevê a presença de um único endereço IP real, como é o caso com a Internet via GPRS ou opções de rede doméstica - nestes casos NAT ou "proxies HTTP forçados" já estão do lado do provedor), ou por falta de conhecimento das pessoas responsáveis, incl. admins. Eu não levo em consideração as restrições financeiras, porque há muitas opções de proxies gratuitos ou muito baratos para todos esses protocolos.

Em alguns casos, o uso do Socks5 é bastante justificado - por exemplo, para ICQ e outros mensageiros. Para esses protocolos, proxies especiais simplesmente não são desenvolvidos, uma vez que eles são quase invisíveis no contexto geral de uso da rede. Na ausência de uma droga servidor de e-mail ou pop3 / smtp-proxy Socks5 será o próximo candidato, embora nem todos os clientes de e-mail o suportem, e em alguns ele possui recursos não óbvios (consulte Mozilla ThunderBird).

Ao examinar as opções, o NAT será o "último recurso" - caso nada melhor tenha sido encontrado, ou se o NAT foi originalmente fornecido pelo provedor - em um modem a cabo, roteador, conexão móvel (o NAT é colocado nesses pedaços de ferro , e não um proxy especial para protocolos populares, devido à extrema simplicidade de sua implementação básica: o código-fonte de um plugin NAT UDPMAP semelhante no Eproxy tem apenas 4Kb de tamanho). Alguns dos protocolos não funcionarão, será difícil gerenciar o trabalho. Mas, em tais casos extremos, é melhor trabalhar de alguma forma do que não funcionar.

Aqui está uma explicação detalhada da minha conhecida posição dos últimos 8 anos - "nunca haverá NAT em Eserv" Na grande maioria dos casos, você não precisa de NAT ou já o tem como punição para escolhendo um provedor. no compartilhamento de conexão do Windows, ele funciona exatamente como o NAT.

Consulte também "muleta" para NAT no site da Microsoft: NAT traversal - NAT traversal adaptando aplicativos, configuração de NAT / Firewall sobre UPnP. Se você ouvir a frase NAT traversal pela primeira vez, é porque os desenvolvedores preferem Socks5 em vez de patch crutches, e esta iniciativa não recebeu "suporte de código". Mas o artigo é bom para suas fotos (em contraste com a minha e outra descrição independente de problemas de NAT.

NAT, ICS já está integrado em todas as novas versões do Windows



Em tudo Versões Windows desde 1999, o NAT está incluído. Primeiro com o nome ICS (Internet Connection Sharing), e depois com o seu próprio nome NAT. Aqui está a caixa de diálogo para habilitar o NAT no Windows 2003 (via "Roteamento e Acesso Remoto" system32rrasmgmt.msc).


No Windows XP, o NAT / ICS é habilitado nas propriedades de conexão da Internet.


Se você receber a mensagem "Não é possível permitir o compartilhamento. Erro: 1722: O servidor RPC não está disponível." ("Não é possível habilitar o acesso compartilhado. Erro: 1722: O servidor RPC não está disponível."), Então provavelmente você parou ou desabilitou o serviço de cliente DHCP, você precisa iniciá-lo antes de habilitar o ICS.

NAT através dos olhos de um provedor Linux

(Adendo de 6 de julho de 2004 - a primeira resposta ao artigo. Como no artigo sobre FireWall, vamos passar a palavra ao administrador de sistema real

Citar Se compararmos o trabalho através do NAT com o real, então até agora tive problemas com o NAT apenas com voz, vídeo e transferência de arquivos em programas como o MSN Messenger. Talvez em algumas implementações de NAT "e também haja problemas com ftp ativo, conexão a servidores VPN externos, etc., mas ao trabalhar através de NAT no Linux" (com as configurações apropriadas) não há problemas com isso. A vantagem do NAT neste caso é salvar endereços IP e firewalls.

Se compararmos o NAT com um proxy (como uma forma de acessar a Internet, ou seja, encaminhar solicitações sem considerar as funções de armazenamento em cache, análise de URL etc.), ele funcionará por meio do NAT mais aplicativos e protocolos (todos); não requerido para NAT configurações especiais pelo usuário; proxies são mais exigentes em hardware. Os proxies geralmente não fornecem a funcionalidade Destination NAT (DNAT), embora no Eserv você possa obter uma semelhança parcial do DNAT usando o mapeamento tcp / udp. Fim da citação.

Esta citação mostra que os requisitos dos provedores também são muito diferentes dos administradores nas empresas.

BackLinks

Já não é novidade que os endereços de rede IP não são suficientes para todos os dispositivos que desejam estar na Internet. Atualmente, encontrou-se uma saída para essa situação desenvolvendo o protocolo IPv6, em que o comprimento do endereço é de 128 bits, enquanto o IPv4 atual é de apenas 32 bits. Mas, no início dos anos 2000, outra solução foi encontrada - usar a tradução de endereços de rede ou, abreviadamente, nat. Mais adiante neste artigo, nat será configurado no roteador.

Entrando no menu de configurações do roteador

Tome como exemplo o roteador ZyWALL USG e NXC5200 da ZyXEL.

Em primeiro lugar, vá para as configurações do roteador. Para fazer isso, em qualquer navegador da web, digite 192.168.1.1 na barra de endereço. (endereço padrão do roteador), uma janela aparecerá solicitando que você insira seu nome de usuário e senha.

No campo "Nome de usuário" digite admin, no campo "Senha" digite 1234. Clique em "OK".

Configurando nat em um roteador

Na janela de menu que se abre, vá para a guia "Configuração" (um ícone com duas engrenagens), depois "Rede" e depois "Roteamento". Na janela selecionada, vá até a guia "Roteamento de políticas".

Menu de configurações do roteador ZyXEL

V este menu a política de roteamento está configurada. Na área "Critérios", configuramos os critérios de amostragem do tráfego - qual tráfego precisa ser transmitido (na verdade, configurar o nat) e qual deve ser simplesmente roteado. O tráfego pode ser selecionado de acordo com vários critérios:

  1. Usuário (Usuário);
  2. Por interface (entrada);
  3. Por endereço IP de origem (endereço de origem);
  4. Pelo endereço IP do destinatário (endereço de destino);
  5. Por porta de destino (serviço).

Na área "Next-Hop", atribua um objeto para redirecionamento de tráfego:

Selecionando um objeto de redirecionamento do roteador ZyXEL

Onde "Auto" - o tráfego será redirecionado para a interface global padrão; Gateway - para o endereço especificado nas configurações de gateway; Túnel VPN - túnel privado virtual IPSec; Tronco - uma rota para um “tronco”, onde um “tronco” são várias interfaces configuradas para trabalharem juntas ou em modo redundante; Interface - redireciona para a interface especificada:

É importante não se esquecer de pressionar o botão "OK" sempre que fizer qualquer alteração nas configurações do roteador para salvar as configurações, e não apenas fechar o navegador da web.

Configurando nat em um computador

Como você sabe, o próprio computador pessoal pode servir como roteador. Freqüentemente, há uma situação em que há uma rede de computadores de vários computadores, um dos quais com conexão à Internet. Nessa situação, você não precisa comprar roteadores, mas sim configurar um computador com acesso à Internet como roteador e configurar o nat já nele. Vamos considerar este caso com mais detalhes.

Certifique-se de ter 2 instalados no computador principal que acessa a Internet (vamos chamá-lo de SERVIDOR) placas de rede- o primeiro a se conectar à rede local, o segundo ao provedor. O exemplo usará o operacional Sistema Windows Server 2012.

Para configurar, em primeiro lugar, execute o "Gerenciador de Servidores" (Iniciar -> Ferramentas Administrativas -> Gerenciador de Servidores). A janela de configuração aparecerá:

A partir daqui, gerenciaremos nosso servidor. Para continuar configurando, clique em Adicionar funções e recursos, o que abrirá o Assistente para adicionar funções. Primeira etapa - tipo de instalação:

Na próxima janela, precisamos selecionar a função que instalamos no servidor. Colocamos um daw na frente de "Acesso remoto".

A janela a seguir aparecerá, exibindo uma lista de componentes necessários para a operação. Clique em "Adicionar Componentes", esta janela desaparecerá. Clique em "Avançar".

Na próxima janela, o assistente se oferece para adicionar componentes do servidor. Você não precisa alterar nada, clique em "Avançar".

Sobre próxima página o assistente simplesmente nos informa sobre o trabalho da função "Acesso remoto". Clique em "Avançar".

A próxima etapa é selecionar Serviços de função. Colocamos uma marca antes de "Roteamento", clique em "Avançar".

A próxima janela é novamente informativa, você não precisa selecionar nada, mas você pode marcar a caixa ao lado de "Reiniciar automaticamente no servidor selecionado ...", como resultado o servidor será reiniciado automaticamente após a instalação. Mas você também pode fazer isso manualmente. Clique em "Avançar".

E a última etapa é instalar o servidor diretamente. Após terminar, pressione o botão "Fechar".

Instalação de servidor

Portanto, configuramos o computador que está conectado à Internet em modo servidor. Agora você precisa configurar o nat nele.

Vá para Iniciar / Administração / Roteamento e acesso remoto. Na janela que aparece, do lado esquerdo, encontramos o item "SERVIDOR (localmente)", clique com o botão direito sobre ele e no menu suspenso clique em "Configurar e habilitar roteamento e acesso remoto".

Surgirá o Assistente de Configuração do Servidor de Roteamento e Acesso Remoto, no qual configuraremos o nat.

Na primeira página, somos brevemente apresentados ao assistente - clique em "Avançar". Na próxima etapa, você precisa selecionar um dos serviços que serão executados em este servidor... Selecione "Network Address Translation (NAT)", clique em "Next".

Em seguida, o assistente solicitará que você selecione uma conexão de rede que busque a Internet. A lista conterá ambas as placas de rede (pelo menos, dependendo de quantas delas estão instaladas no servidor). Selecionamos aquele ao qual está conectado cabo de rede fornecedor. Clique em "Avançar".

Na próxima janela, o assistente vai começar a jurar que não consegue encontrar rede local Serviços DHCP ou DNS. Duas opções são oferecidas para continuar - habilitar os serviços básicos ou instalar os serviços posteriormente.

Selecionamos o primeiro item, clique em "Avançar". Na próxima página irei informar em qual faixa o nat vai funcionar. O assistente de configuração seleciona este intervalo automaticamente com base na configuração da conexão de rede conectada à rede local. Clique em "Avançar".

Gama Nat

É isso, o assistente de configuração completa a configuração nat. Clique em "Avançar" e na janela seguinte "Concluir".

A última coisa que falta é configurar os computadores clientes, ou seja, todos os outros computadores da rede local. Para fazer isso, no computador do cliente (isso deve ser feito em cada computador da rede), vá para Iniciar / Painel de Controle / Centro de Rede e Compartilhamento / alterar as configurações do adaptador. Vamos para "Conexões de rede". Clique no ícone com o botão direito do mouse e selecione "Propriedades" no menu suspenso. Na janela que aparece, selecione "Protocolo de Internet Versão 4 (TCP / IPv4)", clique em "Propriedades".

Após o "Gateway padrão" escrever o endereço IP do computador servidor (que foi configurado na última etapa), no campo "Servidor DNS preferencial", escrever o endereço IP do servidor DNS do provedor especificado nas informações de conexão à Internet em o servidor. Pressionamos "OK" e novamente "OK". Tudo, o computador cliente está conectado à Internet.

O princípio de operação de um roteador (roteador)

Ao ler este artigo, acho que todos entendem o que é um roteador e por que você precisa dele, mas alguém já pensou em como ele funciona? Neste artigo, tentarei explicar os princípios básicos do roteador na linguagem mais acessível. Este artigo será útil para administradores de sistema e usuários comuns.

A principal função que funciona em qualquer roteador é o NAT

NAT- A tradução de endereços de rede é usada para substituir endereços IP. Em redes locais, os endereços do tipo 192.168.1.XXX ou similares são usados ​​principalmente, e isso cria um problema de roteamento na Internet global, uma vez que os endereços IP na rede não devem ser duplicados. A solução para este problema é o NAT - os computadores da rede local se conectam à interface local do roteador, recebem endereços IP e um gateway dele (o roteador serve como gateway) e a interface WAN do roteador se conecta à Internet .

Agora, vamos examinar o princípio da tradução NAT:

  • Uma solicitação é feita de qualquer computador da rede local, por exemplo, você tenta acessar qualquer site - o computador envia Esse pedido para o endereço do gateway, ou seja, nosso roteador;
  • O roteador, tendo recebido esta solicitação, registra seu computador como o iniciador da conexão, após o que uma cópia do seu pacote é criada e enviada ao endereço de destino, mas em nome do roteador, e com seu endereço IP, e seu pacote é simplesmente destruído;
  • O servidor para o qual foi enviada a requisição a processa e envia uma resposta, naturalmente para o endereço do roteador. E o roteador já estava esperando por isso, pois criou um registro de que uma resposta deve vir à solicitação do seu computador, e envia para o seu computador. Como você pode ver, de acordo com este esquema, apenas um computador da rede local pode ser o iniciador da conexão, e a resposta do servidor chegará ao computador apenas se o roteador estiver esperando por ele (resposta ao pedido) . Em outras palavras, todas as tentativas de conexão externa irão parar no roteador e serão bem-sucedidas apenas se o roteador fornecer um recurso na porta solicitada ou tiver regras de encaminhamento de porta configuradas, sobre as quais falaremos agora.

Encaminhamento de porta

Encaminhamento de porta- é essencialmente o mesmo que NAT, mas na outra direção, e portanto apenas NAT estático, ou seja, certas solicitações apenas para determinados computadores, porque na rede global eles não podem saber os endereços IP atrás do roteador. Por exemplo, você criou um servidor FTP ou HTTP em seu computador e deseja fornecer acesso a esses recursos, para isso você precisa registrar esta regra no roteador, que irá indicar que todos os pacotes de entrada para a porta desejada (21 ou 80 pol. nosso caso) será transmitido para o endereço IP do nosso computador para uma porta específica (a porta pode ser alterada).

NAT - DMZ

NAT - DMZ- é absolutamente igual ao Port Forwarding, mas com a diferença que você não precisa escrever uma regra para cada porta, você só precisa configurar o NAT - DMZ, que irá transmitir para computador necessário todas as solicitações de entrada para a WAN do roteador. Claro, não é mais possível mudar as portas.

Encaminhamento

Para simplificar a ideia do que é, podemos dizer que é igual ao NAT, mas apenas nas duas direções. Com este esquema, o roteador deve ter mais de 2 interfaces LAN (não portas, mas interfaces), com diferentes espaços de endereço, por exemplo, uma interface IP tem 192.168.0.1, e a outra tem 192.168.1.1. Portanto, os computadores em uma rede receberão o tipo de IP 192.168.0.XXX, e em outra rede 192.168.0.XXX, e seus gateways serão 192.168.0.1 e 192.168.1.1, respectivamente. É assim que você obtém o roteamento bidirecional.

Não se esqueça de sair

O número de endereços IPv4 públicos é insuficiente para atribuir endereços exclusivos a todos os dispositivos conectados à Internet. Na maioria dos casos, as redes são implementadas usando endereços IPv4 privados de acordo com RFC 1918. Na Fig. 1 mostra o intervalo de endereços incluídos no RFC 1918. Provavelmente, o computador no qual você está exibindo o tutorial atualmente recebeu um endereço privado.

Esses endereços privados são usados ​​dentro de uma organização ou entidade com o propósito de interoperar dispositivos localmente. No entanto, como esses endereços não identificam uma empresa ou organização específica, os endereços IPv4 privados não podem ser usados ​​para roteamento pela Internet. Para permitir que um dispositivo com endereço IPv4 privado acesse dispositivos e recursos fora da rede local, o endereço privado deve primeiro ser resolvido para um endereço público.

Conforme mostrado na fig. 2, o NAT fornece tradução de endereço privado para público. Isso permite que um dispositivo com um endereço IPv4 privado acesse recursos fora de sua rede privada, incluindo recursos encontrados na Internet. Combinado com endereços IPv4 privados, o NAT demonstrou ser útil na conservação de endereços IPv4 públicos. Um único endereço IPv4 público pode ser compartilhado por centenas, até milhares, de dispositivos, cada um com um endereço IPv4 privado exclusivo.

Sem o NAT, o espaço de endereços IPv4 teria se esgotado muito antes do ano 2000. Apesar de suas vantagens, o NAT tem várias limitações que serão discutidas em detalhes posteriormente neste capítulo. A solução para o esgotamento do IPv4 e as limitações do NAT é a transição definitiva para o IPv6.

Características NAT

O NAT de tradução de endereços de rede é usado para vários fins, mas o objetivo principal desse mecanismo é preservar os endereços IPv4 públicos. Isso é feito permitindo que as redes usem endereços IPv4 privados para comunicação interna e convertendo-os em endereços públicos apenas quando necessário. Um benefício adicional do NAT - maior privacidade e segurança de rede - é devido ao fato de que ele oculta endereços IPv4 internos de redes externas.

Um roteador NAT pode ser configurado com um ou mais endereços IPv4 públicos válidos. Esses endereços públicos são conhecidos como pool de endereços NAT. Quando um dispositivo interno envia tráfego para fora da rede, um roteador habilitado para NAT converte o endereço IPv4 interno do dispositivo em um endereço público do pool NAT. Parece para os dispositivos externos que todo o tráfego que entra e sai da rede usa endereços IPv4 públicos do pool de endereços fornecido.

Um roteador NAT geralmente é executado na extremidade de uma rede sem saída. Uma rede stub é uma rede que usa uma única conexão com uma rede vizinha, uma rota de entrada e uma rota de saída. No exemplo mostrado na figura, R2 é um roteador de borda. Do ponto de vista do ISP, o roteador R2 cria uma rede sem saída.

Quando um dispositivo em uma rede sem saída requer uma conexão com um dispositivo fora de sua rede, o pacote é encaminhado para um roteador de borda. O roteador de borda executa um processo de NAT traduzindo o endereço privado interno do dispositivo em um endereço público, externo e roteável.

Observação... A conexão com a rede do ISP também pode usar um endereço privado ou um endereço público compartilhado pelos clientes do provedor. No âmbito do tema em consideração, um endereço público é dado como exemplo.

Na terminologia do NAT, "rede interna" se refere ao conjunto de redes envolvidas na tradução. O termo "rede externa" se refere a todas as outras redes.

Ao usar o NAT, os endereços IPv4 representam destinos diferentes, dependendo se estão em uma rede privada ou pública (Internet) e se o tráfego é de entrada ou saída.

O NAT fornece 4 tipos de endereços:

  • dentro do endereço local;
  • dentro do endereço global;
  • endereço local externo;
  • endereço global externo.

Ao determinar o tipo de endereço a ser usado, é importante lembrar que a terminologia NAT é sempre aplicada do ponto de vista de um dispositivo com um endereço resolvível:

  • Endereço internoé o endereço do dispositivo conforme traduzido pelo mecanismo NAT.
  • Endereço externoé o endereço do dispositivo de destino.

O NAT também usa o conceito de localidade ou globalidade em relação aos endereços:

  • Endereço localé qualquer endereço que apareça dentro da rede.
  • Endereço globalé qualquer endereço que apareça fora da rede.

Na figura, o endereço local interno do PC1 é 192.168.10.10. Do ponto de vista do PC1, o servidor web usa o endereço externo 209.165.201.1. Quando os pacotes são enviados do PC1 para o endereço do servidor web global, o endereço local interno do PC1 se traduz em 209.165.200.226 (endereço global interno). O endereço do dispositivo externo geralmente não é traduzido, pois esse endereço geralmente já é um endereço IPv4 público.

Observe que o PC1 usa endereços locais e globais diferentes, e o servidor da web usa o mesmo endereço IPv4 público em ambos os casos. Do ponto de vista do servidor web, o tráfego originado no PC1 parece vir de 209.165.200.226, o endereço global interno.

O roteador NAT (R2 na figura) representa o ponto de demarcação entre as redes interna e externa, bem como entre os endereços local e global.

Os termos "interno" e "externo" são usados ​​em conjunto com os termos "local" e "global" quando se referem a endereços específicos. Na figura, R2 está configurado para usar NAT. Ele usa um pool de endereços públicos atribuídos a hosts internos.

  • Endereço local internoé o endereço de origem visto da rede interna. Na Figura PC1, o endereço IPv4 é 192.168.10.10. Este é o endereço local interno do PC1.
  • Endereço global internoé o endereço de origem visto da rede externa. Na figura, quando PC1 envia tráfego para o servidor da web em 209.165.201.1, R2 traduz o endereço local interno para o endereço global interno. Nesse caso, R2 altera o endereço IPv4 original de 192.168.10.10 para 209.165.200.226. Na terminologia do NAT, o endereço local interno 192.168.10.10 é traduzido para o endereço global interno 209.165.200.226.
  • Endereço global externoé o endereço de destino visto da rede externa. Este é um endereço IPv4 roteado globalmente atribuído a um host na Internet. Por exemplo, o servidor da web pode ser acessado no endereço IPv4 209.165.201.1. Na maioria dos casos, os endereços locais externos e globais externos são os mesmos.
  • Endereço local externoé o endereço de destino visto da rede interna. Neste exemplo, PC1 envia tráfego para o servidor da web com o endereço IPv4 209.165.201.1. Em casos raros, esse endereço pode ser diferente do endereço de destino roteado globalmente.

A figura mostra como o tráfego enviado por um computador interno para um servidor da Web externo por meio de um roteador habilitado para NAT é endereçado. Ele também mostra como o tráfego de retorno é inicialmente endereçado e mapeado.

Observação... O uso de um endereço local externo está além do escopo deste tutorial.

Tipos de tradução de endereços de rede NAT

Existem três mecanismos para traduzir endereços de rede:

  • Tradução de endereço de rede estática (NAT estático)é uma correspondência um a um entre endereços locais e globais.
  • Tradução de endereço de rede dinâmica (NAT dinâmico)é um mapeamento de endereço muitos para muitos entre endereços locais e globais.
  • Tradução de endereço de porta (PAT)é um mapeamento de endereço muitos para um entre endereços locais e globais. Este método também chamado de sobrecarga (NAT com sobrecarga).

Tradução estática de endereços de rede (NAT)

O NAT estático usa mapeamento um-para-um entre endereços locais e globais. Essas correspondências são definidas pelo administrador da rede e permanecem inalteradas.

Na figura, o roteador R2 possui mapeamentos estáticos configurados para os endereços locais internos de Svr1, PC2 e PC3. Quando esses dispositivos enviam tráfego para a Internet, seus endereços locais internos são traduzidos para os endereços globais internos especificados. Para redes externas, esses dispositivos usam endereços IPv4 públicos.

O método de tradução de endereço de rede estático é especialmente útil para servidores da Web ou dispositivos que precisam ter um endereço permanente acessível a partir da Internet - por exemplo, um servidor da Web da empresa. O NAT estático também é adequado para dispositivos que precisam ser acessíveis ao pessoal autorizado que trabalha fora do escritório, mas permanecem fechados para acesso geral através da internet. Por exemplo, um administrador de rede do PC4 pode usar SSH para o endereço global interno Svr1 (209.165.200.226). R2 traduz este endereço global interno para um endereço local interno e conecta a sessão administrativa ao Svr1.

O NAT estático requer um número suficiente de endereços públicos disponíveis para o número total de sessões de usuário simultâneas.

Tradução de endereço NAT dinâmico

A tradução dinâmica de endereços de rede (NAT dinâmico) usa um conjunto de endereços públicos atribuídos por ordem de chegada. Quando o dispositivo interno solicita acesso à rede externa, o NAT dinâmico atribui um endereço IPv4 público disponível do pool.

Na figura, PC3 acessa a Internet usando o primeiro endereço disponível no pool de NAT dinâmico. Outros endereços ainda estão disponíveis para uso. Semelhante ao NAT estático, o NAT dinâmico requer um número suficiente de endereços públicos para suportar o número total de sessões de usuário simultâneas.

Tradução de endereço de porta (PAT)

Também chamado de sobrecarga de NAT, ele mapeia vários endereços IPv4 privados para um ou mais endereços IPv4 públicos. Este é o método usado pela maioria dos roteadores domésticos. O ISP atribui um único endereço ao roteador, mas vários membros da família podem acessar a Internet ao mesmo tempo. Load NAT é o método mais comum para traduzir endereços de rede.

Com esse método, vários endereços podem ser mapeados para um ou mais endereços, uma vez que cada endereço privado também é rastreado por um número de porta. Se um dispositivo iniciar uma sessão TCP / IP, ele criará um valor de porta TCP ou UDP para a origem para identificar exclusivamente a sessão. Quando um roteador NAT recebe um pacote de um cliente, ele usa seu número de porta de origem para identificar exclusivamente uma tradução NAT específica.

O PAT garante que os dispositivos usem um número de porta TCP diferente para cada sessão com um servidor na Internet. Quando uma resposta é retornada do servidor, o número da porta de origem, que se torna o número da porta de destino no postback, determina para qual dispositivo o roteador encaminhará os pacotes correspondentes. O processo PAT também verifica se os pacotes recebidos foram realmente solicitados, aumentando assim a segurança da sessão.

Use os botões Reproduzir e Pausar na figura para controlar a animação.

A animação ilustra o processo de tradução de endereço de porta (PAT). Para distinguir entre as traduções, o mecanismo PAT adiciona números de porta de origem exclusivos ao endereço global interno.

Como R2 processa todos os pacotes, ele usa o número da porta (1331 e 1555 neste exemplo) para identificar o dispositivo de onde veio o pacote. O endereço de origem (SA) é o endereço local interno com o número da porta TCP / IP anexado atribuído. O endereço de destino (DA) é o endereço local externo com o número da porta de serviço anexado. Neste exemplo, a porta de serviço é 80: HTTP.

Para o endereço de origem, R2 traduz o endereço local interno para o endereço global interno com o número da porta anexado. O endereço de destino não muda, mas agora se torna o endereço IP global externo. Quando o servidor web responde, o caminho é percorrido novamente, apenas na ordem reversa.

No exemplo anterior, os números da porta do cliente, 1331 e 1555, não foram alterados no roteador habilitado para NAT. Este cenário não é muito plausível porque é altamente provável que esses números de porta já estejam em uso para outras sessões ativas.

O PAT está tentando preservar a porta de origem original. No caso de a porta de origem original já estar em uso, o PAT atribui o primeiro número de porta disponível, começando do início do grupo de portas correspondente - 0-511, 512-1023 ou 1024-65535. Se não houver mais portas disponíveis e houver vários endereços externos no pool de endereços, o PAT passa para o próximo endereço, tentando alocar a porta de origem original. Esse processo continua até que as portas disponíveis e os endereços IP externos se esgotem.

Para se familiarizar com o princípio de funcionamento do PAT, clique no botão "Play" na figura.

Na animação, os nós selecionam o mesmo número de porta, 1444. Isso é válido para um endereço interno, uma vez que os nós são atribuídos a endereços IP privados exclusivos. Mas em um roteador habilitado para NAT, os números das portas precisam ser alterados. Caso contrário, os pacotes de dois nós diferentes sairiam de R2 com o mesmo endereço de origem. Neste exemplo, durante a tradução PAT, o segundo endereço de nó é atribuído à próxima porta disponível (1445).

Comparação de NAT e PAT

As diferenças entre o NAT e o PAT descritas abaixo o ajudarão a entender as especificações de cada um desses métodos de tradução de endereços de rede.

Conforme mostrado na figura, o NAT traduz endereços IPv4 com base em um esquema 1: 1 para endereços IPv4 privados e endereços IPv4 públicos. Ao mesmo tempo, o PAT altera o endereço e o número da porta.

O NAT encaminha os pacotes de entrada para seu destino interno usando o endereço de origem IPv4 de entrada fornecido por um host na rede pública. Ao usar PAT, geralmente apenas um ou uma pequena quantidade de endereços IPv4 apresentados publicamente. Os pacotes de entrada da rede pública são direcionados para destinos na rede privada usando a tabela do roteador NAT. Essa mesa monitora pares de portas públicas e privadas, o que é chamado de espionagem de conexão.

Pacotes sem segmento da camada 4

O que acontece com os pacotes IPv4 que transportam dados que não são um segmento TCP ou UDP? Esses pacotes não contêm um número de porta da Camada 4. O PAT converte a maioria dos principais protocolos transportados pelo IPv4 que não usam TCP ou UDP em um protocolo da camada de transporte. O mais comum desses protocolos é o ICMPv4. O processo de conversão PAT trata cada um desses protocolos de maneira diferente. Por exemplo, mensagens de solicitação ICMPv4, solicitações de eco e respostas de eco contêm um ID de consulta. ICMPv4 usa um ID de consulta para identificar uma solicitação de eco com uma resposta de eco correspondente. O ID da solicitação é incrementado com cada solicitação de eco enviada. O PAT usa o ID do pedido em vez do número da porta da camada 4.

Observação... Outras mensagens ICMPv4 não usam o ID de consulta. Essas mensagens e outros protocolos que não usam números de porta TCP e UDP podem ser diferentes e não são abordados neste tutorial.

Configuração de NAT

Configurando NAT estático

Tradução estática de endereços de rede O NAT é um mapeamento um-para-um entre endereços internos e externos. O NAT estático permite que dispositivos externos iniciem conexões com dispositivos internos usando um endereço público atribuído estaticamente. Por exemplo, um servidor da web interno pode ser mapeado para um endereço global interno definido para ser acessível a partir de redes externas.

Na fig. 1 mostra uma rede interna contendo um servidor web com um endereço IPv4 privado. O NAT estático é configurado em R2 para permitir que dispositivos da rede externa (Internet) acessem o servidor web. Um cliente na rede externa acessa o servidor da web usando um endereço IPv4 público. O NAT estático converte um endereço IPv4 público em um endereço IPv4 privado.

Configurar o NAT estático envolve duas tarefas principais.

Passo 1. A primeira tarefa é criar um mapeamento entre os endereços interno-local e interno-global. Por exemplo, na Fig. 1, o endereço local interno 192.168.10.254 e o endereço global interno 209.165.201.5 são configurados como uma tradução NAT estática.

Passo 2. Após a configuração do mapeamento, as interfaces envolvidas na tradução são configuradas como internas ou externas ao NAT. Neste exemplo, a interface Serial 0/0/0 de R2 é a interface interna e Serial 0/1/0 é a interface externa.

Os pacotes que chegam na interface interna do roteador R2 (Serial 0/0/0) do endereço IPv4 local interno configurado (192.168.10.254) são convertidos e, em seguida, encaminhados para a rede externa. Os pacotes que chegam na interface externa de R2 (Serial 0/1/0) endereçados ao endereço IPv4 global interno configurado (209.165.201.5) são traduzidos para o endereço local interno (192.168.10.254) e então encaminhados para a rede interna.

Na fig. A Figura 2 mostra os comandos necessários para configurar o NAT estático.

Na fig. A Figura 3 mostra os comandos necessários para criar um mapeamento de NAT estático para o servidor da web em R2 na topologia de referência. Como parte da configuração mostrada, R2 converte o endereço 192.168.10.254 no endereço IPv4 público 209.165.201.5 em pacotes enviados pelo servidor web. O cliente da Internet direciona as solicitações da web para o endereço IPv4 público 209.165.201.5. R2 encaminha esse tráfego para o servidor da web em 192.168.10.254.

Use o verificador de sintaxe (consulte a Figura 4) para configurar uma entrada de tradução NAT estática adicional em R2.

Esta figura mostra o processo de tradução de NAT estático entre um cliente e um servidor da web usando a configuração anterior. As conversões estáticas são comumente usadas quando clientes da rede externa (Internet) precisam acessar servidores na rede interna.

1. O cliente precisa se conectar ao servidor web. O cliente envia o pacote ao servidor da web usando o destino IPv4 público 209.165.201.5. Este é o endereço global interno do servidor da web.

2. O primeiro pacote que R2 recebe de um cliente em sua interface NAT externa faz com que R2 verifique sua tabela NAT. O endereço IPv4 de destino está na tabela NAT e o roteador traduz de acordo.

3. R2 substitui o endereço global interno 209.165.201.5 pelo endereço local interno 192.168.10.254. R2 então encaminha o pacote para o servidor da web.

4. O servidor web recebe o pacote e responde ao cliente usando o endereço local interno 192.168.10.254.

5a. R2 recebe um pacote do servidor da web em sua interface NAT interna com um endereço de origem correspondente ao endereço local interno do servidor da web, 192.168.10.254.

5b. R2 verifica a tabela NAT para ver se há uma tradução para o endereço local interno. Este endereço aparece na tabela NAT. R2 converte o endereço de origem de volta para o endereço global interno 209.165.201.5 e encaminha o pacote ao cliente por meio de sua interface Serial 0/1/0.

6. O cliente recebe o pacote e continua o diálogo. O roteador NAT executa as etapas 2 a 5b para cada pacote (a etapa 6 não é mostrada na figura).

Verificação de NAT estático

Para verificar se o NAT está funcionando, use o comando mostrar traduções nat ip... Este comando exibe traduções NAT ativas. Ao contrário das traduções dinâmicas, as traduções estáticas estão sempre presentes na tabela NAT. Na fig. 1 mostra a saída deste comando para o exemplo de configuração anterior. Como o exemplo é uma configuração estática, a tradução está sempre presente na tabela NAT, independentemente das comunicações ativas. Se o comando for inserido durante uma sessão ativa, a saída também conterá o endereço do dispositivo externo, conforme mostrado na Fig. 1

Outro comando útil é mostrar estatísticas de ip nat... Conforme mostrado na fig. 2, time mostrar estatísticas de ip nat

Para garantir que a tradução NAT está funcionando corretamente, é recomendado que você limpe as estatísticas de todas as traduções anteriores usando o comando antes de testar limpar estatísticas de ip nat.

Antes de interagir com o servidor web, o comando mostrar estatísticas de ip nat não deve mostrar nenhuma correspondência. Depois que o cliente estabelece uma sessão com o servidor web, o resultado do comando mostrar estatísticas de ip nat mostrará um aumento no número de correspondências para 5. Isso confirma que uma tradução NAT estática foi executada em R2.

Configurando NAT dinâmico

Enquanto o NAT estático fornece um mapeamento persistente entre o endereço local interno e o endereço global interno, o NAT dinâmico suporta o mapeamento automático de endereços locais internos para endereços globais internos. Esses endereços globais internos são geralmente endereços IPv4 públicos. O NAT dinâmico usa um grupo ou pool de endereços IPv4 públicos para tradução.

O NAT dinâmico, como o NAT estático, requer a configuração das interfaces internas e externas envolvidas na tradução do NAT. No entanto, se o NAT estático estiver criando um mapeamento persistente para um único endereço, um pool de endereços será usado para o NAT dinâmico.

Observação... A tradução entre endereços IPv4 públicos e privados é o uso mais comum do NAT. No entanto, as traduções NAT podem ocorrer entre qualquer par de endereços.

Na topologia de referência mostrada na figura, a rede interna usa endereços do espaço de endereço privado definido na RFC 1918. Existem duas LANs conectadas ao roteador R1 - 192.168.10.0/24 e 192.168.11.0/24. O Edge Router R2 está configurado para conversão de NAT dinâmica usando um pool de endereços IPv4 públicos de 209.165.200.226 a 209.165.200.240.

O pool de endereços IPv4 públicos (pool de endereços globais internos) está disponível para qualquer dispositivo na rede interna por ordem de chegada. O NAT dinâmico traduz um endereço interno em um endereço externo. Para este tipo de tradução, deve haver endereços suficientes no pool para cobrir todos os dispositivos internos que precisam acessar simultaneamente a rede externa. Se todos os endereços de pool forem usados, o dispositivo deve aguardar um endereço disponível para acessar a rede externa.

Na fig. mostra as etapas e comandos usados ​​para configurar o NAT dinâmico.

Passo 1. Usando o comando piscina ip nat definir o pool de endereços a ser usado para tradução. Esse pool de endereços geralmente é um grupo de endereços públicos. Esses endereços são determinados pela especificação dos endereços IP inicial e final do pool. Palavra-chave máscara de rede ou comprimento do prefixo indica quais bits do endereço estão relacionados à rede e quais estão ao intervalo de endereços de host.

Passo 2. Configure uma ACL padrão para definir (permitir) apenas os endereços que precisam ser traduzidos. Uma ACL com muitos comandos permissivos pode levar a resultados imprevisíveis. Lembre-se de que no final de cada ACL está a linha negar tudo.

Etapa 3. Vincule a ACL ao pool. Comando ip nat dentro da lista de fontesnúmero da lista de acessopool de númerosnome da piscina usado para vincular uma lista a um pool. Esta configuração é usada pelo roteador para determinar quais dispositivos ( Lista) obter quais endereços ( piscina).

Passo 4. Identifique as interfaces que estão dentro do NAT, ou seja, qualquer interface conectada à rede interna.

Etapa 5. Identifique as interfaces externas ao NAT, ou seja, qualquer interface conectada a uma rede externa.

Na fig. 2 mostra um exemplo de topologia e configuração associada. Esta configuração permite a conversão de todos os hosts na rede 192.168.0.0/16 contendo as redes locais 192.168.10.0 e 192.168.11.0 quando os hosts geram tráfego entrando em S0 / 0/0 e saindo em S0 / 1/0. Os endereços desses nós são mapeados para um endereço disponível no pool no intervalo 209.165.200.226 a 209.165.200.240.

Na fig. 3 mostra a topologia usada para configurar o verificador de sintaxe. Use o verificador de sintaxe na Fig. 4 para configurar a tradução NAT dinâmica em R2.

Análise Dinâmica de NAT

As figuras abaixo ilustram o processo de tradução de NAT dinâmico entre dois clientes e um servidor web usando a configuração anterior.

Na fig. 1 mostra o fluxo de tráfego de dentro para fora.

1. Hosts com endereços IPv4 de origem (192.168.10.10 (PC1) e 192.168.11.10 (PC2)) enviam pacotes solicitando uma conexão ao servidor para um endereço IPv4 público (209.165.200.254).

2. O roteador R2 recebe o primeiro pacote do host 192.168.10.10. Como esse pacote foi recebido em uma interface configurada como uma interface interna NAT, R2 verifica a configuração do NAT para determinar se deve traduzir esse pacote. A ACL permite este pacote, então R2 o converte. R2 está verificando sua tabela NAT. Como não há entradas de tradução para este endereço IP, R2 decide que o endereço de origem 192.168.10.10 requer tradução dinâmica. R2 escolhe um endereço global disponível no pool de endereços dinâmicos e cria uma entrada de tradução - 209.165.200.226. O endereço de origem IPv4 original (192.168.10.10) é o endereço local interno, e o endereço usado para tradução é o endereço global interno (209.165.200.226) na tabela NAT.

R2 repete o procedimento para o segundo nó, 192.168.11.10, escolhendo o próximo endereço global disponível do pool de endereços dinâmicos e criando uma segunda entrada de tradução, 209.165.200.227.

3. R2 substitui o endereço de origem local interno de PC1 (192.168.10.10) pelo endereço global interno (209.165.200.226) usado para tradução e encaminha o pacote. Os mesmos passos são executados para o pacote enviado pelo PC2, utilizando o endereço correspondente ao PC2 (209.165.200.227) para tradução.

Figura 1

Na fig. 2 mostra o fluxo de tráfego de fora para dentro.

4. O servidor recebe o pacote do PC1 e responde com o endereço IPv4 de destino 209.165.200.226. Ao receber o segundo pacote, o servidor responde ao PC2 usando o endereço IPv4 de destino 209.165.200.227.

5a. Quando R2 recebe um pacote com o endereço IPv4 de destino de 209.165.200.226, o roteador R2 procura na tabela NAT. R2 usa o mapeamento da tabela para resolver o endereço de volta para o endereço local interno (192.168.10.10) e encaminha o pacote para PC1.

5b. Quando R2 recebe um pacote com o endereço IPv4 de destino de 209.165.200.227, o roteador R2 procura na tabela NAT. R2 usa o mapeamento da tabela para resolver o endereço de volta para o endereço local interno (192.168.11.10) e encaminha o pacote para PC2.

6. PC1 com o endereço 192.168.10.10 e PC2 com o endereço 192.168.11.10 recebem pacotes e continuam o diálogo. O roteador NAT executa as etapas 2 a 5b para cada pacote (a etapa 6 não é mostrada nas figuras).

Figura 2

Verificação de NAT dinâmico

Resultados da equipe mostrar traduções nat ip mostrado na Fig. 1 contém informações sobre as duas atribuições de NAT anteriores. O comando exibe todas as traduções de endereços estáticos configurados e todas as traduções dinâmicas geradas como resultado do processamento de tráfego.

Adicionar uma palavra-chave prolixo exibe informações adicionais sobre cada transformação, incluindo o tempo desde que a entrada foi criada e usada.

Por padrão, as entradas de conversão expiram após 24 horas, a menos que a configuração do cronômetro tenha sido alterada usando o comando tempo limite de tradução ip nattempo limite-segundos no modo de configuração global.

Para excluir entradas dinâmicas antes que expirem, use o comando do modo de configuração global limpar ip nat tradução... Recomenda-se excluir as entradas dinâmicas ao verificar a configuração do NAT. Conforme mostrado na tabela, este comando pode ser usado com palavras-chave e variáveis ​​para definir os registros a serem excluídos. Entradas específicas podem ser excluídas para evitar travar as sessões ativas. Para remover todas as transformações da tabela, use o comando de configuração global limpar tradução nat ip *.

Observação... Apenas as transformações dinâmicas são removidas da tabela. As conversões estáticas não podem ser removidas da tabela de conversão.

Como mostrado, o comando mostrar estatísticas de ip nat exibe informações sobre o número total de traduções ativas, parâmetros de configuração NAT, o número de endereços no pool e o número de endereços alocados.

Alternativamente, você pode usar o comando show running-config e encontrar comandos NAT, ACL, interface ou pool com os valores desejados... Estude os resultados cuidadosamente e corrija os erros encontrados.

Configurando a tradução de endereço de porta (PAT)

A tradução do endereço da porta PAT (também chamada de NAT com sobrecarga) conserva os endereços no pool global interno, permitindo que um roteador use um endereço global interno para vários endereços locais internos. Em outras palavras, um único endereço IPv4 público pode ser usado para centenas ou mesmo milhares de endereços privados IPv4 internos. Quando esse tipo de tradução é configurado, o roteador armazena informações de protocolo de camada superior suficientes, como números de porta TCP ou UDP, para reverter o endereço global interno para o endereço local interno correto. Quando você vincula vários endereços locais internos a um único endereço global interno, os números das portas TCP ou UDP são usados ​​para distinguir entre os endereços locais.

Observação... O número total de endereços internos que podem ser convertidos em um endereço externo pode, teoricamente, chegar a 65.536 por endereço IP. Mas o número de endereços internos que podem ser atribuídos a um único endereço IP é de aproximadamente 4.000.

Existem duas maneiras de configurar o PAT, dependendo de como seu ISP aloca endereços IPv4 públicos. No primeiro caso, o ISP aloca vários endereços IPv4 públicos para a organização e, no segundo caso, um único endereço IPv4 público é alocado. necessário para a organização para se conectar à rede do provedor de Internet.

Configurando PAT para um pool de endereços IP públicos

Se um objeto tiver alocado vários endereços IPv4 públicos, esses endereços podem fazer parte do pool usado pelo PAT. Isso é semelhante ao NAT dinâmico, exceto que não há endereços públicos suficientes para criar correspondências um-para-um entre endereços internos e externos. Um pequeno conjunto de endereços é compartilhado por um grande número de dispositivos.

Na fig. 1 mostra as etapas para configurar o PAT para usar um pool de endereços. A principal diferença entre esta configuração e a configuração do NAT dinâmico um-para-um é o uso da palavra-chave sobrecarga... Palavra-chave sobrecarga habilita o trabalho PAT.

Um exemplo da configuração mostrada na Fig. 2, cria uma tradução de sobrecarga para o pool NAT denominado NAT-POOL2. NAT-POOL2 contém endereços de 209.165.200.226 a 209.165.200.240. Os objetos de transformação são os hosts na rede 192.168.0.0/16. A interface S0 / 0/0 é definida como a interface interna, e o interface externa- Interface S0 / 1/0.

Use o verificador de sintaxe na Fig. 3 para configurar o PAT em R2 usando um pool de endereços.

Configurando PAT para um endereço IPv4 público

Na fig. 1 mostra a topologia de uma implementação PAT para traduzir um único endereço IPv4 público. Neste exemplo, todos os hosts na rede 192.168.0.0/16 (ACL 1 correspondente) que enviam tráfego para a Internet através do roteador R2 serão mapeados para o endereço IPv4 209.165.200.225 (o endereço IPv4 da interface S0 / 1/0 ) Os fluxos de tráfego serão determinados pelos números das portas na tabela NAT desde sobrecarga.

Na fig. A Figura 2 mostra as etapas necessárias para configurar um PAT com um único endereço IPv4. Se apenas um endereço IPv4 público estiver disponível, a configuração de sobrecarga geralmente é atribuída ao endereço público da interface externa que se conecta ao ISP. Todos os endereços internos em pacotes que saem da interface externa são convertidos em um único endereço IPv4.

Passo 1. Defina uma ACL que permita a conversão de tráfego.

Passo 2. Personalize a transformação da fonte usando palavras-chave interface e sobrecarga... Palavra-chave interface define o endereço IP da interface a ser usado ao traduzir endereços internos. Palavra-chave sobrecarga diz ao roteador para controlar os números das portas para cada entrada NAT.

Etapa 3. Especifique as interfaces que são internas ao NAT. Esta é qualquer interface conectada à rede interna.

Passo 4. Especifique uma interface externa ao NAT. Deve ser a mesma interface que foi especificada na entrada de transformação de origem na etapa 2.

Esta configuração é semelhante ao NAT dinâmico, exceto que a palavra-chave é usada para definir um endereço IPv4 externo em vez de um pool de endereços interface... Portanto, nenhum pool NAT é definido.

Use o verificador de sintaxe para configurar o PAT em R2 com um único endereço.

Análise PAT

O processo de tradução de sobrecarga de NAT é o mesmo ao usar um pool de endereços ou ao usar um único endereço. Continuando com o exemplo PAT anterior usando um único endereço IPv4 público, o PC1 requer uma conexão com o servidor da web Svr1. Ao mesmo tempo, outro cliente, PC2, precisa estabelecer uma sessão semelhante com o servidor da web Svr2. Tanto o PC1 quanto o PC2 são configurados com endereços IPv4 privados e o PAT é habilitado em R2.

O processo de transferência de pacotes de computadores para servidores

1. Na fig. 1 mostra os computadores PC1 e PC2 enviando pacotes para os servidores Svr1 e Svr2, respectivamente. PC1 usa o endereço IPv4 192.168.10.10 e a porta TCP de origem 1444. PC2 usa o endereço IPv4 de origem 192.168.10.11 e coincidentemente usa a mesma porta TCP 1444 de origem.

2. O pacote do PC1 chega primeiro ao roteador R2. Usando PAT, R2 muda o endereço IPv4 de origem para 209.165.200.225 (dentro do endereço global). Não há outros dispositivos na tabela NAT usando a porta 1444, então o PAT mantém o mesmo número de porta. O pacote é então encaminhado para o servidor Svr1 em 209.165.201.1.

3. Em seguida, um pacote chega ao roteador R2 do PC2. A configuração PAT garante que todas as traduções usem o mesmo endereço IPv4 global interno, 209.165.200.225. Semelhante ao processo de tradução do PC1, o PAT altera o endereço de origem IPv4 do PC2 para o endereço global interno 209.165.200.225. No entanto, esse pacote PC2 usa o número da porta de origem já contido na entrada PAT atual que converte PC1. O PAT incrementa o número da porta de origem até que seu valor seja exclusivo para a tabela fornecida. Nesse caso, a entrada da porta de origem na tabela NAT e o pacote do PC2 recebem o número 1445.

Embora PC1 e PC2 usem o mesmo endereço traduzido, o endereço global interno é 209.165.200.225 e o mesmo número de porta de origem é 1444, o número de porta alterado para PC2 (1445) torna cada entrada na tabela NAT exclusiva. Isso se torna aparente quando os servidores enviam pacotes de volta aos clientes.

O processo de transferência de pacotes de servidores para computadores

4. Conforme mostrado na fig. 2, em uma troca cliente-servidor típica, os servidores Svr1 e Svr2 respondem às solicitações recebidas dos computadores PC1 e PC2, respectivamente. Os servidores usam a porta de origem do pacote recebido para o tráfego de retorno como a porta de destino e o endereço de origem como o endereço de destino. Os servidores se comportam como se estivessem se comunicando com um único nó 209.165.200.225, mas não é o caso.

5. Depois de receber os pacotes, o roteador R2 encontra uma entrada exclusiva na tabela NAT usando o endereço de destino e a porta de destino de cada pacote. Se um pacote for recebido de Svr1, o endereço de destino IPv4 209.165.200.225 corresponde a várias entradas, mas apenas uma delas contém a porta de destino 1444. Usando esta entrada da tabela, o roteador R2 altera o endereço IPv4 de destino do pacote para 192.168.10.10. A alteração da porta de destino não é necessária neste caso. O pacote é então encaminhado para o PC1.

6. Depois de receber o pacote do servidor Svr2, R2 executa a mesma conversão. O roteador encontra o endereço de destino IPv4 209.165.200.225 novamente com várias entradas. No entanto, usando a porta de destino 1445, R2 pode identificar exclusivamente a entrada de mapeamento. O endereço IPv4 de destino foi alterado para 192.168.10.11. Nesse caso, a porta de destino também precisa ser alterada de volta para o valor original de 1444 armazenado na tabela NAT. O pacote é então encaminhado para o PC2.

Verificação PAT

R2 está configurado para fornecer PAT a clientes na rede 192.168.0.0/16. Quando os hosts internos saem por meio de R2 para a Internet, seus endereços são resolvidos para um endereço IPv4 do pool PAT com um número de porta de origem exclusivo.

A verificação PAT usa os mesmos comandos da verificação de NAT estático e dinâmico, conforme mostrado na Fig. 1. Equipe mostrar traduções nat ip gera transformações para o tráfego de dois sites diferentes para servidores da web diferentes. Observe que dois hosts internos diferentes são atribuídos ao mesmo endereço IPv4 209.165.200.226 (endereço global interno). Os números da porta de origem são usados ​​na tabela NAT para distinguir entre as duas transações.

Conforme mostrado na fig. 2, time mostrar estatísticas de ip nat permite que você verifique se o NAT-POOL2 tem o mesmo endereço alocado para ambas as traduções. A saída do comando contém informações sobre o número e tipo de traduções ativas, configurações de NAT, o número de endereços no pool e o número de endereços alocados.

NAT, ou Network Address Translation, é uma maneira de reatribuir um espaço de endereço a outro, alterando as informações de endereço de rede no protocolo da Internet ou IP. Os cabeçalhos dos pacotes mudam enquanto estão em trânsito pelos dispositivos de roteamento. Este método foi originalmente usado para redirecionar mais facilmente o tráfego em redes IP sem a necessidade de numerar cada host. Tornou-se uma ferramenta importante e popular para a alocação e manutenção de espaço de endereço global em face de uma escassez aguda de endereços IPv4.

O que é NAT?

O uso da tradução de endereços de rede é mapear cada endereço de um espaço de endereço para um endereço que está em um espaço de endereço diferente. Isso pode ser necessário se o provedor de serviços mudou e o usuário não tem a oportunidade de anunciar publicamente a nova rota para a rede. Diante do esgotamento do espaço de endereço global, a tecnologia NAT tem sido cada vez mais usada desde o final dos anos 1990. Normalmente, essa tecnologia é usada em conjunto com a criptografia IP. A criptografia IP é um método de transferência de vários endereços IP em um espaço. Esse mecanismo é implementado em um dispositivo de roteamento que usa tabelas de conversão com estado para mapear endereços ocultos para um único endereço IP. Ele também redireciona todos os pacotes IP de saída na saída. Portanto, esses pacotes são exibidos como saindo do dispositivo de roteamento. As respostas de backlink são mapeadas para o endereço IP original usando regras armazenadas em tabelas de tradução. Por sua vez, as tabelas de tradução são apagadas após um curto período de tempo se o tráfego não atualizar seu estado. Este é o mecanismo básico de NAT. O que isto significa? Essa tecnologia permite organizar a comunicação por meio de um roteador apenas quando a conexão ocorre em uma rede criptografada, pois isso cria tabelas de tradução. Dentro de tal rede, um navegador da web pode visualizar um site fora dela, mas sendo instalado fora dela, ele não pode abrir um recurso que está hospedado nele. A maioria dos dispositivos NAT hoje permitem que o administrador da rede configure as entradas da tabela de tradução para uso permanente. Esse recurso é frequentemente referido como encaminhamento de porta ou NAT estático. Ele permite que o tráfego de saída para a rede "externa" alcance hosts designados na rede criptografada. Devido à popularidade do método usado para preservar o espaço de endereço IPv4, o termo NAT praticamente se tornou sinônimo de criptografia. Como a tradução de endereços de rede altera as informações de endereço dos pacotes IP, isso pode ter consequências graves para a qualidade da conexão. Portanto, requer muita atenção a todos os detalhes da implementação. As maneiras como o NAT é usado diferem entre si em seu comportamento específico em diferentes situações relacionadas ao impacto no tráfego da rede.

NAT básico

O tipo mais simples de NAT permite a conversão de endereços IP um para um. O principal tipo dessa transmissão é RFC-2663. Nesse caso, apenas os endereços IP são alterados, bem como a soma de verificação dos cabeçalhos IP. Os tipos básicos de tradução podem ser usados ​​para conectar duas redes IP com endereçamento incompatível.

A maioria dos tipos de NAT são capazes de mapear vários hosts privados para um único endereço IP designado publicamente. Uma LAN em uma configuração típica usa um dos endereços IP "privados" atribuídos à sub-rede. Nesta rede, o roteador tem um endereço privado no espaço. Além disso, o roteador se conecta à Internet usando um "endereço público" atribuído pelo ISP. Como o tráfego passa da Internet local, o endereço de origem em cada pacote é traduzido de privado para público imediatamente. O roteador também mantém registro de dados básicos sobre cada conexão ativa. Em particular, isso se aplica a informações como endereço e porto de destino. Quando a resposta é retornada a ele, ele usa os dados de conexão que são salvos durante a fase de saída. Isso é necessário para determinar o endereço privado da rede interna para a qual a resposta deve ser direcionada. A principal vantagem dessa funcionalidade é que ela é uma solução prática para o problema de esgotamento do espaço de endereços IPv4. Mesmo grandes redes podem ser conectadas à Internet usando um único endereço IP. Todos os datagramas de pacote em redes IP têm dois endereços IP - o endereço de origem e o endereço de destino. Os pacotes que viajam de uma rede privada para uma rede pública terão um endereço de origem do pacote que muda durante a transição de uma rede pública para uma rede privada. Configurações mais complexas também são possíveis.

Características da configuração NAT

A configuração do NAT pode ser específica. Outras modificações podem ser necessárias para evitar o incômodo de traduzir os pacotes devolvidos. A maior parte do tráfego da Internet passará por UDP e TCP. Seus números são alterados para que os endereços IP e os números de porta correspondam quando os dados são enviados de volta. Os protocolos que não são baseados em UDP ou TCP requerem métodos de tradução diferentes. Como regra, ICMP, ou Internet Message Control Protocol, correlaciona as informações transmitidas com a conexão existente. Isso significa que eles devem ser exibidos usando o mesmo endereço IP e número que foram definidos originalmente. O que deve ser considerado? Configurar o NAT no roteador não fornece conectividade ponta a ponta. Por esse motivo, esses roteadores não podem participar de alguns protocolos da Internet. Os serviços que requerem o início de conexões TCP da rede externa ou de usuários sem protocolo podem simplesmente não estar disponíveis. Se o NAT, o roteador não esforços especiais para suportar tais protocolos, os pacotes de entrada podem nunca chegar ao seu destino. Alguns protocolos podem ser hospedados na mesma tradução entre os hosts participantes, às vezes usando um gateway de camada de aplicativo. No entanto, a conexão não será estabelecida quando os dois sistemas forem separados da Internet por meio de NAT. Além disso, o uso de NAT complica os protocolos de encapsulamento, como o IPsec, pois altera os valores nos cabeçalhos que interagem com as verificações de integridade das solicitações.

NAT: um problema existente

O princípio básico da Internet é a conectividade ponta a ponta. Ele existe desde seu desenvolvimento. O estado atual da rede só prova que o NAT é uma violação este princípio... Em um ambiente profissional, existem sérias preocupações sobre o uso generalizado da tradução de endereços de rede em IPv6. Assim, hoje se levanta a questão de como esse problema pode ser eliminado. Como as tabelas de estado de tradução nos roteadores NAT não são inerentemente permanentes, os dispositivos na rede interna perdem a conectividade IP em um período muito curto. Não devemos nos esquecer dessa circunstância ao falar sobre o que é o NAT em um roteador. Isso reduz significativamente o tempo de operação de dispositivos compactos que funcionam com baterias recarregáveis ​​e baterias.

Escalabilidade

O NAT também monitora apenas portas que podem ser rapidamente esgotadas por aplicativos internos que usam várias conexões simultâneas. Pode ser Solicitações HTTP para páginas com muitos objetos incorporados. Esse problema pode ser atenuado rastreando o endereço IP nos destinos além da porta. Assim, uma porta local pode ser compartilhada por um grande número de hosts remotos.

NAT: algumas complicações

Como todos os endereços internos são disfarçados como um endereço público, é impossível para hosts externos iniciarem uma conexão com um host interno específico sem definir uma configuração especial no firewall. Esta configuração deve redirecionar as conexões para uma porta específica. Telefonia IP, videoconferência e aplicativos semelhantes devem usar técnicas de passagem de NAT para funcionar corretamente. Porta de tradução Rapt endereço de devolução permite que um host cujo endereço IP muda de tempos em tempos permaneça disponível como um servidor usando o endereço IP fixo da rede doméstica. Isso deve, em princípio, permitir que a configuração do servidor mantenha a conexão. Embora essa solução não seja ideal, ela pode ser outra ferramenta útil no arsenal de um administrador de rede para resolver problemas relacionados à configuração de um roteador NAT.

PAT ou tradução de endereço de porta

A tradução de endereço de porta é uma implementação Cisco Rapt que mapeia vários endereços IP privados para um único público. Assim, vários endereços podem ser mapeados como um endereço porque cada um é rastreado usando um número de porta. O PAT usa números de porta de origem de IP globais internos exclusivos para distinguir a direção da transferência de dados. Esses números são inteiros de 16 bits. O número total de endereços internos que podem ser convertidos para um endereço externo pode chegar teoricamente a 65536. Na realidade, o número de portas às quais um único endereço IP pode ser atribuído é de aproximadamente 4000. O PAT, via de regra, tenta manter o original porto do "original" ... Se já estiver em uso, a tradução de endereço de porta atribui o primeiro número de porta disponível, começando no início do grupo correspondente. Quando não há portas disponíveis e há mais de um endereço IP externo, o PAT passa para o próximo para alocar a porta de origem. Este processo continuará até que os dados disponíveis se esgotem. O serviço Cisco exibe o endereço e a porta. Ele combina um endereço de porta de tradução e dados para encapsulamento de pacotes IPv4 em uma rede IPv6 interna. Na verdade, é uma versão alternativa do Carrier Grade NAT e DS-Lite, que oferece suporte à conversão de IP de portas e endereços. Isso evita os problemas associados ao estabelecimento e manutenção de uma conexão. Ele também fornece um mecanismo de transição para a implantação do IPv6.

Métodos de tradução

Existem várias maneiras principais de implementar a tradução de um endereço de rede e porta. Certos protocolos de aplicativo exigem que você determine o endereço NAT externo usado na outra extremidade da conexão. Freqüentemente, também é necessário estudar e classificar o tipo de transmissão. Normalmente, isso é feito porque é desejável entre dois clientes por trás de NATs separados para criar um canal de comunicação direto. Para este propósito, um protocolo especial RFC 3489 foi desenvolvido, o qual fornece uma passagem UPD simples através de NATS. Hoje já é considerado desatualizado, pois hoje em dia tais métodos são considerados insuficientes para uma avaliação correta do funcionamento dos aparelhos. Em 2008, o RFC 5389 foi desenvolvido e novos métodos foram padronizados. Essa especificação é chamada de Session Traversal hoje. Ela representa utilidade especial projetado para que o NAT funcione.

Estabelecendo comunicação bidirecional

Cada pacote UDP e TCP contém o endereço IP de origem e o número da porta, bem como as coordenadas da porta de destino. O número da porta é muito importante para obter serviços públicos, como a funcionalidade do servidor de e-mail. Assim, por exemplo, a porta 25 se conecta ao servidor de e-mail SMTP e a porta 80 se conecta a Programas servidor web. O endereço IP do servidor público também é essencial. Esses parâmetros devem ser conhecidos de forma confiável para os nós que pretendem estabelecer uma conexão. Os endereços IP privados são relevantes apenas em redes locais.