MikroTik HA

Innen: IT documentation
A lap korábbi változatát látod, amilyen Moszat (vitalap | szerkesztései) 2020. január 12., 20:41-kor történt szerkesztése után volt. (→‎Összefoglalás)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Összefoglalás

A MikroTiknak nincs config managementje, ezért logikailag egy egységet képző HA clustert nem lehet létrehozni vele. Viszont az FHRP[1] protokollok közül a VRRP[2] van implementálva benne, ennek segítségével hatékony HA[3] clustert építhetünk belőle.

A VRRP arról gondoskodik, hogy két eszköz között eldöntse, hogy egy meghatározott IP címet éppen melyik eszköz használ. Ha az egyik kiesik, a másik automatikusan felveszi azt. A VRRP állapot változásakor lehetőség van scriptet futtatni, ez ad lehetőséget arra, hogy egyéb szolgáltatásokat is konfiguráljunk. Ez a működés nem teszi lehetővé, hogy a futó munkameneteket (session) és egyéb szolgáltatások állapotait átvegye a másik eszköz, azok elvesznek és újra fognak épülni. Viszont a kívánt szolgáltatások működőképesek maradnak, és legtöbbször ez is elegendő.

A leírás MikroTik RouterOS 6.44.6 verzión készült.

VRRP beállítása

A példában a WAN interfészt tesszük redundánssá. Feltételezzük, hogy az ISP[4] és a routereink között létezik egy broadcast domain. Ez általában adott, vagy könnyű kialakítani egy switch-el. Ezen keresztül kommunikál a VRRP, és itt van a WAN IP cím is, ami a két MikroTik router között mozog. A VRRP interfészre hagyományos módon felvehetünk IP címet, mind a két eszközön ugyanazt a valós WAN IP címet, de a VRRP protokoll dönti el, melyik interfész lesz aktív.

Azon az interfészen, amelyre felépítjük a VRRP-t, kell, hogy IP cím legyen. Ez teljesen mindegy, hogy mi, de a VRRP működéséhez kell. Mivel a példában a WAN oldalt konfiguráljuk, nem működő IP konfigurációt adunk meg. Továbbá engedélyezzük a VRRP protokollt a tűzfalon. Statikus IP címet használunk a WAN-on, ezért mindkét routeren be kell állítani az alapértelmezett átjárót is.

  • interface: Létező interfész, amelyen használjuk a VRRP-t
  • vrid: A VRRD interfész azonosítója.
  • priority: A protokoll prioritás alapú, a nagyobb prioritás aktív addig, míg az elérhető.
  • interval: Milyen frekvenciával frissítsék az eszközök egymás között az állapotokat.

Ezen kívül van még lehetőség autentikációt, protokoll verziót megadni, illetve ipv4 és ipv6 módot választani.

1. router, ez lesz az aktív magasabb prioritással:

/ip address add address=192.168.1.1/32 interface=WAN
/interface vrrp add name=WAN-VRRP interface=WAN vrid=1 priority=100 interval=1
/ip address add address=1.2.3.4/24 interface= WAN-VRRP
/ip firewall filter add action=accept in-interface=WAN protocol=vrrp chain=input
/ip route add dst-address=0.0.0.0/0 gateway=1.2.3.254

2. router, ez lesz a backup:

/ip address add address=192.168.1.1/32 interface=WAN
/interface vrrp add name=WAN-VRRP interface=WAN vrid=1 priority=50 interval=1
/ip address add address=1.2.3.4/24 interface= WAN-VRRP
/ip firewall filter add action=accept in-interface=WAN protocol=vrrp chain=input
/ip route add dst-address=0.0.0.0/0 gateway=1.2.3.254

Ha minden rendben, az 1. router felveszi az 1.2.3.4 IP címet, majd ha az kiesik, azt a 2. router veszi fel.

Redundáns alapértelmezett átjáró

A fenti router HA cluster konfiguráció WAN oldalról már valóban redundáns, de LAN oldalról még nem. Tételezzük fel, hogy az 1. router az alapértelmezett átjáró, de ha az nem működik, attól a LAN-ban lévő hostok nem fogják automatikusan a 2. router felé küldeni a forgalmat.

LAN oldalon is használnunk kell a VRRP-t és a VRRP IP cím lesz az alapértelmezett átjáró.

