### Failover2NetPro v1.0.0 ### INSTALL 1. Otwórz plik script_ROSv6.rsc lub script_ROSv7.rsc (np. w notatniku, ked) 2. Ustaw ustawienia wg. wskazówek poniżej, a następnie zapisz. ### Internet Domyślny :local interfaceDefault "pppoe-out"; ------------------------- nazwa interfejsu :local typeDefault "pppoe"; ---------------------------------- typ przydzielania adresu IP [ dhcp / pppoe / ppp / dhcplte / static ] ### Internet Zapasowy :local interfaceBackup "lte1"; ------------------------------- nazwa interfejsu :local typeBackup "dhcplte"; --------------------------------- typ przydzielania adresu IP [ dhcp / pppoe / ppp / dhcplte / static ] ### Ustawienia pinga :local pingIP1 "8.8.8.8"; ------------------------------------ pierwszy adres IP, który będzie wykorzystywany do testu łącza internetowego (ping) :local pingIP2 "no"; ----------------------------------------- drugi adres IP, który będzie wykorzystywany do testu łącza internetowego (ping) / ustawienie "no" wyłącza testowanie drugiego adresu IP :local ilePingow 5; ----------------------------------------- ile pingów ma wysłać :local ilePingOK 2; ------------------------------------------ ile pingów ma wrócić, aby przełaczyło na łącze domyślne ### Lista odbiorcow powiadomien (mail|smsmodem|mail2sms|serwersmspl) :local runAlert "no"; ---------------------------------------- czy ma wysyłać powiadomienia [yes|no] :local listAlert {"odbiorca@mail.pl"="mail";"odbiorca2@mail.pl"="mail";"600000000"="smsmodem";"600000000@sms2email.pl"="mail2sms";"600000001"="serwersmspl"}; mail --------- powiadomienie wysyłanie na maila (poprzedza go adres mail) smsmodem ----- powiadomienie wysyłanie na telefon przez modem (poprzedza go nr tel. kom.) mail2sms ----- powiadomienie wysyłanie na telefon przez maila (poprzedza go adres mail np. smeskom.pl) serwersmspl -- powiadomienie wysyłanie na telefon przez serwersms.pl (poprzedza go nr tel. kom.) ### Ustawienia powiadomien mail oraz mail2sms :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"; ----------------------------------------- uwierzytelnienie TLS [ yes / no / starttls (v7) ] :local smtpMail "alert@domena.pl"; --------------------------- adres mail poczty ### Ustawienia powiadomien sms (modem USB) :local modemUSB "usb3"; -------------------------------------- pod którym usb jest modem :local channelModem "false"; --------------------------------- kanał modemu do wysyłania (domyślne false, czyli bez) :local ileZnakowMaMiecSMS 160; ------------------------------- ile znaków ma mieć sms wysyłany przez modem ### Ustawienia powiadomien sms po przez serwersms.pl :local loginSerwerSMSPL "login"; ----------------------------- login do serwisu :local passwdSerwerSMSPL "haslo"; ---------------------------- hasło do serwisu :local nadawcaSerwerSMSPL ""; -------------------------------- alfanumeryczna nazwa nadawcy np. „INFORMACJA”, własna nazwa lub numer 4 lub 9-cio cyfrowy ### dodawanie identity oraz daty [yes/no] :local dodajIdentityDoSMS "yes"; ----------------------------- czy ma dodawać do SMSa Identity urządzenia? :local dodajDateDoSMS "yes"; --------------------------------- czy ma dodawać do SMSa date? ### Ustawienia dynamic dns (dynDNS/hostDNS) :local dynDNS "no"; ------------------------------------------ czy skrypt ma zmieniać IP na serwerze dynDNS / hostDNS [ yes / no ] :local dynUser "login"; -------------------------------------- login do dynDNS / hostDNS :local dynPasswd "haselo"; ----------------------------------- hasło do dynDNS / hostDNS :local dynHost "sub.domena.pl"; ------------------------------ adres strony dla której będzie zmieniany IP :local protDynSerwer "https"; -------------------------------- protokół [ http / https] :local hostDynSerwer "nic.changeip.com"; --------------------- adres do serwera dynDNS / hostDNS -- zależne od serwera - więcej patrz niżej :local pathDynSerwer "/nic/update?hostname=$dynHost&myip="; -- ścieżka zmieniająca adres IP ------- zależne od serwera - więcej patrz niżej ### Ustawienia skad ma pobierac zewnetrzny IP :local IPFrom "www"; ----------------------------------------- skąd ma pobierać adres IP dla dynDNS / hostDNS [ www / dev ] www --- ze strony, która jest podanna w parametrze hostGetIP dev --- taki jaki jest pobrany lub przypisany na interfejs podany w parametrze interfaceDefault lub interfaceBackup :local hostGetIP "myip.dnsomatic.com"; ----------------------- adres do strony skąd ma pobierać adres IP przez www :local pathGetIP "/"; ---------------------------------------- ścieżka skąd ma być pobierany adres IP przez www :local protGetIP "https"; ------------------------------------ protokół, po którym ma być pobierany adres IP przez www [ http / https] ### Debugowanie [yes/no] :local debugowanie "no"; ------------------------------------- po ustawieniu "yes" zwiększa liczbe logów skryptu oraz wyłącza wysyłanie alertów ### Modem USB :local resetUSB "yes"; --------------------------------------- czy restartować modem USB, gdy nie będzie na nim internetu :local durationResetUSB "10"; -------------------------------- ile sekund ma być wyłaczony modem przy restarcie modemu USB ### Nazwa skryptu, ktory ma byc uruchamiany po przelaczeniu na zapasowy internet :local nameScript2BackupNet ""; ------------------------------ nazwa skryptu, który ma być uruchamiany po przełączeniu na łącze zapasowe ### Nazwa skryptu, ktory ma byc uruchamiany po przelaczeniu na domyslny internet :local nameScript2DefaultNet ""; ----------------------------- nazwa skryptu, który ma być uruchamiany po przełączeniu na łącze domyślne #:local hostDynSerwer - dyn.com, dyndns.org ====== members.dyndns.org - ovh.com ================== www.ovh.com - changeip.com, ddns.info == nic.changeip.com #:local pathDynSerwer - dyn.com, dyndns.org ====== "/nic/update?hostname=$dynHost&myip=" - ovh.com ================== "/nic/update?system=dyndns&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/ - ovh.com ================== http://pomoc.ovh.pl/DynDns - changeip.com, ddns.info == http://www.changeip.com/accounts/knowledgebase.php?action=displayarticle&id=34 3. Zaloguj się na Mikrotika po winboxie 4. Zmień ustawienie distance dla łącza domyślnego na 11, dla łącza zapasowego na 22 5. Odznaczyć na łączach Use Peer DNS 6. Zmień w IP > DNS static DNS na taki który byłby dostępny przez dwa łącza 7. Wrzuć plik script_ROSv6.rsc lub script_ROSv7.rsc do Mikrotika 8. Otwórz MT > New Terminal 9. Wklej w terminalu: (spowoduje to dodanie skryptu do MT > System > Scripts > Failover2NetPro oraz wykonywanie go do harmonogramu zadań MT > System > Scheduler) # strefa czasowa /system clock set time-zone-name=Europe/Warsaw # serwery NTP - dla wesji 6.13 i niższe /system ntp client set enabled=yes mode=unicast primary-ntp=194.146.251.100 secondary-ntp=194.146.251.101 # serwery NTP - dla wesji 6.14 i wyższe /system ntp client set enabled=yes primary-ntp=194.146.251.100 secondary-ntp=194.146.251.101 # importowanie skryptu /import script_ROSv6.rsc # lub /import script_ROSv7.rsc # dorzucanie linijki z wykonywaniem co 30s skryptu Failover2NetPro /system scheduler add name="run Failover2NetPro" disabled=yes interval=00:00:30 on-event="/system script run Failover2NetPro\r\n" 10. Przechodzisz do MT > System > Scheduler, zaznacz pozycje "run Failover2NetPro" i włącz ją (ptaszkiem) 11. Koniec, skrypt co 30s będzie sprawdzał czy idzie ping na ustawiony wcześniej IP - przełączanei co około 1 min. ## MODYFIKACJA USTAWIEŃ: 1. Ustawiamy co chcemy na nowo w pliku script_ROSv6.rsc lub script_ROSv7.rsc 2. Wrzuć plik script_ROSv6.rsc lub script_ROSv7.rsc do Mikrotika 3. Wklej w terminalu: # usuwa obecny skrypt oraz konfiguracje na Mikrotiku /system script remove Failover2NetPro # importowanie skryptu /import script_ROSv6.rsc # lub /import script_ROSv7.rsc