Tenhle skriptik slouzi k zapinani a vypinani default_gw, nebo jine routy na zaklade testovani dostupnosti vzdalene IP. Da se pouzit napriklad pri existenci dvou default gw. Sice pomoci check gw muzeme jeji dostupnost testovat, ale to neni vzdy vhodne, zejmena pokud tato default gw neni primo u providera v inetu, ale napriklad az za DSL modemem/NATem. Tudiz vam sice gw checkuje, ale inet nejede.
Mejme tedy na MT default GW1 AAA.AAA.AAA.AAA s commentem default_gw1. Trasovanim jsme zjistili ze napriklad prvni IP u providera prez kterou jedeme je XXX.XXX.XXX.XXX.
Do rout tedy nejdrive pridame zaznam:
/ip route add dst-address=XXX.XXX.XXX.XXX/32 gateway=AAA.AAA.AAA.AAA
cimz zajistime, ze nam testovaci ping na XXX.XXX.XXX.XXX pujde pres gw AAA.AAA.AAA.AAA
Pak pridame skriptik:
:if ([/ping XXX.XXX.XXX.XXX count=10] = 0) do={
:if ([/ip route get [find comment=default_gw1] disabled] = no ) do={
:log info "gw1 je nedostupna vypinam routu na gw1"
/ip route {
disable [find comment=default_gw1]
}
}
} else={
:if ([/ip route get [find comment=default_gw1] disabled] = yes ) do={
:log info "gw1 je dostupna zapinam routu gw1"
/ip route {
enable [find comment=default_gw1]
}
}
}
Skriptik nam desetkrat pinga na IP XXX.XXX.XXX.XXX a pri neuspechu zkontroluje jestli je zapnuta default_gw1.
Pokud ano tak ji vypne. A naopak. Spoustime ho samozrejme jak casto uzname za vhodne.
Analogicky to same udelame pro default_gw2, pripadne dalsi. Tim si zajistime fail-over pri pouziti neprimo
pripojeneho inetu a pouzivani napriklad ECMP, nebo policy routingu.