Press "Enter" to skip to content

Protocolo HSRP – Como configurar?

0

Protocolos para alta disponibilidade em switches Cisco

Os switches Multilayer podem atuar como default gateway e também participar nos processos de roteamento como fazem os roteadores tradicionais.

Para proporcionar tolerância a falhas ou alta disponibilidade quando estão atuando como default gateways os switches Multilayer podem utilizar os seguintes protocolos:

  • HSRP (Host Standby Routing Protocol)
  • VRRP (Virtual Roteador Redundancy Protocol)
  • GLBP (Gateway Load Balancing Protocol)

PROTOCOLO CISCO HSRP – O QUE É?

HSRP é um protocolo proprietário da Cisco que permite que vários roteadores ou switches Multilayer apareçam como uma só porta de enlace. A RFC 2281 descreve com detalhe esse protocolo.

Cada um dos roteadores que proporcionam redundância é atribuído a um grupo HSRP comum, um roteador é eleito como primário ou ativo, o outro como secundário ou standby o resto estará escutando em estado listen. Os roteadores trocam mensagens hellos entre eles para comprovar que tudo está em ordem. As mensagens hello são enviadas via multicast a través do endereço IP 224.0.0.2 pela porta UDP 1985.

Um grupo HSRP pode ser atribuído com um valor entre 0 a 255. Alguns switches Catalyst só admitem um máximo de 16 grupos com um valor único, permitindo repetir valores para aumentar a quantidade de grupos devido a que esses são só localmente significativos na interface que são configurados.

PROTOCOLO CISCO HSRP – COMO FUNCIONA?

A eleição do tipo de roteador está baseada em uma escala de prioridade que vai de 0 a 255. Por padrão se não existe configuração prévia, a prioridade tem o valor de 100. O roteador com prioridade mais alta se converte no roteador active do grupo e em caso de que todos os roteadores tenham a mesma prioridade será active aquele com IP mais alta configurada na interface HSRP.

Para configurar a prioridade utiliza-se o seguinte comando:

Switch(config-if)# standby group priority priority

Ao configurar HSRP em uma interface do roteador, passa-se por vários estados até alcançar o estado final que dependerá da prioridade e do estado do resto dos membros do grupo. Os estados HSRP são os seguintes:

  • Disable, desativado
  • Init, iniciando
  • Listen, escutando
  • Speak, falando
  • Standby, em espera
  • Active, ativo

As mensagens hello são enviadas a cada 3 segundos. Um roteador no estado de standby é o único que monitora os hellos do roteador ativo. Quando o temporizador holdtime (3 vezes o intervalo hello ou 10 segundos) é iniciado, presume que o roteador ativo caiu, o roteador no estado standby passará então ao estado ativo e em caso de haver uma ou mais roteadores em estado listen o de maior prioridade passará ao estado standby.

Para trocar os temporizadores HSRP é necessário fazer em todos os roteadores do grupo, o holdtime deverá ser sempre ao menos 3 vezes o intervalo hello. O comando para realizar essa alteração é:

Switch(config-if)# standby group timers [msec] hello [msec] holdtime

Quanto mais rápido são enviados os hellos, mais rápido detectamos problemas na rede, no entanto estamos gerando um aumento de tráfego, consumindo mais banda e fazendo que os roteadores processem maior quantidade de informação, haverá então que buscar um meio termo adequado aos equipamentos da rede.

Uma vez que um roteador é eleito como ativo manterá seu estado inclusive se outros roteadores com maior prioridade são detectados. É importante levar isso em consideração para evitar que um roteador não desejado seja eleito como ativo, iniciar a rede conectando primeiro o roteador adequado para assumir o papel de ativo. Esse comportamento é possível corrigir de maneira que o roteador com maior prioridade seja sempre o ativo, para isso podemos utilizar o seguinte comando:

Switch(config-if)# standby group prempt [delay [minimum seconds] [reload seconds]

Por padrão, depois de aplicar esse comando o roteador do grupo com maior prioridade sempre será o ativo e tomará seu lugar imediatamente. A configuração do parâmetro delay pode-se efetuar da seguinte maneira:

  • Minimum, determina o tempo que o roteador deve esperar antes de tomar o estado ativo.
  • Reload, força o roteador a esperar um tempo determinado a partir do reboot antes de tomar o papel de ativo.

HSRP tem um mecanismo que ajuda a comprovar o estado das outras interfaces, se um roteador está ativo e perde seus enlaces com o resto do mundo e sua interface HSRP ainda não está habilitada, seguirá sendo o eleito para enviar pacotes, convertendo em um buraco negro.

