Route leaking – roteamento estático entre VRFs

A tradução literal para route leaking seria “vazamento de rotas” e esse tipo de configuração permite que determinadas configurações que isolam o roteamento de cada tabela de rotas, como a utilização de VRFs por exemplo, troquem roteamento entre as VRFs (vpn-instance).

Em posts anteriores, publicamos um artigo sobre o roteamento entre VRFs utizando MP-BGP em Switches e Roteadores HP baseados no Comware, mas nesse exemplo, a função é apenas permitir o roteamento entre as vpn-instances para algumas rotas.

Durante a configuração do “route leaking” lembre-se de planejar a configuração de rotas sempre pensando no tráfego bidirecional, isto é, configurando tambem as rotas de retorno.

O Overlapping de subredes nas VRFs pode também ser utilizado, mas requerem configurações de NAT inter-VRF ( ou inter-VPN instance NAT) que somente são suportados em roteadores.

Restrições

As rotas estáticas precisam do endereço do next-hop e há limitação para rotas diretamente conectadas no roteamento inter-VRF.

Para o roteamentro entre VLANs nas VRFs, utilize o MP-BGP.

Somente os roteadores  suportam a configuração de NAT para esse cenário (para os equipamentos baseados no Comware).

Configuração

No exemplo abaixo, o roteador possui duas VRF (vermelha e azul) que necessitam acessar 1 uma rede da outra VRF (lembrando que a utilização de VRFs permite o isolamento das tabelas de roteamento).

VRF static Route leaking - Comware

#
 ip route-static vpn-instance vermelho 192.168.3.0 24 vpn-instance azul 192.168.23.3
 ip route-static vpn-instance azul 192.168.1.0 24 vpn-instance vermelho 192.168.12.1
#

Obs: lembre-se que o roteamento de retorno tem que estar configurado nos roteadores R1 e R2 do exemplo.

Outra coisa bacana é que também é possível configurar o roteamento de uma VRF para a tabela global de um roteador.

Referências

VRFs em Switches e Roteadores baseados no Comware
http://www.comutadores.com.br/vrf-em-switches-e-roteadores-hpn-vpn-instance/

Roteamento entre VRF
http://www.comutadores.com.br/roteamento-entre-vrfs-com-mp-bgp-em-roteadores-hp-h3c/

Building HP FlexFabric Data Centers student guide – Rev. 14.41

Switches HPN 10500 – Configurando mapeamento estático multicast para NLB em Switches baseados no Comware

O protocolo NLB da Microsot (Network Load Balancing) tem como objetivo o balanceamento de tráfego entre um grupo de Servidores utilizando endereços MAC em multicast. Os clientes que acessam os serviços de um grupo de Servidores com NLB, enxergam o serviço de forma transparente.

Para trabalhar com NLB o Switch deve encaminhar o tráfego com destino ao serviço NLB para todos os servidores especificados no cluster NLB  e cada servidor filtra o tráfego não desejado.

A cooperação entre o Switch e o protocolo NLB é muito importante e dessa forma é importante saber as maneiras que o protcolo NLB trabalha, que são os modos Unicast e Multicast:

Unicast

No modo unicast, NLB substitui o endereço MAC real de cada servidor no cluster para um endereço comum NLB MAC. Quando todos os servidores no cluster têm o mesmo endereço MAC, todos os pacotes enviados para esse endereço são enviados para todos os membros do cluster. No entanto, um problema com esta configuração é quando os servidores cluster NLB estão conectados ao mesmo switch, você não pode ter duas portas no switch com o registro do mesmo endereço MAC. O protocolo NLB resolve este problema mascarando o endereço MAC do cluster. O Switch olha para o endereço MAC de origem no cabeçalho do quadro Ethernet, a fim de saber quais os endereços MAC são associados com suas portas. O NLB cria um endereço MAC falso e atribui esse falso endereço MAC para cada servidor no cluster NLB. O NLB atribui a cada servidor NLB um endereço MAC falso diferente com base na identificação do membro.

Por exemplo, o endereço MAC do cluster NLB é o 00-bf-ac-10-00-01. O NLB no modo unicast leva o endereço MAC do cluster e, para cada membro do cluster, o NLB muda o segundo octeto do membro NLB. Por exemplo, o servidor 1 terá como falso endereço MAC 00-01-ac-10-00-01, o server com o ID 2 tem o falso endereço MAC 00-02-ac-10-00-01, assim por diante. Se um único endereço MAC está registrado em cada porta do switch, os pacotes não são entregues a todos os membros do cluster, em vez disso os pacotes são enviados para as portas de individuais com base no endereço MAC atribuído a essa porta. Para fazer os quadros serem entregues a todos os membros do cluster, o NLB registra um MAC diferente  e utiliza nas mensagens ARP em broadcast. Quando o roteador envia uma solicitação ARP para o endereço MAC do endereço IP virtual, a resposta contém no cabeçalho ARP com o endereço MAC real do  cluster NLB  00-bf-ac-10-00-01, como por exemplo citado acima e não o endereço MAC falso.

