Dual WAN failover na Mikrotiku
Jsou instalace, kdy je nezbytně nutné zajistit nepřetržitou funkčnost internetového připojení (např. obchod přijímající platební karty, hotely s online rezervačním systémem, zabezpečovací zařízení atp.). Za tímto účelem se používají záložní internetové přípojky, které se automaticky využijí v případě výpadku primárního připojení. Hlavní router musí tedy podporovat duální WAN a aktivně kontrolovat funkčnost primární linky. Jak tuto funkcionalitu nastavit na Mikrotiku?
Jednoduchý failover
V našem příkladu máme 2 WAN linky s následujícími Default GW:
- WAN1: 192.168.1.1 (Primární linka)
- WAN2: 192.168.2.1 (Záložní linka)
Routing se pak nastaví těmito příkazy:
/ip route
add gateway=192.168.1.1 distance=1 check-gateway=ping comment=Primarni_linka
add gateway=192.168.2.1 distance=2 comment=Zalozni_linka
Toto je nejsnazší způsob, který zajistí routování přes záložní linku v případě, kdy nefunguje ping na Default GW primární linky.
Nevýhodou tohoto postupu je fakt, že detekuje pouze nedostupnost default GW, což pokrývá případy, kdy je např. vypadlý kabel k primárnímu routeru. Tato metoda ale nedokáže detekovat chybu na trase (např. pokud poskytovatel primárního připojení provádí údržbu sítě).
Rekurzivní failover
Pro úplnou detekci výpadku linky je třeba kontrolovat spojení dál než jen k nejbližší default GW. Tzv. rekurzivní routa dokáže kontrolovat dostupnost libovolné veřejné IP adresy (oblíbené jsou IP adresy patřící google, např: 1.1.1.1, 1.1.2.2) a díky tomu detekovat i závady na infrastruktuře poskytovatele internetového připojení.
Rekurzivní routa se nastavuje těmito příkazy:
/ip route
add dst-address=1.1.1.1/32 gateway=192.168.1.1 scope=10 comment=“Test_Primarni_linky“
add gateway=1.1.1.1 distance=1 check-gateway=ping comment=Primarni_linka
add gateway=192.168.2.1 distance=2 comment=Zalozni_linka
První příkaz nastaví cestu k veřejné adrese 1.1.1.1 přes Primární linku – GW 192.168.1.1. Router vždy použije tuto linku ke kontrole dostupnosti adresy 1.1.1.1. Na dalším řádku definujeme novou default GW pro primární linku 1.1.1.1. Toto nastavení se nazývá rekurzivní routa, protože přebírá status a reálnou default GW ze statické routy na veřejnou IP.
Vlastní failover
Rekurzivní failover je velmi efektivní řešení pro detekci výpadku primární linky. I zde jsou určité limity. Např. perioda testu se nedá ovlivnit – může se tedy stát, že pravidelný ping bude detekován jako pokus o ICMP DDoS a komunikace může být zablokována. Nebo dojde k výpadku IP proti které se testuje. Linka je pak falešně-pozitivně prohlášena jako nefunkční, přestože je problém jinde. Dalším problémem je pak primární linka vytáčená přes PPPoE. Zde není možné použít rekurzivní failover.
Z výše zmíněných důvodů je nejbezpečnější naprogramovat si vlastní pravidla pro failover. Díky tomu lze eliminovat všechny neduhy rekurzivního failoveru.
:local HOST1 „8.8.4.4“
:local HOST2 „1.1.1.1“
:local PINGCOUNT „3“
:local RESPONSE1 [/ping $HOST1 interval=1 count=$PINGCOUNT]
:local RESPONSE2 [/ping $HOST2 interval=1 count=$PINGCOUNT]
:local DISTANCE [/interface pppoe-client get Internet default-route-distance]
:if ($RESPONSE1 = 0 && $RESPONSE2 = 0) do={
:log error „Internet is DOWN“
:if ($DISTANCE = 1) do={
:log info „Setting Internet Default route distance = 5“
/interface pppoe-client set Internet default-route-distance=5 }}
:if ($RESPONSE1 = $PINGCOUNT || $RESPONSE2 = $PINGCOUNT) do={
:log info „Internet is UP“
:if ($DISTANCE = 5) do={
:log info „Setting Internet Default route distance = 1“
/interface pppoe-client set Internet default-route-distance=1 }}
Tento příklad kontroluje dostupnost 2 veřejných IP. Skript lze spouštět v libovolných intervalech tak, aby se zamezilo případné detekci ICPM DDoS. Při implementaci je třeba na FW a v routing table zajistit, aby testované IP vždy odcházely pouze přes primární linku.
Pozor na IP telefony
Po přepnutí linky může dojít k tomu, že IP telefony s vytvořeným SIP spojením k poskytovateli nebudou dostupné. Řešení je popsáno v tomto příspěvku.
Potřebujete pomoc?
Mikrotik je úžasné zařízení s neuvěřitelnými možnostmi. Jeho konfigurace ale může pro nezkušené uživatele znamenat velký oříšek. Netrapte se s nastavováním pokus-omyl, nechte si router odborně nakonfigurovat. Kontakt