Daily Archives: March 13, 2012

Dealing with Identity NAT on ASA: pre and post 8.3 configuration models

Continuing our series of articles about Network Address Translation (NAT) on Cisco ASA, we will now examine the behavior of Identity NAT.

When the nat-control model is in place (for ASA releases older than 8.3), an explicit answer regarding NAT must be provided to the ASA algorithm, even if this answer is do not translate ( “no nat“). Among the NAT exemption techniques supported by ASA, there is one called Identity NAT, which is typically used when most of the addresses are being translated and you need to avoid translation for just a specific set of hosts.

Starting on 8.3 version,  there is no such concept of nat-control, meaning that NAT Exemption is not necessary anymore and the nat 0 (nat zero) configurations are completely banned.

The reference topology shown in the figure was conceived to illustrate NAT Exemption syntaxes for both the current and old (pre 8.3) models. In our environment, hosts belonging to the 10.10.10.128/26 subnet are excluded from translation rules, irrespectively of the destination being accessed. Although the intention here is to keep some source addresses from being translated, the behaviors of the configurations are slightly different:

  • The nat zero construction that refers directly to the IP address (instead of an ACL) is unidirectional in essence and is not suited for address publishing. This means that the 10.10.10.128/26 stations will be able to start outbound connections but will not be accessible from the out interface (even if you configure a permission within an ACL).
  • Identity Static (static from X to X) is bidirectional and, as such, may be used for address publishing. (You will still need to add a permission so that the real address can be reached from the out interface).
  • The NAT flags are distinct: both options have the identity flag set but nat zero is deemed dynamic. (And that reinforces its unidirectional nature).

Identity NAT on ASA: configuration models

** Notes:

  • Considering that we are dealing with a source-only translation rule, we employed Object NAT for the 8.3 case. By revisiting the previous posts on the NAT series, can you build an equivalent configuration with Manual NAT ?
  • The show commands registered in the figure help characterize that NAT exemption is in place. Can you explain that ?

** Related Posts

2 Comments

Filed under English, Firewalls, Security

Projetos Multilayer de Redes LAN: por que usar switches nível 2 na camada de acesso ?

Quando vejo os altos números de desempenho dos atuais switches de acesso, é difícil não me lembrar que no início de minha carreira na área de Redes, o switch de núcleo da Cisco oferecia 3,6 Gbps de backplane (valor considerado alto, à época, pois as portas de usuários eram de 10Mbps). O tempo passa, a tecnologia amadurece ( tendendo a diminuir de preço) e hoje estamos em um estágio em que é bem comum que as portas de acesso (Ethernet) nos novos projetos sejam de 1Gbps (apesar de que 100Mbps por porta continuam sendo mais do que suficientes para a grande maioria dos casos).

Tudo isso é bom mas convém ter o cuidado com a armadilha dos grandes números… Digo isso, pois noto em minhas conversas com clientes uma demasiada valorização de aspectos quantitativos (dentro daquela perspectiva cômoda do “quanto mais, melhor”), em detrimento de uma análise mais criteriosa de funcionalidades que fazem a diferença no projeto como um todo.

Percebo também uma tendência a simplificar excessivamente o assunto, provavelmente influenciada pela idéia errônea de que “para montar uma LAN é só ligar o switch e conectar os cabos“… (Antes de tirar uma tal conclusão, lembre-se que “um cabo errado pode ser a origem de um loop”…)

Existe ainda a percepção histórica de que um core L2 é rápido e uma opção correspondente com L3 seria lenta, apesar de possuir mais funcionalidades. No que concerne a uma tal visão , vale dizer que, apesar de ter sido correta muitos anos atrás (vide Figura 1), os equipamentos evoluíram de modo a tornar as taxas de encaminhamento (pps) em L2 e L3 virtualmente indiscerníveis (mas, certamente, com um custo maior associado ao último). E, graças a este progresso tecnológico, é possível agora usar L2 ou L3 conforme sejam mais adequadas para um determinada área da rede (este é o chamado design multilayer, ilustrado na Figura 2).

Figura 1: Modelos Históricos de Redes LAN

Bem, se há a intenção de produzir projetos mais consistentes, é importante um melhor entendimento do modelo de camadas (acesso, distribuição e núcleo) ou, eventualmente a combinação das duas últimas, no caso de redes menores. A orientação básica pode ser resumida na adoção de L3 para conexão da distribuição ao núcleo e L2 para ligar a distribuição ao acesso (Figura 2). Isso garante a disponibilidade, convergência rápida e isolamento providos pelo L3, sem perder a mobilidade e simplicidade do acesso L2.

Figura 2: Modelo Multilayer de Projetos de LAN

As principais motivações para adotar uma abordagem multilayer são listadas a seguir:

  • Separação funcional: cada camada desempenha um papel bem definido no conjunto da solução
  • Modularidade: há blocos de projeto bem definidos, o que facilita o entendimento da topologia lógica (incluindo plano de endereçamento e esquema de numeração de VLANs).
  • Facilidade de expansão:  quando há necessidade de acrescentar portas para usuários, não é necessário fazer um novo projeto. Se a organização em camadas foi utilizada desde o início, fica bem mais fácil acrescentar um novo bloco de acesso e prover as portas necessárias
  • Padrões de tráfego determinísticos: dado que os servidores estão centralizados e que as estações de usuários se conectam a swiches de acesso, é mais fácil prever os fluxos de aplicações e planejar a utilização dos uplinks.
  • Criação de pequenos domínios de falha: a demarcação clara da função de cada camada facilita o isolamento e a resolução de problemas.
  • Equilíbrio entre recursos L2 e L3: isso permite extrair o melhor de cada uma das tecnologias.
  • A utilização de roteamento (L3) entre distribuição e núcleo, permite balanceamento de carga, convergência rápida e maior nível de controle (limitação da topologia L2).

Algumas características relevantes da camada de acesso (nível 2):

  • Ponto de ingresso na Rede : PCs, telefones IP, impressoras, etc.
  • Controle de acesso por porta à rede deve começar aqui (IEEE 802.1x/NAC): Autenticação, Autorização e Accounting para usuários e equipamentos.
  • Funcionalidades de Segurança integradas à Rede : Port security, DHCP Snooping, Dynamic ARP Inspection, IP Source Guard, Private VLANs, apenas para citar algumas.
  • Idealmente com uplinks duplicados para a camada de distribuição (alta disponibilidade).
  • Por ser um processo fim-a-fim, QoS deve começar aqui: e deve contemplar parâmetros de nível 2 (CoS), nível 3 (DSCP) e nível 4 (portas TCP e UDP).
  • Supressão de broadcast, multicast e unknown unicast
  • IGMP Snooping, de modo a evitar que portas físicas que não contém “receivers” para um determinado grupo, recebam desnecessariamente tráfego Multicast (otimização de IP Multicast na rede de switches nível 2)
  • Otimização de Spanning Tree (IEEE 802.1D, IEEE 802.1w, IEEE 802.1S)
  • Mapeamento entre VLANs (L2) e sub-redes IP (L3). O default-gateway para os hosts em um determinada VLAN fica na camada de distribuição ou distribuição/core (no caso de um design usando o conceito de “collapsed backbone”)
  • Capacidade de identificação automática de “endpoints”, principalmente os de multimídia (LLDP e LLDP-MED)

Algumas características importantes da camada de distribuição:

  • Agregação de vários switches de acesso (para criar um “bloco de acesso” em que há mobilidade dentro de uma VLAN/subnet)
  • Uplinks para o CORE a partir de um bloco de acesso (switch de distribuição) em vez de uplinks partindo de cada switch de acesso
  • Recomenda-se o uso de “Layer 3 switching” para esta camada
  • Evita que o CORE tenha que estabelecer múltiplas adjacências e o isola em relação a problemas na camada de acesso.
  • Funcionalidades de proteção do protocolo Spanning tree (definição de STP Root Bridge, evitar que switches de acesso tentem se tornar a Root Bridge)
  • Sumários de Roteamento, convergência rápida, load sharing através de caminhos redundantes
  • HSRP (Hot Standby Router Protocol) ou VRRP (Virtual Router Redundancy Protocol) ou GLBP (Gateway Load Balancing Protocol) para redundância de “default gateway”
  • Disponibilidade e load balancing (Rapid Per-VLAN Spanning Tree, Per-VLAN 802.1w)
  • Roteamento Multicast usando protocolos PIM e IGMP (interação host <> router)
  • Listas de controle de acesso para controlar a conexão entre subnets IP.

Alguns aspectos importantes a considerar na camada de CORE :

  • Sinônimo de camada 3 no conceito multilayer
  • Representa o backbone da Rede:  interconexão dos blocos de distribuição e ligação com a WAN e o Data Center.
  • Em redes grandes, a camada de CORE é normalmente usada para evitar “full-mesh” dos switches de distribuição
  • Foco em Desempenho e Estabilidade versus complexidade— “less is more in the core
  • Camada de CORE separada ajuda a prover expansibilidade para crescimento futuro.
  • Vale a pena fazer um design de CORE que seja independente da tecnologia de conexão (GigEtherntet, 10GigEthernet, CWDM, Sonet, Dynamic Packet Transport, etc.)

Tendo discutido as características dos projetos multilayer, listamos a seguir uma série de benefícios associados ao uso de switches nível 2 na camada de acesso. Além das grandes vantagens de preço trazidas por esta opção, (particularmente pelo número de switches de acesso em um projeto ser bem maior que os das demais camadas), vale mencionar:

  • Facilidade de conexão de novos usuários ( tornando o acesso plug and play)
  • Aumento da mobilidade de usuários entre switches (isso é particularmente importante em ambientes que empregam 802.1x/NAC para atribuição dinâmica de VLAN). Aliás, o design de NAC torna-se muito mais complexo quando o acesso é L3.
  • Roteamento fora da camada de acesso. Esta função é exercida pelo switch de distribuição ou CORE. Isso diminui o número de adjacências de protocolos de roteamento e aumenta a expansibilidade da Rede.
  • O fato de não se ter roteamento no acesso também contribui para a estabilidade da rede: menor número de mudanças na topologia de roteamento e redução de recálculos por parte dos protocolos dinâmicos.
  • Multicast para os usuários é controlado via IGMP Snooping (seleção de portas físicas que vão receber tráfego multicast em uma dada subnet) e não via roteamento Multicast (o que obrigaria a criação de adjacências do protocolo PIM em cada switch de acesso). Mais uma vez, ressalte-se aqui a preocupação em reduzir complexidade e aumentar estabilidade.
  • As atividades de filtragem (através de listas de controle de acesso) se concentram um nível acima (distribuição), tornando-se, portanto, muito mais facilmente gerenciáveis.
  • Particularmente no que concerne à segregação de voz e dados, é muito mais simples fazer o controle na camada de distribuição (em vez de configurar ACLs em cada switch de acesso).

Concluímos o breve texto ressaltando que, apesar de nível 2 no acesso significar que não se usa roteamento IP em tal camada,vários  outros recursos que vão muito além do nível 2 continuam disponíveis:

  • Os switches L2 modernos dispõem de capacidade de filtragem (por meio de ACLs) que levam em conta campos do cabeçalho IP e combinações de portas de serviço (TCP/UDP).
  • As tarefas de classificação de pacotes (no contexto de Qualidade de Serviço – QoS) podem ser feitas com base em critérios como DSCP (L3), endereços IP de origem/destino, portas TCP/UDP.
  • É possível gerenciar os switches via IPv6 (sem necessidade de rotear IPv6).
  • Muitos dos switches L2 atuais podem ser configurados para responder a probes de validação de SLA (Service Level Agreement) que permitem testar operações TCP, UDP e ICMP.
  • Há vários modelos de switches L2 que permitem fácil diferenciação (e separação lógica) entre telefones IP e computadores, através do recurso de Voice VLAN.

** Artigos Relacionados:

7 Comments

Filed under Português, Redes