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
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>

