Posts com a tag: NAT Dinâmico

Configurando NAT dinâmico no ASA (8.4)

A nova versão de software do Cisco ASA traz algumas novidades e também mudanças em algumas sintaxes de configuração. A configuração de NAT foi uma das que sofreram alterações (desde a versão 8.3, aliás).

A idéia da Cisco é que toda configuração de NAT seja orientada a objetos. E apesar da falta de costume, acho que isso vai facilitar a configuração.

Tipos de NAT (para relembrar):

  • NAT estático: NAT onde um IP real é associado a um IP mapeado (um-para-um). Permite a iniciação de tráfego nos dois sentidos. Um exemplo comum é um host que está na rede interna e é publicado na Internet. A comunicação deste host com a Internet poderá ser iniciado por ele ou para ele. Uma variação é o NAT estático com PAT. Neste caso é possível publicar um serviço sem dar acesso completo ao host. Um servidor web por exemplo pode ter apenas a porta 80 publicada.
  • NAT Dinâmico: Permite a tradução de um grupo de hosts com IP real para um pool de IP mapeado. O pool normalmente tem menos IPs do que o grupo de hosts com IP real. Neste tipo de NAT (muitos-para-muitos) apenas o host com IP real pode iniciar o tráfego, e é usado para permitir que os usuários tenham acesso a Internet, por exemplo.
  • PAT Dinâmico: Um grupo de hosts com IP real é traduzido para um único IP mapeado, mas cada um usa uma porta diferente (muitos-para-um). Este tipo de NAT também é usado para permitir que hosts internos tenham acesso a Internet, e com a vantagem de usar apenas um IP público.
  • NAT Identidade (NAT 0): NAT que permite a tradução de um endereço IP para ele mesmo (fazendo um bypass no NAT). Normalmente é usado para acesso VPN.

* IP real é o IP que será traduzido, enquanto que o IP mapeado é o endereço para o qual o IP real foi traduzido.

Configuração de NAT dinâmico, no ASA OS 8.4

Neste exemplo temos a rede interna com 254 hosts e um pool com 4 endereços públicos, o que caracteriza o NAT muitos-para-muitos.

O primeiro host a passar pelo ASA usará o primeiro IP disponível, e assim por diante, até esgotarem-se os IPs do pool.

Nat dinânico, ASA 8.4

BrainFW01# conf t
BrainFW01(config)# object network ips-publicos
BrainFW01(config-network-object)# range 200.20.20.2 200.20.20.5
BrainFW01(config)# object network minha-rede-interna
BrainFW01(config-network-object)# subnet 192.168.0.0 255.255.255.0
BrainFW01(config-network-object)# nat (inside,outside) dynamic ips-publicos

Como o pool é limitado (após o quarto host interno acessar a Internet os demais hosts não terão acesso), é normal que haja um backup, com o PAT dinâmico.

Configuração de PAT dinâmico, no ASA OS 8.4

Neste exemplo ao invés de um pool temos apenas um endereço da rede pública. Este é um NAT dinâmico, mas todos os hosts internos usarão o mesmo IP externo (200.20.20.7).

Nat dinânico, ASA 8.4

BrainFW01# conf t 
BrainFW01(config)# object network minha-rede-interna
BrainFW01(config-network-object)# subnet 192.168.0.0 255.255.255.0
BrainFW01(config-network-object)# nat (inside,outside) dynamic 200.20.20.7

Temos uma variação desta configuração com a utilização da interface outside do ASA. Neste caso os hosts internos serão traduzidos para o IP 200.20.20.1.

BrainFW01# conf t
BrainFW01(config)# object network minha-rede-interna
BrainFW01(config-network-object)# subnet 192.168.0.0 255.255.255.0
BrainFW01(config-network-object)# nat (inside,outside) dynamic interface

O PAT dinâmico é uma ótima forma de preservar seus IPs públicos, pois um único IP pode servir para mais de 64.000 mil conexões.

Mais informações sobre NAT na versão 8.4 do ASA OS neste link.

Até a próxima.

NAT Parte 3: Configuração de NAT Dinâmico

Por , 20/09/2009 02:11

No terceiro post sobre NAT, será mostrado um exemplo de configuração de NAT Dinâmico.

O ISP cederá à organização um pool com 6 endereços válidos: 200.30.30.1 a 200.30.30.6; e uma ACL padrão identificará o range em que se encontram os endereços locais que serão traduzidos: 10.10.10.0/24. Esta configuração será feita no roteador BrainRT.

Observação: a LAN da organização contém um range de 254 endereços locais, mas há somente 6 endereços válidos. Portanto somente os 6 primeiros a tentarem acessar a internet conseguirão, pois o roteador faz uma associação destes IP’s com os IP’s globais do pool, até que este se esgotem; daí em diante, nenhum outro host terá acesso, a menos que se use o parâmetro ‘overload’, que será explicado no próximo post.

topologia

Configuração de BrainRT:

!– Configurando a interface inside, onde se encontram
!– os endereços locais a serem traduzidos

interface FastEthernet0/0
ip address 10.10.10.254 255.255.255.0
ip nat inside
!– Configurando da interface outside, para onde serão enviados os
!– pacotes traduzidos
interface FastEthernet0/1
ip address 200.20.20.1 255.255.255.248
ip nat outside
!– Configurando o pool de endereços globais, cedidos pelo ISP,
!– que darão acesso para os hosts interno à internet
ip nat pool GLOBAL_POOL 200.30.30.1 200.30.30.6 netmask 255.255.255.248
!– Configurando a ACL que dirá ao router quais serão os IP’s locais
!– a passarem pelo processo de NAT

access-list 1 permit 10.10.10.0 0.0.0.255
!– E, por final, associando os endereços locais, identificados na ACL 1,
!– ao pool ‘GLOBAL_POOL’ criado anteriormente
ip nat inside source list 1 pool GLOBAL_POOL

Observe que, após aplicada a configuração, a tabela NAT de BrainRT ainda não contém nenhuma entrada, pois ainda não houve nenhuma tentativa de acesso:

BrainRT#show ip nat translations

BrainRT#

Agora, veja como estão as entradas da tabela NAT após acesso web do host 10.10.10.1, ao servidor remoto:

BrainRT#show ip nat translations
Pro Inside global         Inside local          Outside local         Outside global
tcp 200.30.30.1:2277      10.10.10.1:2277       199.19.9.1:80         199.19.9.1:80
tcp 200.30.30.1:2278      10.10.10.1:2278       199.19.9.1:80         199.19.9.1:80
tcp 200.30.30.1:2279      10.10.10.1:2279       199.19.9.1:80         199.19.9.1:80
tcp 200.30.30.1:2280      10.10.10.1:2280       199.19.9.1:80         199.19.9.1:80
tcp 200.30.30.1:2281      10.10.10.1:2281       199.19.9.1:80         199.19.9.1:80
200.30.30.1 10.10.10.1 —                   —
BrainRT#

E após um ping do host 10.10.10.80:

BrainRT#show ip nat translations
Pro Inside global         Inside local          Outside local         Outside global
200.30.30.1 10.10.10.1 —                   —
icmp 200.30.30.2:512      10.10.10.80:512       199.19.9.1:512        199.19.9.1:512
200.30.30.2 10.10.10.80 —                   —
BrainRT#

Em negrito, estão as entradas estáticas geradas, assim que o host interno acessa pela primeira vez um endereço da internet. Ela vai sendo preenchida até que se esgotem os endereços do pool, e neste ponto, como dito anteriormente, nenhum outro host interno poderá acessar a internet.

Um ponto interessante, é que o pool de endereços globais, não precisam estar na mesma subrede da interface pública (neste caso, 200.20.20.1); a responsabilidade de roteamento para alcançar estes endereços é feita pelo ISP.

Dica: com o comando ‘clear ip nat translations *’, em modo EXEC, todas as entradas na tabela de NAT são zeradas.

Qualquer dúvida, estamos à disposição. No próximo post, será explicado o PAT. Fique atento!

Espero que tenha ajudado. Até breve!

Tema Brainwork 0.2(beta)