Para esses casos o HSRP verifica o estado das outras interfaces, para que em casos de falha a prioridade do roteador seja dinamicamente diminuída (o valor padrão é 10), voltando a incrementar quando a interface volte a seu estado normal.

Essa característica é conhecida com o nome de tracking, configurada com o seguinte comando:

Switch(config-if)# standby group track type mod/num [decrementvalue]

PROTOCOLO CISCO HSRP – COMO CONFIGURAR?

HSRP permite configurar dois tipos diferentes de autenticação, todos os membros do grupo devem coincidir no tipo e chave. Os dois modos de autenticação HSRP são:

  • Texto Plano: as mensagens de HSRP são enviadas como uma corrente em texto plano de até oito caracteres esta corrente deve ser igual em todos os roteadores do grupo. Configuramos com o seguinte comando:
Switch(config-ig)# standby group authentication string
  • MD5: Uma criptografia do tipo MD5 (message digest 5) é calculado em uma porção de cada mensagem HSRP e na chave secreta configurada em cada roteador do grupo. O hash MD5 é enviado junto com as mensagens HSRP. Quando uma mensagem é recebida o roteador recalcula o cifrado da mensagem e de sua própria chave, em caso de coincidência a mensagem é aceita. Esse tipo de autenticação é obviamente, muito mais segura que em texto plano. Para configurá-la utilizamos o comando:

Switch(config-if)# standby group authentication md5 key-string [0 | 7] string

Por padrão a chave è colocada em texto plano, uma vez  introduzida aparecerá criptografada na configuração. Para copiar e colar essa chave em outros roteadores é possível copiar já criptografada e especificar a opção 7 na frente na chave antes de cola-la.

Alternativamente podemos utilizar a corrente de chaves que, mesmo fazendo que a configuração seja mais complexa, proporciona maior flexibilidade. Os comandos são os seguintes:

Switch(config)# key chain-name
Switch(config-keychain)#key key-number
Switch(config-keychain-key)#key-string [0 | 7] string
Switch(config)#interface type mod/num
Switch(config-if)standby group authetication md5 key-chain chain-name

PROTOCOLO CISCO HSRP – DEFAULT GATEWAY VIRTUAL

Além do endereço IP único que cada roteador tem configurado nas interfaces que executam HSRP, tem um endereço IP comum, conhecido como IP virtual do HSRP.

Os hosts então podem apontar essa IP como seu default gateway, tendo a certeza que sempre haverá um roteador respondendo. Tanto o IP real quanto o IP virtual deve pertencer ao mesmo range.

Para atribuir um IP virtual utilizamos o seguinte comando:

Switch(config-if)# standby grou ip ip-address [secondary]

A opção secondary é utilizada somente quando os endereços IPs são secundários.

Além do endereço MAC único atribuído a cada uma das interfaces existe um MAC virtual do HSRP associado ao IP virtual. HSRP define um formato especifico para ele representado como 0000.0c07.acXX, onde XX representa o grupo HSRP em formato hexadecimal.

Por exemplo, para o grupo HSRP 30 será 000.0c07.ac1e.

Cisco HSRP como configurar

Na figura anterior podemos observar uma rede de switches Multilayer configurados com HSRP no grupo 30 e IP virtual 10.0.0.1. O Catalyst 1 é o ativo com uma prioridade configurada de 200 e está respondendo as petições ARP para o default gateway. O Catalyst 2 está em standby e não responderá a não ser que o Catalyst 1 falhe.

A configuração do Catalyst 1 (ativo) será:

Catalyst1(config)# interface vlan 10
Catalyst1(config-if)# ip add 10.0.0.2 255.255.255.0
Catalyst1(config-if)# standby 30 priority 200
Catalyst1(config-if)# standby 30 prempt
Catalyst1(config-if)# standby 30 ip 10.0.0.1
Catalyst1(config-if)# standby 30 track Fast0/1 decremet 101

PROTOCOLO CISCO HSRP – BALANCEAMENTO DE CARGA 

Até agora somente o roteador que está ativo pode enviar tráfego e os restantes dos links estão em standby sem enviar dados, proporcionando tolerância à falha, mas sem balanceamento de carga.

Para poder realizar balanceamento de carga no HSRP é necessário utilizar ao menos 2 grupos, para o caso de ter dois switches, SW1 seria o ativo em um grupo e standby em outro, e o SW2 ao revés, backup em um grupo  e ativo no outro.  O conjunto de hosts que utilizam o default gateway deverão ser atribuídos para uma metade e outro conjunto para outro.

O Catalyst 1 é o ativo do grupo 1 com IP 192.168.0.1 e é standby no grupo 2 com ip 192.168.0.2. O Catalyst 2 tem uma configuração similar mas ao contrário para cada grupo:

HSRP Como configurar

Catalyst 1

Cat1(config)# interface vlan 10
Cat1(config-if)#ip add 192.168.0.3 255.255.255.0
Cat1(config-if)# standby 1 priority 200
Cat1(config-if)# standby 1 preempt
Cat1(config-if)# standby 1 ip 192.168.0.1
Cat1(config-if)# standby 1 authentication Cisco
Cat1(config-if)# standby 2 priority 100
Cat1(config-if)# standby 2 ip 192.168.0.2
Cat1(config-if)# standby 2 authentication Cisco

 

Catalyst 2

Cat2(config)# interface vlan 10
Cat2(config-if)# ip add 192.168.0.4 255.255.255.0
Cat2(config-if)# standby 1 priority 100
Cat2(config-if)# standby 1 ip 192.168.0.1
Cat2(config-if)# standby 1 authentication Cisco
Cat2(config-if)# standby 2 priority 200
Cat2(config-if)# standby 2 ip 192.168.0.2
Cat2(config-if)# standby 2 authetication Cisco

 

Para mostrar informações sobre o HSRP utilizamos o comando:

Roteador# show standby [brief] [vlan vlan-id | type mod/num]

Os seguintes exemplos mostram o output do comando baseado na configuração mostrada antes:

Cat1# show standby vlan 50 brief
P indicates configured to preempt
|
Interface  Grp Prio  P  State  Active  addr standby  addr  Group  addr
VL10        1   200  P  Active  local       192.168.0.4  192.168.0.1
VL10        2   100  P  Standby 192.168.0.4 local192.168.0.2
Cat1# show standby vlan 10
Vlan10 - Group 1
Local state is Active, priority 200, may preempt
Hellotime 3 holdtime 10
Next hello sent in 00:00:02.944
Hot standby IP address is 192.168.0.1 configured
Active roteador is local
Standby roteador is 192.168.0.4 expires in 00:00:08
Standby virtual mac address is 0000.0d05.ab10
Authentication tex “Cisco”
Vlan10 – Group 2
Local state is Active, priority 100, may preempt
Hellotime 3 holdtime 10
Next hello sent in 00:00:02.944
Hot standby IP address is 192.168.0.2 configured
Active roteador is 192.168.0.4
Standby roteador is local
Authentication tex “Cisco”
4 state changes, last state change 00:10:04

O cisco IOS também suporta debugs para thoubleshoting no HSRP. Habilitando o debug, é mostrado as trocas de estados do HSRP e informações dos pacotes enviados e transmitidos pelo HSRP. Para habilitar o debugging, entramos com o seguinte comando em modo privilegiado.

EXEC mod:

Roteador#debug standby
3w1d : %STANDBY-6-STATECHANGE: Standby: 0: Vlan100 state Init -> Listen
3w1d : %STANDBY-6-STATECHANGE: Standby: 0: Vlan100 state Listen -> Speak
3w1d : SB0:Vlan100 Hello out 192.168.100.1 Speak pri 160 hel 3 hol 10 ip192.168.100.50
3w1d : SB0:Vlan100 Hello out 192.168.100.1 Speak pri 160 hel 3 hol 10 ip192.168.100.50
3w1d : SB0:Vlan100 Hello out 192.168.100.1 Speak pri 160 hel 3 hol 10 ip192.168.100.50
3w1d : SB0:Vlan100 Hello out 192.168.100.1 Speak pri 160 hel 3 hol 10 ip192.168.100.50
3w1d : %STANDBY-6-STATECHANGE: Standby: 0: Vlan100 state Speak -> Standby
3w1d : %STANDBY-6-STATECHANGE: Standby: 0: Vlan100 state Standby -> Active
3w1d : SB: Vlan100 Adding 0000.0d05.ab10 to address filter

O output desses comandos debug, mostra vários estados do HSRP. O estado inicial listen, learn, speak, standby, e active. E no final, VLAN 100 está no estado ativo.

Para desabilitar o debugging, entramos com o comando no debug stanby ou no debug all.

 

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: