Автоматично възстановяване на последната запазена конфигурация в рутерите Mikrotik

Много хора се сблъскват с невероятната функция, например, на комутаторите HPE — ако конфигурацията случайно не е запазена ръчно, след рестартиране се зарежда предишната запазена конфигурация. Технологията е безпощадна (забравил си да запазиш — прави отново), но справедлива и надеждна.

При MikroTik обаче такава функция не съществува, въпреки че е известна стара максима: «удалена настройка на рутера — за дълъг път». Дори рутерът, който е под ръка, лесно може да се превърне в «кирпич» до ресет.

Както и да е странно — не намерих нито един мануал по този въпрос, и се наложи да действам ръчно.

Първото, което правим — създаваме скрипт за создание на резервно копие на конфигурацията. В бъдеще «запазването» на състоянието ще бъде именно с този скрипт.

Отиваме в System -> Scripts и създаваме скрипт, например, «fullbackup» (разбира се, без кавички).

system backup save dont-encrypt=yes name=Backup_full

Парола няма да използваме, защото иначе ще трябва да я посочим явно в съседния скрипт, и не виждам смисъл от такава «защита».

Създаваме втори скрипт, който ще възстановява конфигурацията при всяко стартиране. Нека го наречем «full_restore».

Този скрипт е малко по-сложен. Факт е, че при възстановяване на конфигурацията се извършва и рестартиране. Без използване на някакъв контролен механизъм, ще получим цикличен ребут.

Контролният механизъм е малко «дубов», но затова пък надежден. При всяко стартиране на скрипта първо се проверява дали съществува файлът «restore_on_reboot.txt».
Ако такъв файл съществува — значи е необходимо възстановяване от резервното копие. Изтриваме файла и извършваме възстановяване с последващо рестартиране.

Ако такъв файл няма — просто създаваме този файл и не правим нищо (т.е. значи това е вече второто зареждане след възстановяването от резервното копие).

:if ([/file find name=restore_on_reboot.txt] != "") do={ /file rem restore_on_reboot.txt; system backup load name=Backup_full password=""} else={ /file print file=restore_on_reboot.txt }

Най-добре е да проверите работата на скриптовете на този етап, преди да добавите задачата в планировщика.

Ако всичко е наред — преминаваме към третото и последно действие — добавяме в планиращия инструмент задача за стартиране на скрипта при всяко зареждане.

Отиваме в System -> Scheduler и добавяме нова задача.
В полето Начално време указваме startup (да, така и пишем, с букви)
В полето On Event писа
/system script run full_restore

После, стартираме скрипта, който запазва конфигурацията! Не искаме ли да правим всичко това отново?

Добавяме някакъв "боклук" в настройките за тестване или премахваме нещо важно и накрая пробваме да презаредим рутера.

Да, много хора вероятно ще кажат: "Има режим безопасен режим!". Въпреки това, той няма да е подходящ, ако в резултат на работата ви трябва да се свържете отново с рутера (например, ако промените адреса или параметрите на wifi мрежата, през която сте свързани). И не бива да забравяме и за възможността да "забравите" да включите този режим.

P.S. Важно е да не забравяте да "запазвате".

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster