Posts com a tag: NAT

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 2: Configuração de NAT Estático

Por , 11/09/2009 08:00

No segundo post sobre NAT, será mostrada a configuração do NAT estático, onde o usuário por trás de BrainRT, irá acessar o servidor remoto 199.19.9.1. Neste exemplo, o host interno 10.10.10.1 será representado globalmente pelo IP 200.20.20.3. Este tipo de NAT é muito útil quando um host necessita ser acessado de fora da organização. Esta configuração gera uma entrada permanente na tabela NAT, que associa o IP interno 10.10.10.1 ao IP global 200.20.20.3.

Topologia 1

Configuração:

Abaixo, está a configuração de BrainRT:

!– Estabelecendo a tradução estática do IP inside local 10.10.10.1 ao inside global 200.20.20.3
ip nat inside source static 10.10.10.1 200.20.20.3
!– Configurando a interface ‘inside’
interface FastEthernet0/0
ip address 10.10.10.254 255.255.255.0
!—Apontando a LAN da organização, na qual encontram-se os IP’s que devem ser traduzidos
ip nat inside
!– Configurando a interface ‘outside’
interface FastEthernet0/1
ip address 200.20.20.1 255.255.255.248
!—Apontando a rede outside, na qual o os endereços traduzidos devem ser enviados
ip nat outside

Agora vamos aos testes!

1º) Vejamos a tabela NAT em BrainRT após a configuração; observe a associação estática entre os IP’s ‘inside local’ e ‘inside global’:

BrainRT#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
200.20.20.3 10.10.10.1 —                     —
BrainRT#

2º) Agora, após um ping ao servidor remoto:

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

3º) Adicionalmente, vejamos após o acesso telnet ao servidor:

BrainRT#show ip nat translations
Pro Inside global            Inside local            Outside local      Outside global
tcp 200.20.20.3:1624 10.10.10.1:1624 199.19.9.1:23 199.19.9.1:23
—  200.20.20.3             10.10.10.1              —                     —
BrainRT#

4º) Agora, com acesso SSh:

BrainRT#show ip nat translations
Pro Inside global             Inside local             Outside local      Outside global
tcp 200.20.20.3:1624      10.10.10.1:1624     199.19.9.1:23     199.19.9.1:23
tcp 200.20.20.3:1626   10.10.10.1:1626  199.19.9.1:22   199.19.9.1:22
tcp 200.20.20.3:1627   10.10.10.1:1627  199.19.9.1:22   199.19.9.1:22
tcp 200.20.20.3:1628   10.10.10.1:1628  199.19.9.1:22   199.19.9.1:22
— 200.20.20.3               10.10.10.1              —                      —
BrainRT#

Como podemos observar neste exemplo, um IP interno foi associado estaticamente a um IP dentro de um range válido, na mesma subrede da interface outside de BrainRT.

Dúvidas, verifique o primeiro post sobre NAT. Logo mais a parte 3! =D

Espero que tenha ajudado. Até breve!

NAT – Network Address Translation: Parte 1 – Conceitos

Por , 21/08/2009 17:43

Com o crescimento dos usuários da internet a partir dos anos ’90, tudo indicava que o range de endereços que o IPv4 disponibiliza não seria suficiente para todos os usuários e organizações; então, sentiu-se a necessidade de aumentar o espaço de endereçamento. Partindo desta idéia, duas soluções principais foram criadas: IPv6, e o NAT (obs.: o IPv5 foi apenas uma idéia experimental de otimização do IPv4, mas não chegou a ser implementado).

NAT e endereçamento privado, são dois padrões que trabalham juntos. O NAT provê acesso a internet para qualquer endereço inválido dentro de uma organização. Faz com que os usuários internos acessem a internet representados por endereços roteáveis, ou válidos. Mas também pode ter aplicações dentro das organizações, para proteger servidores, DMZ’s, acesso a ranges de IP sobrepostos, VPN, e etc.

O processo de Tradução

O NAT lê os campos de destino ou origem do cabeçalho IP e os altera (traduz) para o endereço válido, quando o pacote sai ou chega na organização, e faz o devido encaminhamento ao host de destino.

Tipos de NAT

NAT dinâmico: um pool (ou range) de endereços válidos cedidos à organização é associado dinamicamente a endereços internos, conforme as solicitações de acesso à internet. Porém esta solução é limitada, pois estes endereços são associados um-para-um, até que este range termine. Sendo assim, se algum outro usuário necessitar acesso, este não será possível, pois todos os endereços estão sendo usados.