Os clientes então utilizam o endereço MAC no cabeçalho ARP, não o cabeçalho Ethernet para comunicar-se com o servidor. O switch usa o endereço MAC no cabeçalho Ethernet, não o cabeçalho ARP. A questão é quando um cliente envia um pacote para o cluster NLB com endereço MAC de destino como cluster de endereço MAC 00-bf-ac-10-00-01, o switch olha para a tabela MAC para o endereço MAC 00-bf-ac-10-00-01. Como não há porta registrada com o endereço do cluster NLB 00-bf-ac-10-00-01, o quadro é entregue a todas as portas. Isso força o Switch a encaminhar o quadro para toads as portas ocasionando flooding e atrapalhando o desempenho da rede.

Uma solução para mudar o comportamento de flooding é colocar um hub na frente dos membros do cluster NLB e, em seguida,um uplink do hub para uma porta do switch.  Isso evita o problema de duas portas de switch registrando o mesmo endereço MAC. Quando o cliente envia pacotes para o endereço MAC do cluster NLB, os pacotes podem ir diretamente para a porta do switch conectado ao hub e, em seguida, para os membros do cluster NLB.

Multicast
Quando você usa o método de multicast, cada servidor do cluster mantém o endereço MAC original do da placa de rede. Além do endereço MAC original, é também atribuído um endereço MAC em multicast, que é compartilhado por todos os servidores de cluster. As requisições de entrada do cliente são enviadas para todos os servidores do cluster usando o endereço MAC em multicast.

No entanto, no modo multicast, a resposta ARP (ARP reply) enviada por um servidor do cluster em resposta a uma requisição ARP, mapeia o endereço IP unicast do cluster para endereços MAC em multicast. Tal mapeamento no ARP reply é rejeitado por alguns roteadores (ou Switch L3). Dessa forma os administradores devem adicionar uma entrada ARP estática no roteador para mapear o Endereço IP do cluster ao seu MAC Address.

Configurando NLB Multicast mode com o mapeamento estático  para Comware

  1. Desabilite a função de validação do ARP.: undo arp check enable
    Obs: configure nos Switches L3 e L2 (que os servidores do cluster estejam conectados).
  2. Configure uma entrada estática para o ARP :. arp static ip-address mac-address vlan-id interface-type interface-number .
    Obs: Para Switches com função L3 na topologia.
  3. Configure uma entrada multicast MAC estática: mac-address multicast mac-address interface interface-list vlan vlan-id
    Obs: dependendo do cenário, configure nos Switches L3 (porta para o trunk com o Switch de acesso) e L2 (porta para os servidores)

Resumo

Modo Unicast : O  NLB atribui a cada membro de cluster um endereço MAC comum, que é o endereço MAC do cluster  e muda o endereço MAC de origem de cada pacote enviado pelos servidores do cluster . Assim, o switch não pode adicionar o endereço MAC do cluster à sua tabela MAC . Dessa forma o  endereço MAC é desconhecido e os pacotes destinados ao Cluster são encaminhados para todas as portas do Switch.

Modo Multicast : O NLB usa um endereço MAC multicast que é um endereço MAC virtual para as máquinas do Cluster.

Configuração

No configuration guide do Switch HPN 10500 há uma configuração mais simples sem o mapeamento da entrada ARP no Switch (o link do arquivo de configuração está nas referências abaixo).

O cluster NLB está na VLAN 10 enquanto os clientes estão na VLAN 20. O Switch fará o roteamento entre VLANs e o encaminhamento do tráfego NLB em modo multicast
NLB Config Guide example

Obs: iniciaremos a configuração com todas as portas configuradas nas respectivas VLANs e as máquinas utilizando o Switch como gateway

 

<Switch> system-view
[Switch] interface vlan-interface 10
[Switch-Vlan-interface10] ip address 16.1.1.1 255.255.255.0
[Switch-Vlan-interface10] quit
[Switch]
[Switch] interface vlan-interface 20
[Switch-Vlan-interface20] ip address 10.0.0.1 255.255.255.0
[Switch-Vlan-interface20] quit

# Desabilitando a validação ARP
[Switch] undo arp check enable
# Configurando a entrada MAC multicast estática
[Switch] mac-address multicast 03bf-1001-0164 interface GigabitEthernet 4/0/2 GigabitEthernet 4/0/3 vlan 10

Referências

http://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/107995-microsoft-nlb.html

http://h10032.www1.hp.com/ctg/Manual/c03796252

Obs: Se vocês tiverem algum outro script ou experiência com esse tipo de cenário, por favor deixe um comentário 🙂

Se o link estiver quebrado, também deixe uma mensagem.