### Failover4Net1ActiveFull v1.1.0 ### INSTALL 1. Otwórz plik script.rsc (np. w notatniku, ked) 2. Ustaw ustawienia wg. wskazówek poniżej, a następnie zapisz. ### Ustawienia WAN-u 1 (priorytet 1 - najwyższy) :local nameNet1 "Internet 1"; ---------------------------------------- nazwa łącza internetowego 1 :local ileRazyOK1 "2"; ----------------------------------------------- ile razy ma być poprawny test ping, aby przełączyło na to łącze internetowe 1 :local distanceNet1 "11"; -------------------------------------------- distance dla łącza internetowego 1 :local typNet1 "dhcp"; ----------------------------------------------- rodzaj `pobierania` adresu IP dla łącza 1 - [dhcp|pppoe|ppp|static] ### Ustawienia WAN-u 2 (priorytet 2) :local nameNet2 "Internet 2"; ---------------------------------------- nazwa łącza internetowego 2 :local statusNet2 "on"; ---------------------------------------------- czy ma być brane pod uwagę łącze 2 (domyślnie off) on - tak / off - nie :local ileRazyOK2 "2"; ----------------------------------------------- ile razy ma być poprawny test ping, aby przełączyło na to łącze internetowe 2 :local distanceNet2 "22"; -------------------------------------------- distance dla łącza internetowego 2 :local typNet2 "static"; --------------------------------------------- rodzaj `pobierania` adresu IP dla łącza 2 - [dhcp|pppoe|ppp|static] ### Ustawienia WAN-u 3 (priorytet 3) :local nameNet3 "Internet 3"; ---------------------------------------- nazwa łącza internetowego 3 :local statusNet3 "on"; ---------------------------------------------- czy ma być brane pod uwagę łącze 3 (domyślnie off) on - tak / off - nie :local ileRazyOK3 "20"; ---------------------------------------------- ile razy ma być poprawny test ping, aby przełączyło na to łącze internetowe 3 :local distanceNet3 "33"; -------------------------------------------- distance dla łącza internetowego 3 :local typNet3 "static"; --------------------------------------------- rodzaj `pobierania` adresu IP dla łącza 3 - [dhcp|pppoe|ppp|static] ### Ustawienia WAN-u 4 (priorytet 4 - najniższy) :local nameNet4 "Internet 4"; ---------------------------------------- nazwa łącza internetowego 4 :local distanceNet4 "44"; -------------------------------------------- distance dla łącza internetowego 4 :local typNet4 "static"; --------------------------------------------- rodzaj `pobierania` adresu IP dla łącza 4 - [dhcp|pppoe|ppp|static] ### Ustawienia pinga :local ipPing "8.8.8.8"; --------------------------------------------- IP które ma pingować skrypt w celi diagnostyki łącza :local ilePingow 5; -------------------------------------------------- ile pingów ma wysłać :local ilePingowBack 3; ---------------------------------------------- ile minimalne ma wrócić pingów, aby test został uznany za poprawny dla przełaczenia łącza :local ilePingowDown 1; ---------------------------------------------- ile minimalne ma wrócić pingów, aby test został uznany za poprawny dla powrócenia na łącze testowane ### Ustawienia powiadomien MAIL :local alertMail "no"; ----------------------------------------------- (yes/no) - czy wysyłać powiadomienia mail :local smtpLogin "alert@domena.pl"; ---------------------------------- login do poczty :local smtpHaslo "HASLO_SMTP"; --------------------------------------- hasło do poczty :local smtpHost "mail.domena.pl"; ------------------------------------ serwer poczty SMTP :local smtpPort "587"; ----------------------------------------------- port SMTP :local smtpTLS "no"; ------------------------------------------------- (yes/no) uwierzytelnienie TLS :local smtpMail "alert@domena.pl"; ----------------------------------- adres mail poczty :local listMailAlert "odbiorca@mail.pl,odbiorca2@mail.pl"; ----------- maile do kogo ma przyjść powiadomienie oddzielone przecinkiem, plusGSM: +48xxxxxxxxx@text.plusgsm.pl ### Ustawienia powiadomien SMS (modem USB) :local alertSMS "no"; ------------------------------------------------ (yes/no) - czy wysyłać powiadomienia sms przez modem GSM :local modemUSB "usb3"; ---------------------------------------------- pod którym usb jest modem :local channelModem "false"; ----------------------------------------- kanał modemu do wysyłania (domyślne false, czyli bez) ### Ustawienia powiadomien SMS po przez serwersms.pl :local alertSMS2Page "no"; ------------------------------------------- (yes/no) - czy wysyłać powiadomienia sms przez modem SMS2Page :local serwerSMS2Page "serwersms"; ----------------------------------- (serwersms) - serwis obsługujący smsy, obecnie tylko serwersms.pl :local loginSMS2Page "login"; ---------------------------------------- login do serwisu :local passwdSMS2Page "haslo"; --------------------------------------- hasło do serwisu ### nry tel po przecinku, na ktore ma przyjsc powiadomienie :local listTelKomAlert "500XXXXXX,600XXXXXX"; ------------------------ nry tel do których ma przychodzić powiadomienie oddzielone przecinkiem ### Ustawienia Dynamic DNS :local dynamicDNS "no"; ---------------------------------------------- (yes/no) - czy skrypt ma zmieniać IP na serwerze Dynamic DNS :local dynamicUser "login"; ------------------------------------------ login do Dynamic DNS :local dynamicPasswd "haselo"; --------------------------------------- hasło do Dynamic DNS :local dynamicHost "sub.domena.pl"; ---------------------------------- adres strony dla której będzie zmieniany IP :local protDynamicSerwer "http"; ------------------------------------- (http/https) - protokół :local hostDynamicSerwer "nic.changeip.com"; ------------------------- adres do serwera Dynamic DNS ------- zależne od serwera - więcej patrz niżej :local pathDynamicSerwer "/nic/update?hostname=$dynamicHost&myip="; -- ścieżka zmieniająca adres IP ------- zależne od serwera - więcej patrz niżej :local urlGetIP "myip.dnsomatic.com" --------------------------------- adres strony internetowej skąd ma pobierać mój publiczny adres IP :local refreshMinut "10" --------------------------------------------- co ile minut odświeżać IP domeny Dynamic DNS ##:local hostDynSerwer - dyn.com, dyndns.org =========== members.dyndns.org - changeip.com, ddns.info ======= nic.changeip.com ##:local pathDynSerwer - dyn.com, dyndns.org =========== "/nic/update?hostname=$dynHost&myip=" - changeip.com, ddns.info ======= "/nic/update?hostname=$dynHost&myip=" ## więcej - dyn.com, dyndns.org =========== https://help.dyn.com/remote-access-api/perform-update/ - changeip.com, ddns.info ======= http://www.changeip.com/accounts/knowledgebase.php?action=displayarticle&id=34 ## UWAGA !! Jeśli chcemy przełączać pomiędzy dwoma łączami, status WAN 2 i 3 ustawiamy na off, wtedy WAN 1 jest domyślnym, a WAN 4 zapasowym łączem internetowym. 3. Zaloguj się na mikrotika po winboxie 4. Wrzuć plik script.rsc do mikrotika 5. Otwórz MT > New Terminal 6. Wklej w terminalu: (spowoduje to dodanie skryptu do MT > System > Scripts > Failover4Net1ActiveFull oraz wykonywanie go do harmonogramu zadań MT > System > Scheduler) # importowanie skryptu /import script.rsc # dorzucanie linijki z wykonywaniem co 3 minuty skryptu Failover4Net1ActiveFull /system scheduler add name="run Failover4Net1ActiveFull" disabled=yes interval=00:00:30 on-event="/system script run Failover4Net1ActiveFull\r\n" 7. Adresacja łącz internetowych (ważne jest ustawienie odpowieniego distance) W przypadku pobierania adresów IP dynamicznie (DHCP, PPPoE, PPP), należy określić "Default Route Distance" wg. ustawionego distance w konfiguracji dla konkretnego łącza. Natomiast przy adresach statycznych należy modyfikować dodaną brame i ustawić distance także wg. ustawionego distance w konfiguracji dla konkretnego łącza. 8. Przechodzisz do MT > System > Scheduler, zaznacz pozycje "run Failover4Net1ActiveFull" i włącz ją (ptaszkiem) 9. Koniec, skrypt co 30s będzie odpytywał IP przez każde z łącz internetowych.. 10. Dobrą metodą jest ustawienie neutralnych dnsów tak, aby w przypadku przełączenia na inne łącze nie było problemów z tłumaczeniem domen internetowych. Uwaga, DNS nie może być adresem ipPing z konfiguracji. ## MODYFIKACJA USTAWIEŃ: 1. Ustawiamy co chcemy na nowo w pliku script.rsc 2. Wrzuć plik script.rsc do mikrotika 3. Wklej w terminalu: # usuwa obecny skrypt oraz konfiguracje na Mikrotiku /system script remove Failover4Net1ActiveFull # importowanie skryptu /import script.rsc