Exemplo: temos um range com 6 endereços válidos – 200.20.20.0/29, e temos 254 endereços inválidos: 10.10.10.0/24. Os 6 primeiros a tentarem acessar a internet terão sucesso ao passar pelo NAT:

Original Traduzido
10.10.10.5 200.20.20.1
10.10.10.28 200.20.20.2
10.10.10.96 200.20.20.3
10.10.10.126 200.20.20.4
10.10.10.201 200.20.20.5
10.10.10.238 200.20.20.6

Mas a partir daí, a tabela do NAT fica completamente preenchida, e não há mais espaços para qualquer um que queira se conectar.

NAT estático: um endereço válido é associado estaticamente à um único endereço inválido, um-para-um.

Exemplo:

Original Traduzido
10.10.10.1 200.20.20.1

NAT Overload, ou PAT – Port Address Translation: um único endereço pode representar diversos internos. Cada um deles é representado por uma PORTA diferente, associado a este endereço global.

Exemplo: temos 3 endereços locais – 10.10.10.1, 10.10.10.2 e 10.10.10.3. Suponha que o IP do gateway para internet é 200.20.20.1. Ao passar por esta interface, o NAT traduzirá estes endereços da seguinte forma:

Original Traduzido
10.10.10.1 200.20.20.1:1025
10.10.10.2 200.20.20.1:1026
10.10.10.3 200.20.20.1:1027

E assim por diante, com qualquer endereço interno. Quando vierem os pacotes de volta, o NAT irá ler a porta, e encaminhará ao seu respectivo endereço interno.

Representação das Redes

Topologia 1

Inside: todo o range de IP’s que pertence à organização, inclusive seu IP válido na internet.

Outside: na perspectiva da rede interna, os IP’s válidos que serão acessados. Como por exemplo, a internet, um servidor remoto, etc.

Representação dos Endereços

Considere a seguinte topologia na perspectiva do usuário dentro da organização:

Topologia 2

Inside Local: endereço original – e inválido – do host, que o representa dentro da organização.

Inside Global: endereço traduzido do host interno, que o representa na internet.

Outside Local: endereço que representa um host remoto dentro da organização; aquele que o usuário da rede local realmente enxerga. Observer que, neste caso, este endereço não precisa ser alterado para alcançar a rede interna.

Outside Global: endereço válido que representa o host na internet, para qualquer um que o queira acessar.

Fique atento, que nos próximos dias estaremos postando mais sobre NAT.

Espero que tenha ajudado. Até breve!

Configurando Load Balancing

Por , 03/02/2009 08:31

É normal hoje a utilização de pelo menos dois links de Internet. E isso algumas vezes causa problemas para quem tem que administrar esses links. Muitas vezes cada link fica em um equipamentos diferente, e são cadastrados nos hosts as opções de saída.

Abaixo temos um exemplo de configuração em um roteador Cisco 837, com software 12.4(15)T3 Advanced IP Services, onde os dois provedores estão conectados ao mesmo roteador (responsável por fazer o load balance).

Exemplo:

image

! Interface de saída (WAN1)
interface Ethernet0
description WAN1 Interface
ip address 201.54.3.106 255.255.255.248
ip nat outside
ip virtual-reassembly
hold-queue 100 out
!
!Interface conectada a LAN
interface Ethernet2
description LAN Interface
ip address 192.168.1.204 255.255.255.0
ip nat inside
ip virtual-reassembly
hold-queue 100 out
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
! Interface de saída (WAN2)
interface ATM0.3 point-to-point
description WAN2 Interface
ip address 200.168.111.220 255.255.255.192
ip nat outside
ip virtual-reassembly
no snmp trap link-status
pvc 8/35
  encapsulation aal5snap
!
!Rotas para os dois gateways
ip route 0.0.0.0 0.0.0.0 200.168.111.193
ip route 0.0.0.0 0.0.0.0 201.54.3.105
!
!NAT dinâmico para os dois links
ip nat inside source route-map RM-1 interface Ethernet0 overload
ip nat inside source route-map RM-2 interface ATM0.3 overload
!
!ACL para permitir a LAN ser nateada
ip access-list extended NATacl
permit ip 192.168.1.0 0.0.0.255 any
!
!Route Maps para os NATs
route-map RM-1 permit 10
match ip address NATacl
match interface Ethernet0
!
route-map RM-2 permit 10
match ip address NATacl
match interface ATM0.3
!

Basicamente para o funcionamento desta solução é necessários configurar um route map para cada link, que permitirá que o NAT dinâmico funcione, e depois colocar duas rotas default.

Até a próxima.

Tema Brainwork 0.2(beta)