Безопасная удаленная работа с MikroTik. Как не потерять связь с устройством

Включение Safe Mode (Безопасного режим) в оборудовании MikroTik позволяет, в случае потери связи с устройством, отменить последние сделанные изменения.
В консоли Safe Mode включается комбинацией клавиш CTRL+X, в интерфейсе Winbox вверху есть кнопка «Safe Mode». Если из-за неправильной настройки связь с устройством оборвется, то максимум через 9 минут изменения будут отменены.

Отменять неправильно выполненную конфигурацию можно также через скрипт.
Для начала сохраним текущую рабочую конфигурацию:

system backup save name=backup.cfg

Создадим скрипт:

/system script add name=имя_скрипта policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    source="delay 900 \
/n system backup load name=backup.cfg"

После создания его необходимо запустить командой:

system script run имя_скрипта

и через 900 секунд (это 15 минут) он восстановит настройки из сохраненного ранее файла настроек. Если выполняя настройки связь с устройством не прервалась до истечения 15 минут, скрипт можно остановить командой:

system script job remove имя_скрипта

Вновь сохранить конфигурацию, запустить скрипт и продолжить настройку устройства.
Однако если перезагрузить устройство скрипт не будет выполнен.

На случай зависания также можно настроить Watchdog, который будет пинговать какой нибудь хост или сайт, и если с ним пропадет связь, то будет выполнена перезагрузка устройства. Однако неправильные введенные вами настройки из-за которых возможно пропала связь, останутся как были и устройство будет постоянно перезагружаться через указанное количество времени.
Приведу пример команды для его настройки:

system watchdog set no-ping-delay 20m automatic-supout yes watch-address=8.8.8.8

5 thoughts on “Безопасная удаленная работа с MikroTik. Как не потерять связь с устройством”

  1. /system script add name=ssss source=»delay 600 /n system backup load name=main.cfg»
    system script run ssss
    expected end of command (line 1 column 11)

  2. С safe Mode весело.
    Открыл winbox. открыл терминал. Нажал ctrl+x. safe mode taken, все дела. Удалил в стенке правило входа по www и сменил себе ip. Произошло отсоединение. Через несколько секунд все восстановилось.
    Ок, подумал я. Снова нажал ctrl+x и начал менять правила. Связь прервалась и больше я его не увидел. Я в Одинцово. Устройство в Липецке. Звоню туда и прошу поставить старый добрый asus rt-n65u вместо этого микротика. С ним все снова заработало, но ехать придется все равно, ибо роутер им отдавать в выходные, а с понедельника работать. класс.

    1. Меня Safe Mode тоже подводил на RouterOS 6.20. Как-то раз включил его через Winbox, изменил IP-адрес интерфейсу, связь оборвалась, IP-адрес оказался не рабочий, прождал когда вернется предыдущая конфигурация, но она так и не вернулась, попросил чтобы устройство перезагрузили, а ему хоть бы что — все изменения сохранены. Как вариант чтобы не ехать могут сбросить MikroTik на стандартные, подключить ethernet кабелем к компьютеру или консольным, и подключить интернет к компьютеру через вторую сетевую, или Wi-Fi, или мобильный телефон подключенный по USB. Потом запустить например TeamViewer для управления.

      1. На одной фирме делал так, но не здесь. Тут полные дубы, в плане компьютеров. Не то, что бы не смогли бы. Страх у них.
        Если только разбираться с шедулером, что бы в фоновом режиме и только в нем он отсчитывал время перед восстановлением конфига. Ну и прибивание задания, если все ок.
        Никаких шеллов. Шелл может «развалиться» сам и все его защиты и планировщики вместе с ним при определенной ситуации.
        В шелле, что в cui, что в gui настраивай, что хочешь. стенки и прочие. но только не систему отсчета и восстановления. ее как-то в фон нужно засунуть.

  3. Создаем файлы текущей конфигурации zzz.backup и xxx.rsc (последний читабелен в текстовом редакторе)
    system backup save name=zzz
    export compact file=xxx или export file=xxx

    Создаем два скрипта: первый, пере заливает конфиг из файла zzz.backup с ребутом по прошествии 10 минут после запуска; второй, применяет конфиг поверх текущего из файла xxx.rsc без ребутания по прошествии 10 минут после запуска.
    /system script
    add name=zzz owner=admin policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive source=\
    «:delay 600;\r\
    \n:log info message=\»Restore config ZZZ.BACKUP (SCRIPT ZZZ)\»;\r\
    \n/system backup load name=zzz.backup»
    add name=xxx owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source=»:delay 600;\r\
    \n:log info message=\»Restore settings after a failed change (SCRIPT XXX)\»;\r\
    \n/import file-name=xxx.rsc»

    Примененние скрипта:
    system script run zzz
    system script run xxx

    Но есть проблема при выполнении скрипта zzz
    [admin@MikroTik] > system script run zzz
    Проходит 10 минут и выдает запрос на ввод пароля:
    password:
    а после пароля ещё и подтверди:
    Restore and reboot? [y/N]:
    Что естественно гадит всю задумку…
    Убрать из скриптов owner=admin не помогает, он добавляется по дефолту. Кто знает, как обойти запрос на ввод пароля и последующее подтверждение, отпишите сюда.

    :log info message=\»Restore config ZZZ.BACKUP (SCRIPT ZZZ)\»;
    Данная запись в лог тоже бесполезна (добавил в скрипт для идеи), т.к. при пере заливке лог обнулится. Но очень неплохо было бы придумать как это обойти, чтоб можно было видеть события до пере заливки!

Добавить комментарий