A konfiguráció gyakorlatilag ugyanaz, azzal a különbséggel, hogy itt már érvényes IP konfigurációt adunk meg, hogy a routereket külön tudjuk adminisztrálni.

A VRRP beállításoknak szinkronban kell lenni a WAN beállításokkal.

1. router:

/ip address add address=192.168.10.1/24 interface=LAN
/interface vrrp add name=LAN-VRRP interface=LAN vrid=2 priority=100 interval=1
/ip address add address=192.168.10.254/24 interface= LAN-VRRP
/ip firewall filter add action=accept in-interface= LAN protocol=vrrp chain=input

2. router:

/ip address add address=192.168.10.2/24 interface=LAN
/interface vrrp add name=LAN-VRRP interface=LAN vrid=2 priority=50 interval=1
/ip address add address= 192.168.10.254/24 interface= LAN-VRRP
/ip firewall filter add action=accept in-interface= LAN protocol=vrrp chain=input

Ezzel a konfigurációval már kapunk egy működő redundáns alapértelmezett átjárót. Természetesen a működéshez szükséges NAT-ot, tűzfal szabályokat mindkét routeren be kell állítani. A LAN-VRRP interfészre beállíthatunk DHCP szervert, a WAN-VRRP-re pedig DHCP, PPPoE klienst vagy VPN kiszolgálót. Ha pontosan ugyanazok a beállítások, a router HA cluster szolgáltatásai redundánsak lesznek.

VRRP esemény vezélés

A fenti konfiguráció nem minden problémát tud kezelni. Ha az 1. router ISP kapcsolata megszakad, a 2. router felveszi a WAN IP-t, de ettől még LAN oldalon az 1. router marad az alapértelmezett árjáró.

A probléma úgy oldható fel, hogy a két VRRP interfésznek mindig ugyanabban az állapotban kell lennie, ha az egyik routeren van a WAN IP cím, akkor ugyanazon kell lennie a LAN alapértelmezett átjárónak is.

Lehetőség van scriptet futtatni, amikor a VRRP állapotot vált. Amikor a 2. router lesz a master a WAN-VRRP interfészen, akkor a LAN-VRRP prioritását az 1. router fölé állítjuk, ha pedig backup lesz, akkor vissza az eredeti állapotra. Ezzel elérhetjük, hogy a 2. router a LAN oldalon is master lesz a WAN oldallal szinkronban.

Módosítás a 2. routeren:

/interface vrrp set WAN-VRRP on-master="/interface vrrp set LAN-VRRP priority=150" on-backup="/interface vrrp set LAN-VRRP priority=50"

Tovább bonyolítja a helyzetet, hogy ha két VRRP node működőképes, de megszakad a kapcsolatuk, akkor mindkettő master lesz. Tehát, ha a 2. router kapcsolata szakad meg az ISP hálózattal, de a WAN intefésze up állapotban marad, akkor a WAN-VRRP interfésze mater lesz és a LAN-VRRP master szerepét is átveszi. A LAN hostok felé irányítják a forgalmat, de az nem éri el az ISP hálózatot.

A fenti megoldást ki kell egészíteni egy ellenőrzéssel, hogy a 2. router valóban tud forgalmazni az ISP felé, amikor masteré válik. Ennek legszerűbb módja, ha a WAN hálózat alapértelmezett átjáróját ellenőrizzük.

Az ellenőrzést egy scriptben végezzük, a VRRP interfésznél csak e script futtatását adjuk meg.

Módosítás a 2. routeren:

/interface vrrp set WAN-VRRP on-master="/system script run onMaster" on-backup="/interface vrrp set LAN-VRRP priority=50"

Az onMaster script először háromszor pingeli az átjárót, majd ellenőrzi az átjáró IP címét az ARP táblában. Ha egyik módszerrel sem találja, akkor nem állítja át a LAN-VRRP interfész prioritását.:

:local Wping true
:local Warp true
:local Wip 1.2.3.254
:local VRRPif "WAN-VRRP"

if ([ :len [ /ping $Wip interval=1 count=3 ]] = 0) do={
    :set Wping false
    if ([ :len [ /ip arp find address=$Wip interface=$VRRPif ]] = 0) do={
        :set Warp false
    }
}
if ( $Wping || $Warp ) do={
    /interface vrrp set LAN-VRRP priority=150
}