Protokół VRRP – opis i konfiguracja na routerze Cisco
Zagadnieniem jakim dziś się zajmiemy jest redundancja sieci LAN. Urządzenia sieciowe jakie możemy spotkać dziś na rynku w większości są dobrej jakości, można powiedzieć, że ponad standardowej. Jednak wystąpienie awarii jakiegoś elementu sieci pojawia się z mniejszym lub większym prawdopodobieństwem.
Słuszność wprowadzania nadmiarowości w sieciach lokalnych to czas niedostępności oraz starty finansowe poniesione w przypadku wystąpienia awarii sieci. Stacje robocze magazynują w swojej konfiguracji tylko jeden adres bramy domyślnej. Jest to jeden z potencjalnych punktów awarii. Urządzenia sieciowe warstwy trzeciej modelu OSI/ISO np. routery, również mają swój MTBF (ang. Mean Time Before Failure), czyli średni czas między awariami wyrażany
w godzinach. W ich przypadku możliwość zapewnienia niezawodności wykonywany jest przez adekwatne protokoły takie jak:
- Protokół HSRP
- Protokół VRRP
- Protokół GLBP
O protokole HSRP było już mówione we wcześniejszym artykule. Natomiast w niniejszym omówimy drugi w kolejności.
Jeżeli interesuje Cię ten temat w formie odcinka video – kliknij 🙂
Protokół VRRP- co to takiego?
W skrócie mówiąc protokół VRRP (ang. Virtual Router Redundancy Protocol) eliminuje pojedynczy punkt awarii w sieci, gdzie występują trasy statyczne. Przy pomocy tego protokołu tworzony jest wirtualny router, tzw. symulowany, który korzysta z jednego z routerów nadmiarowych (głównego).
Jak to wygląda w praktyce? Mianowicie tak, że router główny rozgłasza innym routerom komunikat Hello co 1 sekundę. Inne routery, które są zapasowymi w danej sieci czekają na komunikat ogłoszenia routera głównego. Jeżeli w tym czasie router główny nie odpowie to zapasowe routery uznają go lub połączenie z nim za nieprawidłowo działające. W tym momencie dochodzi do procesu wyboru nowego routera głównego. Routerem głównym zostaje wybrany ten, który ma wyższy priorytet. Jeżeli w sieci występuje więcej niż jeden zapasowy router z takim samym priorytetem to głównym zostaje ten który ma wyższy adres logiczny.
Konfiguracja VRRP
Konfiguracja tego protokołu wygląda bardzo podobnie jak konfiguracja HSRP, choć różni się pewnymi aspektami. Jedną z różnic jest stosunek do adresu VIP, czyli wirtualnego IP.
Poniższy schemat sieci pomoże zobrazować na czym polega ta różnica oraz jak konfiguruje się VRRP.
Na początku skonfigurujemy router R1. Konfigurujemy wszystkie porty według naszej adresacji i je podnosimy.

R1(config)#interface fastEthernet 0/0 R1(config)#ip address 192.168.1.2 255.255.255.0 R1(config)#no shut R1(config)#interface fastEthernet 1/0 R1(config)#ip address 192.168.2.1 255.255.255.0 R1(config)#no shut
Następnie na routerze R1 musimy skonfigurować jeszcze routing statyczny z trasą domyślną, ponieważ za nim znajduje się jeszcze wyjście na świat, które to imituje router R3. Wydajemy więc polecenie
ip route 0.0.0.0 0.0.0.0 f1/0. Dzięki temu wszystkie pakiety, które nie odpowiadają do informacji
w tablicy routingu będą przechodzić przez interfejs f1/0.
R1(config)#ip route 0.0.0.0 0.0.0.0 f1/0
Kolejnym krokiem jest konfiguracja routera R2. Wykonujemy dokładnie te same kroki co na routerze R1, tylko przydzielamy odpowiednie adresy IP.
R2(config)#interface fastEthernet 0/0 R2(config)#ip address 192.168.2.2 255.255.255.0 R2(config)#no shut R2(config)#interface fastEthernet 1/0 R2(config)#ip address 192.168.1.3 255.255.255.0 R2(config)#no shut
Również na tym routerze uruchamiamy routing statyczny z tą różnicą, że podajemy trasę przez interfejs f0/0.
R2(config)#ip route 0.0.0.0 0.0.0.0 f0/0
Następny etap to konfiguracja routera R3, który imituje chmurę. Do interfejsu f0/0 na tym routerze, do którego jest podłączony switch1 przypiszmy adres ip 192.168.2.10/24. Ponadto skonfigurujmy interfejs loopback0, który będzie symulował wyjście na sieć zewnętrzną. Jemu przypiszmy adres 4.2.2.2/24.
R3(config)#interface fastEthernet 0/0 R3(config)#ip address 192.168.2.10 255.255.255.0 R3(config)#no shut R3(config)#interface loop0 R3(config)#ip address 4.2.2.2 255.255.255.0 R3(config)#no shut
Aby ten router mógł komunikować się z dwoma pozostałymi w sieci wewnętrznej, również na nim trzeba ustawić trasę statyczną przez interfejs f0/0.
R3(config)#ip route 0.0.0.0 0.0.0.0 f0/0
Gdy mamy już wstępnie wyprofilowaną sieć to teraz przejdźmy do konfiguracji protokołu VRRP. Wydajemy polecenie vrrp [domyślny numer] ip [adres vip] na porcie f0/0 na routerze R1. Należy tu wspomnieć, że adres wirtualny nie jest oddzielnym adresem w naszej sieci, dlatego też musimy użyć adresu ip fizycznego interfejsu. Po wprowadzeniu tego adresu router z automatu osiągnie status Master (w przypadku HSRP status Active). Patrząc na nasz schemat można się domyśleć, że drugi router po konfiguracji powinien otrzymać status Backup (w przypadku HSRP status Standby). Wydajemy więc komendę na routerze R1 vrrp 1 ip 192.168.1.2.
R1(config)#interface fastEthernet 0/0
R1(config-if)#vrrp 1 ip 192.168.1.2 *Mar 12 21:09:07.435: %VRRP-6-STATECHANGE: Fa0/0 Grp 1 state Init -> Master
Jak widzimy router ustawił swój status na Master.
Kolejnym ważnym elementem w tej konfiguracji jest przeprowadzenie adresacji na urządzeniu końcowym PC1. Ustawiamy adres ip komputera na 192.168.1.10 z maską 24 bitową. Natomiast istotną zmianą jest adresacja bramy domyślnej. Ten parametr musimy ustawić na adres 192.168.1.2, gdyż jest to adres VIP w naszej konfiguracji. Z automatu ten atrybut przy tej adresacji byłby ustawiony na 192.168.1.1.
W programie GNS3, przy pomocy którego wykonujemy doświadczenie, aby dokonać adresacji urządzenia końcowego PC1 musimy uruchomić urządzenie i wejść w konsolę. Następnie wpisujemy
ip [adres urządzenia/maska] 192.168.1.10/24 [adres bramy domyślnej] 192.168.1.2.
PC1> ip 192.168.1.10/24 192.168.1.2
Checking for duplicate address…
PC1 : 192.168.1.10 255.255.255.0 gateway 192.168.1.2
Aby sprawdzić, czy zmiany są poprawnie wprowadzone wydajemy polecenie sh ip. Poniższy listing obrazuje ustawienia sieciowe PC1.
PC1> sh ip NAME : PC1[1] IP/MASK : 192.168.1.10/24 GATEWAY : 192.168.1.2 DNS : MAC : 00:50:79:66:68:00 LPORT : 10000 RHOST:PORT : 127.0.0.1:10001 MTU: : 1500
Następnym krokiem jest przeprowadzenie konfiguracji routera R2. Wykonujemy na nim te same kroki jakie robiliśmy podczas konfigurowania routera R1. Ważnym aspektem jest to aby wskazać jako adres IP ten sam adres IP interfejsu f0/0 routera R1. Gdy to zrobimy otrzymamy informacjęe zwrotną, w której to możemy odczytać, że router zmienił swój status na Backup.
R2(config)#interface fastEthernet 1/0
R2(config-if)#vrrp 1 ip 192.168.1.2 *Mar 12 21:09:07.435: %VRRP-6-STATECHANGE: Fa1/0 Grp 1 state Init -> Backup
Teraz wydajmy polecenie ping 4.2.2.2, aby sprawdzić czy urządzenie końcowe komunikuje się z portem wychodzącym na świat. Jeżeli urządzenie komunikuje się z tym portem to wszystko jest w porządku. Poniższy listing to obrazuje.
PC1> ping 4.2.2.2 4.2.2.2 icmp_seq=1 timeout 84 bytes from 4.2.2.2 icmp_seq=2 ttl=254 time=38.569 ms 84 bytes from 4.2.2.2 icmp_seq=3 ttl=254 time=24.966 ms 84 bytes from 4.2.2.2 icmp_seq=4 ttl=254 time=16.869 ms 84 bytes from 4.2.2.2 icmp_seq=5 ttl=254 time=29.273 ms
Następnie sprawdźmy czy konfiguracja VRRP na obu routerach jest trwale zapisana. Aby tego dokonać wydajmy na R1 i R2 polecenie sh vrrp.
R1#sh vrrp FastEthernet0/0 - Group 1 State is Master Virtual IP address is 192.168.1.2 Virtual MAC address is 0000.5e00.0101 Advertisement interval is 1.000 sec Preemption enabled Priority is 255 Master Router is 192.168.1.2 (local), priority is 255 Master Advertisement interval is 1.000 sec Master Down interval is 3.003 sec R2#sh vrrp FastEthernet1/0 - Group 1 State is Backup Virtual IP address is 192.168.1.2 Virtual MAC address is 0000.5e00.0101 Advertisement interval is 1.000 sec Preemption enabled Priority is 100 Master Router is 192.168.1.2, priority is 255 Master Advertisement interval is 1.000 sec Master Down interval is 3.609 sec (expires in 3.305 sec)
Jak widzimy na powyższych dwóch listingach VRRP jest skonfigurowane na obu routerach poprawnie. Router R1 ma status Master, a R2 status Backup.
Testowanie konfiguracji
Sprawdzenie poprawności działania protokołu VRRP będzie polegało na tym, że zasymulujemy awarię routera R1 polegająca na wyłączeniu interfejsu f0/0. Jednocześnie uruchomimy na stacji końcowej PC1 polecenie ping na adres 4.2.2.2. To pomoże zobaczyć jak długo trawa przełączenie statusu pomiędzy ruterami i przepuszczenie ruchu inna trasą po awarii.
Wyłączmy więc interfejs f0/0 na routerze R1 wydając polecenie shutdown.
R1(config)#interface fastEthernet 0/0R1(config-if)#shut R1(config-if)#shutdown R1(config-if)# *Mar 13 20:48:08.163: %VRRP-6-STATECHANGE: Fa0/0 Grp 1 state Master -> Init R1(config-if)# *Mar 13 20:48:10.171: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down *Mar 13 20:48:11.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down R2# *Mar 13 20:48:11.727: %VRRP-6-STATECHANGE: Fa1/0 Grp 1 state Backup -> Master
Na powyższym listingu możemy zauważyć, że status routera R1 od razu zmienił się na Init, natomiast router R2 z automatu zmienił swój na Master.
Poniższy listing prezentuje, jak długo trwa przełączanie trasy między routerami po wystąpieniu awarii. Po wydaniu polecenia ping na końcowym urządzeniu na port wychodzący na świat możemy zauważyć, że po wystąpieniu awarii utracono tylko 2 pingi. Jest to znikoma strata, której użytkownik nie zauważy podczas pracy w sieci LAN.
PC1> ping 4.2.2.2 -t 84 bytes from 4.2.2.2 icmp_seq=21 ttl=254 time=48.684 ms 84 bytes from 4.2.2.2 icmp_seq=22 ttl=254 time=45.840 ms 4.2.2.2 icmp_seq=23 timeout 4.2.2.2 icmp_seq=24 timeout 84 bytes from 4.2.2.2 icmp_seq=25 ttl=254 time=43.244 ms 84 bytes from 4.2.2.2 icmp_seq=26 ttl=254 time=46.621 ms
Gdy ponownie włączymy port f0/0 na routerze R1, to status tego routera zmieni się z powrotem na Master, a routera R2 na Backup. Spowoduje to, że komunikacja będzie znowu przechodzić przez interfejs f0/0 na routerze R1.
Co można jeszcze skonfigurować w VRRP?
W tym protokole możemy skonfigurować czasy, tzn. zmienić powszechność przesyłania rozgłoszeń VRRP. Aby to zrobić musimy wydać polecenie na routerze R1:
vrrp[nr grupy] timers advertise msec [wartość w milisekundach].
Możemy także skonfigurować uwierzytelnianie VRRP. Wygląda podobnie jak w przypadku HSRP. By to zrobić musimy wydać pewne komendy na obu routerach. Wydajemy polecenie na R1 na interfejsie, gdzie skonfigurowano VRRP.
vrrp 1 authentication md5 ?
Dzięki temu zobaczymy dostępne opcje, a są nimi:
key-chain łańcuch kluczy
key-string pojedynczy klucz
Gdy wybierzemy którąś z opcji następnie wpisujemy hasło. Cały listing będzie wyglądał następująco:
vrrp 1 authentication md5 key-string [hasło]
Kolejnym krokiem jest wydanie tej samej komendy na routerze R2. Gdy to już zostanie zrobione to autentykacja jest skonfigurowana poprawnie.
Podsumowanie
Wyniki powyższego eksperymentu obrazują, że usługa VRRP działa jak należy. Jej zasada działania jest zbliżona do protokołu HSRP lecz różni się pewnymi aspektami podczas konfiguracji. Jak widać usługa jest przydatna i powinna być używana przez administratorów podczas budowania swojej wewnętrznej sieci. Zapobiega to przed brakiem dostępu do niej w trakcie wystąpienia awarii. Ruch jest kierowany na router zastępczy, który przejmuje rolę głównego podczas jego niedostępności.
Z punktu widzenia np. korporacji lub większych firm, gdzie dostęp do sieci musi być 24 godziny na dobę, to ta usługa pomoże w utrzymaniu prawidłowego działania sieci w danej komórce organizacyjnej bez ponoszenia większych strat, np. finansowych.
