segunda-feira, 23 de setembro de 2013

NAT no Redirecionamento de Endereços e Portas

Olá Pessoal.

Esse é mais um daqueles artigos que não aborda conteúdo relacionado aos exames de nível CCNA da Cisco, mas que explica como configurar algo muito comum no cotidiano das empresas: o redirecionamento de endereços e portas para que um dado serviço em execução na rede interna privada possa ser acessível através da Internet pública.

No Lab10 do livro "Laboratórios de Tecnologias Cisco em Infraestrutura de Redes" o leitor aprende a configurar o NAT para realizar a tradução dos endereços IPv4 privados de origem de uma rede interna para endereços públicos roteáveis na Internet, um procedimento denominado SNAT que é utilizado pelas empresas para fins de compartilhamento da Internet. 

Cabe apenas destacar que essa modalidade de NAT foi criada com o objetivo principal de economizar endereços IPv4, uma vez que toda uma rede com endereços privados da RFC 1918 (10/8, 172.16/12 e 192.168/16) pode ter acesso à Internet através de apenas um (ou poucos) endereço(s) público(s).  

No entanto, além do SNAT para fins de compartilhamento da Internet, existe uma outra modalidade de NAT, denominada DNAT, em que é feita a tradução dos endereços de destino. Apesar de DNAT não ser cobrado no exame CCNA, em contraste ao SNAT que é bastante cobrado, o DNAT é bastante praticado pelas empresas para fins de redirecionamento de endereços/portas e até mesmo para fins de balanceamento de carga (quando o destino redirecionado são vários endereços).

Nesse artigo estarei utilizando o cenário da figura abaixo (um complemento do Lab10 do livro) para mostrar como o NAT pode ser configurado para realizar o redirecionamento de endereços e portas de forma que um dado serviço web (intranet) em execução na rede privada 172.22.0.0/16, especificamente no servidor 172.22.0.1, possa ser acessado pelos funcionários da empresa em suas casas, através da Internet.


Nesse caso, como a rede utiliza o endereço privado 172.22.0.0/16 da RFC 1918, então o serviço web em execução no servidor não pode ser acessado através da Internet porque esses endereços simplesmente não são roteáveis publicamente. O primeiro ponto da empresa que tem alcançabilidade pela Internet é seu roteador de borda que possui o endereço público 100.1.1.2/30, provido por seu ISP. No Lab10 do livro esse mesmo cenário foi configurado com o NAT (SNAT) para realizar o compartilhamento da Internet para todas as máquinas da rede privada.

Agora trago um exemplo de como ficaria a configuração para habilitar o NAT na modalidade DNAT , permitindo que todo acesso destinado ao endereço público do roteador de borda (100.1.1.2) na porta 8080 seja redirecionado para o endereço privado 172.22.0.1 na porta 80.

01. Router-NAT(config)# int f0/0
02. Router-NAT(config-if)# ip nat inside
03. Router-NAT(config-if)# int s0/0
04. Router-NAT(config-if)# ip nat outside
05. Router-NAT(config-if)# exit
06. Router-NAT(config)# access-list 1 permit 172.22.0.0 0.0.255.255
07. Router-NAT(config)# ip nat inside source list 1 interface s0/0 overload
08. Router-NAT(config)# ip nat inside source static tcp 172.22.0.1 80 100.1.1.2 8080

Obs.: As configurações apresentadas nas linhas de 01 a 07 já existem no Lab10 do livro e foram utilizadas para definir as zonas inside (rede interna privada) e outside (zona externa pública) e para realizar a tradução dos endereços de origem para compartilhamento da Internet (linha 07). 

A configuração do NAT para fazer o redirecionamento de portas/endereços é exibida na linha 8 (destacada em amarelo), onde informamos o mapeamento estático entre um endereço inside e outro outside (e suas respectivas portas). Reparem, portanto, que "dissemos" ao roteador que todos os pacotes destinados ao seu endereço público na porta 8080 (100.1.1.2:8080) devem ser encaminhados para o endereço privado do servidor na porta padrão (172.22.0.1:80). 

Simples assim e bastante útil no cotidiano...

Abraço.

Samuel.

7 comentários:

  1. Este comentário foi removido pelo autor.

    ResponderExcluir
  2. no meu caso funcionou sim conforme o LOG abaixo:

    Router#sh ip nat translations
    Pro Inside global Inside local Outside local Outside global
    tcp 100.1.1.2:8080 172.22.0.1:80 --- ---

    ResponderExcluir
  3. amigo, vlw pelas dicas, tenho uma duvida.
    Meu firewall está abaixo do switch. sendo: Provedor > Router > Switch L2 > elementos e FW
    Preciso jogar o trafego que vem do provedor para o firewall. O packet tracer não tem route-map.
    Sabe a melhor opção para esse caso?
    Mesmo se eu colocar o ip do firewall no gw do provedor, quando chega no L2, ele encaminha direto pro ip de destino, sem passar no fw.
    abs

    ResponderExcluir
  4. Bom Dia !! Professor como eu faço para minha rede que está atras de outro roteadores ter acesso a internet, só consigo fazer nos pcs que está conectados diretamento ligando na rede onde eu fiz o nat.
    desde já agredeço pela atenção!!!

    ResponderExcluir
    Respostas
    1. Procure permitir na lista de acesso as demais redes para que a tradução seja realizada.

      Excluir
  5. Este comentário foi removido pelo autor.

    ResponderExcluir
  6. Boa Tarde,

    Tenho um ASA CISCO 5xxx, e faço monitoramento da minha rede e periferico pelo Zabbix, e preciso liberar o ZABBIX para acesso via WEB na rede externa sem a utilização de VPN.

    Podem me ajudar ?

    Marcos

    ResponderExcluir