Mikrotik Multi wan failover script
# Script Starts here... # Internet Host to be checked You can modify them as per required, JZ :local host1 "8.8.8.8" :local host2 "208.67.222.123" # Do not modify data below without proper understanding. :local i 0; :local F 0; :local date; :local time; :global InternetStatus; :global InternetLastChange; # PING each host 5 times :for i from=1 to=5 do={ if ([/ping $host1 count=1]=0) do={:set F ($F + 1)} if ([/ping $host2 count=1]=0) do={:set F ($F + 1)} :delay 1; }; # If both links are down and all replies are timedout, then link is considered down :if (($F=10)) do={ :if (($InternetStatus="UP")) do={ :log error "WARNING : The INTERNET link seems to be DOWN. Please Check"; :set InternetStatus "DOWN"; ## ADD YOUR RULES HERE, LIKE ROUTE CHANGE OR WHAT EVER IS REQUIRED, Example is below ... ## /ip route set [find comment="Default Route"] distance=3 ## /ip firewall nat disable [find comment="Your Rules, Example"] :set date [/system clock get date]; :set time [/system clock get time]; :set InternetLastChange ($time . " " . $date); } else={:set InternetStatus "DOWN";} } else={ ## If reply is received , then consider the Link is UP :if (($InternetStatus="DOWN")) do={ :log warning "WARNING :The INTERNET link have been restored"; :set InternetStatus "UP"; ## ADD YOUR RULES HERE, LIKE ROUTE CHANGE OR WHAT EVER IS REQUIRED, Example is below ... ## /ip route set [find comment="Default Route"] distance=1 ## /ip firewall nat enable [find comment="Your Rules, Example"] :set date [/system clock get date]; :set time [/system clock get time]; :set InternetLastChange ($time . " " . $date); } else={:set InternetStatus "UP";} } # Script Ends Here. # Thank you
No comments:
Post a Comment