Configurando NAT em roteadores Cisco

    A internet é uma grande teia de hosts interconectados. Todos os dias milhões de usuários conectam-se a ela. Para que você tenha acesso faz-se necessário uma identificação, que é feita por intermédio de um endereço IP. Quando o endereçamento IP foi criado, no caso o IP versão 4 ou IPV4, acreditava-se que haveria endereços de sobra, talvez por não acreditarem que Internet se massificaria tão ferozmente em nossa atualidade. A maior preocupação da comunidade da Internet passou a ser o esgotamento total dos endereços IP tamanho o ritmo de crescimento da estrutura. Além disso, ocorre um enorme disperdício de endereços IP, especialmente por partes de grandes empresas, que alocaram grandes blocos de endereços inutilmente. Para resolver isso o IANA especificou através da RFC 1918, uma faixa de endereços dentro das três classes de IP existente (A, B, C), determinando que estes endereços seriam privativos ou reservados como queiram, de tal forma que não seriam roteados pela Internet. Portanto, as empresas podem utilizar estes endereços na sua rede interna economizando assim endereços válidos (roteáveis) da Internet.

 Estes endereços são:

 

Classe A: Toda a faixa do endereço 10.0.0.0 a 10.255.255.255

 

Classe B: Toda a faixa do endereço 172.16.0.0 a 172.31.255.255

 

Classe C: Toda a faixa do endereço 192.168.0.0 a 192.168.255.255

 

Devido a escassez dos endereços válidos soluções como endereços privativos, CIDR, VLSM e NAT foram incorporados à infraestrutura da internet de forma a se poder alocar os endereços IP de forma mais eficiente até a chegada total da nova versão de IP, o IPv6, que resolverá por completo este problema. Mas como isto parece estar um pouco longe, veremos como resolver isso com a tradução de endereços IP, ou NAT.

 

O que vem a ser NAT?

 O Network Address Translator traduz os endereços que entram ou saem de um roteador dependendo da forma da implementação e configuração para tradução destes endereços. Este processo pode ser visualizado na figura abaixo:

 


Figura 1 – Nossa topologia de configuração básica

 

Tipos de NAT

 

  • NAT estático 

Essa configuração pode ser feita de duas formas: cada endereço IP de sua rede interna será mapeado para um endereço válido do conjunto de IP´s válidos designados para sua empresa. É claro que este modelo em nada resolve o problema de disperdício  de endereços válidos. Basta pensar que se você tivesse 150 endereços privados na sua rede, você precisaria de 150 endereços válidos.

 A outra forma é o sentido inverso da conexão. Mapeando um IP válido para um privativo.  

  • NAT Dinâmico

 

Neste modelo, todo o mapeamento dos endereços privativos para os Ips válidos ocorre de forma dinâmica. O roteador criará esta tabela de traduções automaticamente. Mais ainda teremos o problema do disperdício, pois o mapeamento é de um para um.

 


Figura 2 – NAT Dinâmico

 

NAT Dinâmico e Overloading

 

Segue o mesmo funcionamento do anterior, sendo que a única diferença é que estaremos agora compartilhando um único endereço IP válido. O roteador irá atribuir uma porta de conexão de origem para cada tradução efetuada, para que com isso saiba para qual endereço privado deve ser retornado o pacote. Este método é conhecido como tradução de endereços por porta ou “port level multiplexed NAT. Este será o método adotado na configuração de nosso roteador.

 

 

 

Configurando o NAT

 

Vamos demonstrar como configurar nossa rede baseado na topologia adotada da figura-1 tendo como base um roteador CISCO modelo 2501.

 O que faremos agora será traduzir os endereços 192.168.1.X/24 para o endereço IP configurado na interface serial conectada a Internet.

 Partindo do princípio que o usuário já tenha configurado corretamente as interfaces do roteador com os IPs e encapsulamento correto partiremos para a tradução dos endereços. Para acoplar ao seu caso basta substituir o IP 213.18.123.100 pelo seu de acesso a Internet.

 1o Passo: Configurar o NAT da rede interna para definir que o endereço de origem deverá ser traduzido.

Router-Rio#configure terminal
Router-Rio(config)# ip nat pool INTERNET 213.18.123.100 213.18.123.100 prefix-length 24
Router-Rio(config)# ip nat inside source list NAT pool INTERNET overload

 2o Passo: Configurar a lista de acesso para informar quais os Ips da sua rede interna deverão ser traduzidos.

 Router-Rio(config)#ip access-list standard NAT
Router-Rio(config-std-nacl)# permit 192.168.1.0 0.0.0.255
Router-Rio(config-std-nacl)#exit

 3o Passo: Ativar o NAT nas interfaces corretas. 

Router-Rio(config)# interface ethernet 0
Router-Rio(config-if)# ip nat inside
Router-Rio(config-if)#exit
Router-Rio(config)#interface serial 0
Router-Rio(config-if)#ip nat outside
Router-Rio(config-if)#exit
Router-Rio(config)#exit
Router-Rio#

 4o Passo: Utilize o comando abaixo para verificar a configuração do NAT.

 Router-Rio# show ip nat statistics

 5o Passo: use o comando ping para testar a configuração do NAT

 6o Passo: podemos observar a tradução com o comando # show ip nat translations

 

 

Configurando NAT estático e com tradução de portas

 

Vamos hoje explorar o sonho de todo usuário de redes de banda larga, com uma solução simples, caseira e bem econômica. Quem aqui não gostaria de hospedar seus servidores de web, ftp, e-mail na sua casa e em máquinas distintas? Como resolver este problema se você só possui um único endereço IP fornecido pelo seu provedor (ISP)?

 A forma de contornarmos o problema é bem simples, usaremos uma configuração de NAT estático em conjunto com uma tradução de portas. Vamos a nossa topologia. 

 

O nosso cenário está montado e pronto para ser configurado, com tudo aquilo que um usuário ou pequeno administrador sempre sonhou ter...

 

Para que a configuração abaixo funcione pode usar qualquer roteador CISCO com IOS (Internetworking Operation System) 12.1 ou acima.

 

ip nat pool internet 200.234.x.x 200.234.x.x prefix-length 22
ip nat inside source list nat interface serial 0 overload
ip nat inside source static tcp 192.168.0.1 25 interface Serial 0 25
ip nat inside source static tcp 192.168.0.2 80 interface Serial 0 80
ip nat inside source static tcp 192.168.0.3 20 interface Serial 0 20
ip nat inside source static tcp 192.168.0.3 21 interface Serial 0 21
ip nat inside source static tcp 192.168.0.4 119 interface Serial 0 119

 

Router(config)#ip access-list standard nat
Router(config-std-nacl)#permit 192.168.0.0 0.0.0.255
Router(config-std-nacl)#exit

 Router(config)# interface Ethernet 0
Router(config-if)#ip nat inside
Router(config-if)#exit

 Router(config)# interface serial 0
Router(config-if)#ip nat outside
Router(config-if)#exit

 

Estes comandos permitem que você utilize o NAT dinâmico com overloading e também NAT estático com tradução de portas. As conexões efetuadas ao seu roteador na porta 80 serão redirecionadas para seu servidor web no endereço 192.168.0.2. Sendo assim, todos os dispositivos da sua rede interna compartilham o mesmo IP recebido do provedor.