modified on 1 lip 2010 at 11:22 ••• 1 747 views

VRRP

Z MikroTik Wiki

Spis treści

Informacje Ogólne

Wprowdzenie

Implementacja Virtual Router Redundancy Protocol (VRRP) w MikroTik ROuterOS i jest zgodna z RFC2338. Protokół VRRP używany jest w celu zapewnienia stałego dostępu do niektórych zasobów. Dwa lub więcej routerów (określanych jako VRRP Routers) tworzy wysoko dostępowy klaster (określany jako wirtualny router) z dużą odpornością na błędy. Każdy router może być częścią nie więcej niż 255 wirtualnych routerów na interfejs. Wiele współczesnych routerów obsługuje ten protokół.

Ustawienia sieci z klasterami VRRP zapewnia wysoką dostępność dla routerów bez użycia niepraktycznych skryptów opartych na pingach.

Specyfikacja

Wymagane pakiety: system

Wymagane licencje: Level1

Poziom menu: /interface vrrp

Standardy i technologie: VRRP,AH, HMAC-MD5-96 within ESP and AH

Wykorzystanie sprzętowe: nieznaczne

Opis

Virtual Router Redundancy Protocol jest protokołem umożliwiającym wysoką dostępność dla routerów. Routery mogą być częścią więcej niż jednego wirtualnego routera. Jeden lub więcej adresów IP może być przydzielonych do wirtualnego routera. Węzeł wirtualnego routera może znajdować się w jednym z poniższych stanów:

  • MASTER - gdy węzeł odpowiada na wszystkie zapytania kierowane na adresy IP. Może być więcej niż jeden główny węzeł w wirtualnym routerze. Węzeł wysyła pakiety rozgłoszeniowe VRRP do wszystkich zapasowych routerów (używając adresu multicastowego) co chwilę (ustawiano w parametrze interval).
  • BACKUP - gdy router VRRP monitoruje dostępność i stan głównego routera. Nie odpowiada na żadne zapytania. Gdy główny router stanie się nieosiągalny (lub przynajmniej trzy sekwencyjne pakiety VRRP są utracone), następuje proces elekcji i nowy główny router zostaje wybrane w oparciu o jego priorytet. Więcej szczegółów o wirtualnych routerach: RFC2338.

Uwagi

VRRP nie działa na interfesjach VLAN, ponieważ niemożliwe jest posiadanie innego adresu MAC interfejsu VLAN niż adres MAC fizycznego interfejsu na którym działa VLAN.

Routery VRRP

Poziom menu: /interface vrrp

Opis

Kilka routerów VRRP może uformować wirtualny router. Maksymalna ilość klastrów w jednej sieci wynosi 255, każdy z nich ma unikalny VRID (Virtual Router ID). Każdy router będący częścią klastera VRRP musi mieć priorytet ustawiony na konkretną wartość. Każda instancja VRRP skonfigurowana jest jak wirtualny interfejs przywiązany do prawdziwego interfejsu (jak w VLAN). Adresy VRRP są umieszczone w wirtualnym interfejsie VRRP. Główny VRRP ma włączoną flagę running, dzięki czemu adresy (i powiązane routery i inne konfiguracje) są aktywne. Serwery backup nie są włączone, więc wszystkie ustawienia powiązane z tym interfejsem są nieaktywne.

Opis własności

arp (disabled | enabled | proxy-arp | reply-only; default: enabled) - Address Resolution Protocol

authentication (none | simple | ah; default: none) - metoda uwierzytelniania używana w pakietach rozgłoszeniowych VRRP

  • none - brak uwierzytelnienia
  • simple - proste tekstowy uwierzytelnienie
  • ah - Nagłówek Uwierzytelnienia (Authentication Header) używany w algorytmie HMAC-MD5-96

backup (read-only: flag) - czy instancja jest w stanie zapasowym (backup)

interface (name) - nazwa interfejsu na którym uruchomiona jest instancja

interval (integer: 1..255; default: 1) - interwał uaktualnień VRRP w sekundach. Definiuje jak często serwer główny danego klastra wysyła pakiety rozgłoszeniowe VRRP

mac-address (MAC address) - adres MAC instancji VRRP. Według RFC, każda instancja VRRP powinna posiadać unikalny adres MAC

master (read-only: flag) - czy instancja znajduje się w stanie głównym

mtu (integer; default: 1500) - Maximum Transmission Unit

name (name) - nazwa instancji VRRP

on-backup (name; default: "") - skrypt wykonywany gdy węzeł przechodzi w stan zapasowy

on-master (name; default: "") - skrypt wykonywany gdy węzeł przechodzi w stan główny

password (text; default: "") - hasło wymagane przy procesie uwierzytelniania i w zależności od metody może być zignorowane (jeśli nie jest wykonywane uwierzytelnianie), 8 znakowy ciąg (dla uwierzytelnienia tekstem) lub 16 znakowy ciąg (wymagany 128 bitowy klucz dla uwierzytelniania AH)

preemption-mode (yes | no; default: yes) - czy tryb rezerwacji jest włączony

  • no - węzeł zapasowy nie będzie wybrany na główny dopóki aktualny serwer główny jest aktywny nawet jeśli węzeł zapasowy ma wyższy priorytet niż główny
  • yes - węzeł główny ma zawsze najwyższy priorytet

