sâmbătă, 2 ianuarie 2016

First Hop Redundancy Protocol, HSRP

Hello!

In acest laborator imi propun configurarea si testarea protocolului Hot Standby Router Protocol. HSRP este un protocol dezvoltat de Cisco si descris in RFC-ul 2281. A fost gandit pentru a asigura redundanta la L3 cu scopul mentinerii unui uptime ridicat al retelei.

Configurarea HSRP presupune vizualizarea de catre hosturi a doua pana la opt routere fizice ca pe un singur router. Acest lucru se realizeaza prin crearea unui grup din care vor face parte aceste routere. O adresa MAC virtuala si o adresa IP virtuala sunt atribuite grupului pentru a se putea realiza comunicarea cu hosturile din LAN la L2, respectiv L3.

In cadrul grupului un router este desemnat pentru a realiza rutarea traficului, acesta fiind denumit Active, iar celelalte routere din grup au rolul de a “asculta” si de a sta in modul Standby, urmand sa preia sarcina de a ruta traficul in cazul in care routerul principal devine indisponibil. Un router se afla in modul Active sau Standby in functie de prioritatea care ii este atribuita. In mod implicit prioritatea este 100 si poate lua valori de la 0 la 255. O valoare mai mare reprezinta o prioritate mai ridicata.

Deoarece accesul in orice moment la resursele retelei reprezinta un element cheie pentru multe domenii cum ar fi cel financiar-bancar, medical sau mass-media (un SLA ce prevede 99,999% uptime este o clauza standard in orice contract business), iar implementarea protocolului HSRP este conditionata de utilizarea exclusiva a echipamentelor Cisco, a fost necesara aparitia unui protocol alternativ care sa fie adoptat de alti producatori.

Ca raspuns al acestei nevoi IETF a dezvoltat protocolul Virtual Router Redundancy Protocol (VRRP), detaliat in RFC-ul 5798.

Mai tarziu Cisco a dezvoltat protocolul Gateway Load Balancing Protocol (GLBP), care fata de protocoalele precedente prezinta avantajul imens ca poate utiliza pentru transfer toate legaturile configurate intre echipamente (load balancing).

Exista totusi metode prin care se poate obtine load balancing si cu ajutorul HSRP.
Voi reveni ulterior cu un laborator in care sa prezint acest lucru.

L.E. : Puteti gasi detalii despre configurarea IP SLA aici.


Detalii tehnice

Ver.
Interval pentru MAC-ul virtual
IP Protocol
UDP
1
0000.0c07.AC00 - 0000.0C07.ACFF
IPv4
224.0.0.2
1985
2
0000.0C9F.F000 - 0000.0C9F.FFFF
IPv4
224.0.0.102
1985
0005.73A0.0000 - 0005.73A0.0FFF
IPv6
ff02::66
2029

!!!Observatie: Protocolul HSRP se utilizeaza pe interfetele de tip Ethernet, FastEthernet sau GigabitEthernet. 


Laborator conceput de : Adrian Roata (cursant InfoAcademy)
Nivel de dificultate : CCNA3, scazut

Elemente necesare
GNS3 (se descarca de pe www.gns3.com)
Cisco IOS Software, 3600 Software (C3640-JK9S-M), Version 12.4(16)
Oracle VM VirtualBox pentru a simula hostul

Materiale suplimentare:


Topologie

Pas 1: Configurare Client




Pas 2 : Configurare router MAIN

MAIN#configure terminal
MAIN(config)#interface f0/0
MAIN(config-if)#ip address 192.168.255.221 255.255.255.240
MAIN(config-if)#no shutdown
MAIN(config-if)#interface f1/0
MAIN(config-if)#ip address 10.1.1.1 255.255.255.252
MAIN(config-if)#no shutdown
MAIN(config-if)#interface f2/0
MAIN(config-if)#ip address 10.2.2.1 255.255.255.252
MAIN(config-if)#no shutdown

MAIN(config)#router rip
MAIN(config-router)#version 2
MAIN(config-router)#network 192.168.255.208
MAIN(config-router)#network 10.1.1.0
MAIN(config-router)#network 10.2.2.0
MAIN(config-router)#no auto-summary
MAIN(config-router)#default-information originate
MAIN(config-router)#exit

MAIN(config)#ip route 0.0.0.0 0.0.0.0 192.168.255.209

MAIN(config)#access-list 1 permit any
MAIN(config)#ip nat inside source list 1 interface f0/0 overload
MAIN(config)#interface f0/0
MAIN(config-if)#ip nat outside
MAIN(config-if)#interface f1/0
MAIN(config-if)#ip nat inside
MAIN(config-if)#interface f2/0
MAIN(config-if)#ip nat inside

Verificare NAT
MAIN#ping 8.8.8.8 source 10.1.1.1
MAIN#ping 8.8.8.8 source 10.2.2.1



Pas 3 : Configurare router Active

Active(config)#interface f1/0
Active(config-if)#ip address 10.1.1.2 255.255.255.252
Active(config-if)#no shutdown
Active(config-if)#interface f0/0
Active(config-if)#ip address 192.168.1.253 255.255.255.252
Active(config-if)#no shutdown

Active(config-if)#standby 1 ip 192.168.1.200
In modul de configurare al interfetei, activam HSRP si cream grupul 1 caruia ii atribuim IP-ul virtual 192.168.1.200. IP-ul virtual trebuie sa fie din aceeasi clasa ca si IP-ul configurat pe interfata.

Active(config-if)#standby 1 priority 110
Atribuim routerului prioritatea 110.

Active(config-if)#standby 1 preempt
Aceasta comanda permite unui router cu prioritatea mai mare intr-un grup, care devine indisponibil pentru o perioada de timp, sa-si recapete statutul de router principal in momentul in care redevine disponibil.

Active(config-if)#standby 1 track f1/0
Aceasta comanda este utilizata pentru ca routerul sa monitorizeze starea interfetei f1/0. In momentul in care interfata devine down, routerul trece in modul standby, iar routerul care se afla in modul standby devine active.

Active(config-if)#standby 1 timers
Cu aceasta comanda se poate ajusta intervalul la care se transmit mesajele de tip “hello” care au rolul de a reasigura routerele de disponibilitatea legaturii dintre ele precum si timpul dupa care un router trece din starea active in standby. In mod implicit mesajele de tip “hello” se transmit la fiecare 3 secunde, iar un router este considerat indisponibil daca pe legatura nu sunt transmise mesaje “hello” timp de 10 secunde. Ajustarea acestor timpi se poate realiza la milisecunda. Traficul generat de protocolul HSRP nu reprezinta o problema, infrastructurile moderne avand ca mediu de transmisie fibra optica capabila de un bandwidth foarte mare.

Active(config)#router rip
Active(config-router)#version 2
Active(config-router)#network 192.168.1.0
Active(config-router)#network 10.1.1.0
Active(config-router)#no auto-summary



Pas 4 : Configurare router Standby

Standby(config)#interface f2/0
Standby(config-if)#ip address 10.2.2.2 255.255.255.252
Standby(config-if)#no shutdown
Standby(config-if)#interface f0/0
Standby(config-if)#ip address 192.168.1.254 255.255.255.252
Standby(config-if)#no shutdown

Standby(config-if)#standby 1 ip 192.168.1.200

Standby(config-if)#standby 1 priority 105
Configuram o prioritate mai mica (105<110) pentru a plasa routerul in modul standby.
In mod implicit cand un router activ devine indisponibil, prioritatea sa este decrementata cu 10. Setand routerul Standby cu o prioritate de 105 ne asiguram ca acesta urmeaza sa isi asume rolul de router activ in momentul in care routerul principal devine indisponibil.

Standby(config-if)#standby 1 preempt
Standby(config-if)#standby 1 track f2/0

Standby(config)#router rip
Standby(config-router)#version 2
Standby(config-router)#network 192.168.1.0
Standby(config-router)#network 10.2.2.0
Standby(config-router)#no auto-summary



Verificare

De pe Client initiati un ping infinit catre interfata fa 0/0 a routerului MAIN.
Start > Run > cmd.exe, folositi comanda ping -t 192.168.255.221

Pe routerul Active utilizati comanda show standby in modul privileged exec.
Folositi comanda in mod similar pe routerul Standby.


Observam:
  • Interfata pe care este activat protocolul HSRP, grupul din care face parte si starea in care se afla (up)
  • IP-ul virtual atribuit grupului
  • Adresa MAC virtuala a grupului (protocolul folosit este HSRP v1)
  • Timpii la care se transmit mesajele “hello” si intervalul dupa care routerul e declarat indisponibil
  • Routerul isi va redobandi statutul de router activ in cadrul grupului cand redevine disponibil
  • Routerul este in modul activ si are atribuita o prioritate de 110.
  • Routerul aflat in standby are adresa IP 192.168.1.254 si are atribuita o prioritate de 105
  • Routerul urmareste starea interfetei FastEthernet 1/0


Prin comparatie analizam output-ul comenzii pe routerul Standby.

Pentru a vedea protocolul HSRP “la lucru”, pe routerul Active folosim comanda shutdown pe interfata f0/0. Apoi observam ce se intampla cu “ping-ul” pe Client.

Reactivam interfata si folosim comanda pe interfata f1/0 de aceasta data. Observam cum routerul Standby isi asuma rolul de router activ.

!!!Observatie: In timpul laboratorului am observat ca GNS3-ul mai da “rateuri” cand inchid una dintre interfetele f1/0 sau f2/0 de pe MAIN, capatul linkului de pe Active sau Standby ramanand up/up in loc de up/down. In aceasta situatie routerul activ nu isi da seama ca a devenit indisponibil si nu se realizeaza decrementarea prioritatii pentru a-i permite routerului din standby sa-i preia rolul si sa asigure redundanta. Se rezolva cu o reincarcare a topologiei.

Suplimentar, in acest laborator se poate observa traficul de pe legaturi cu ajutorul WireShrak si se poate descarca un fisier din internet pentru a observa ca nu exista probleme cand se face transferul traficului de pe un router pe celalalt.

Sper ca v-a placut,
Impartasiti si exprimati-va opiniile in sectiunea de comentarii.

Va urez un an nou cat mai fericit si plin de impliniri alaturi de cei dragi! :)

Niciun comentariu :

Trimiteți un comentariu