priority (integer: 1..255; default: 100) - priorytet węzła (wyższy oznacza wyższy priorytet)

  • 255 - RFC wymaga, aby router posiadający adres IP przypisany do instancji miał priorytet równy 255

vrid (integer: 0..255; default: 1) - Virtual Router Identifier (musi być unikalny dla jednego interfejsu)

Uwagi

Wszystkie węzły jednego klastra muszą mieć takie same vrid, interval, preemption-mode, authentication i password.

Aby dodać instancję VRRP na interfejsie ether1, tworząc (ponieważ priority jest 255) wirutalny router z vrid równym 1:

[admin@MikroTik] interface vrrp> add interface=ether1 vrid=1 priority=255
[admin@MikroTik] interface vrrp> print
Flags: X - disabled, I - invalid, R - running, M - master, B - backup 
 0   RM name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:01 arp=enabled
        interface=ether1 vrid=1 priority=255 interval=1 preemption-mode=yes 
        authentication=none password="" on-backup="" on-master="" 
[admin@MikroTik] ip vrrp>

Instancja jest aktywna od razu, ponieważ ma priorytet równy 255. Instancja może czekać w trybie zapasowym do czasu zakończenia procesu wyboru nowej głównej instancji przed przyjęciem roli głównej instancji. To także oznacza, że nie może być innych routerów VRRP z maksymalnym priorytetem.

Przykład postępowania w przypadku awarii VRRP

Opis

Grafika:vrrp1.jpg

Protokół VRRP może być użyty do stworzenia redundantnego połączenia internetowego z odpornością na awarię. Załóżmy, że mamy sieć 192.168.1.0/24 i potrzebujemy zapewnić dla niej łącze internetowe o dużej niezawodności. Ta sieć powinna znajdować się za NATem (aby zapewnić odporność na awarię publicznych IP, używane są dynamiczne protokoły routingu jak BGP lub OSPF razem z VRRP). Mamy połączenie do dwóch różnych dostawców internetu (ISP) i jeden z nich jest preferowany (np. jest tańszy lub szybszy).

Ten przykład pokazuje jak skonfigurować VRRP na dwóch routerach pokazanych na diagramie. Routery muszą być początkowo skonfigurowane: interfejsy są włączone, każdy interfejs ma odpowiedni adres IP, tablica routingu jest poprawnie ustawiona (powinna mieć przynajmniej jedną domyślną trasę). SRC-NAT lub maskarada powinna być również wcześniej skonfigurowana. Zajrzyj do odpowiednich rozdziałów podręcznika jak to zrobić.

Załóżmy, że interfejs połączony z siecią 192.168.1.0/24 ma nazwę local na obu routerach VRRP.

Konfiguracja głównego routera VRRP

Najpierw trzeba stworzyć instancję VRRP na tym routerze. Użyjemy priorytetu 255 ponieważ będzie to preferowany router:

[admin@MikroTik] interface vrrp> add interface=local priority=255
[admin@MikroTik] interface vrrp> print
Flags: X - disabled, I - invalid, R - running, M - master, B - backup 
 0   RM name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:01 arp=enabled
        interface=local vrid=1 priority=255 interval=1 preemption-mode=yes 
        authentication=none password="" on-backup="" on-master="" 
[admin@MikroTik] interface vrrp>

Następnie adres IP powinien być dodany do instancji VRRP:

[admin@MikroTik] ip address> add address=192.168.1.1/24 interface=vrrp1
[admin@MikroTik] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
  #   ADDRESS            NETWORK         BROADCAST       INTERFACE
  0   10.0.0.1/24        10.0.0.0        10.0.0.255      public
  1   192.168.1.2/24     192.168.1.0     192.168.1.255   local
  2   192.168.1.1/24     192.168.1.0     192.168.1.255   vrrp1
[admin@MikroTik] ip address>

Konfiguracja zapasowego routera VRRP

Teraz stworzymy instancję VRRP z niskim priorytetem (możemy użyć domyślnej wartości 100), dzięki czemu router będzie preferował tryb zapasowy:

[admin@MikroTik] interface vrrp> add interface=local
[admin@MikroTik] ip vrrp> print
Flags: X - disabled, I - invalid, R - running, M - master, B - backup 
 0    B name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:01 arp=enabled
        interface=local vrid=1 priority=100 interval=1 preemption-mode=yes 
        authentication=none password="" on-backup="" on-master="" 
[admin@MikroTik] interface vrrp>

Teraz trzeba dodać ten sam adres, który został dodany w węźle głównym:

[admin@MikroTik] ip address> add address=192.168.1.1/24 interface=vrrp1

Testowanie działania podczas awarii

Teraz rozłączymy główny router, zapasowy przejdzie w tryb główny po paru sekundach:

[admin@MikroTik] interface vrrp> print
Flags: X - disabled, I - invalid, R - running, M - master, B - backup 
 0   RM name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:01 arp=enabled
        interface=local vrid=1 priority=100 interval=1 preemption-mode=yes 
        authentication=none password="" on-backup="" on-master="" 
[admin@MikroTik] interface vrrp>