Страница 2 из 2

Re: Обновление прошивки всех Микротиков с головного Микротика с флешки

Добавлено: 21 мар 2021, 01:45
Dragon_Knight
Ну судя по тому что за полтора года Вы так и реализовали свои 'хотелки', то не в вашем праве запрещать писать на форуме, но это лирика...

1. На каждом устройстве работает скрипт который проверяет необходимость прошивки и выполняет её соответственно. Можно это сделать в виде сайта и каждое устройство будет запрашивать например "dev-api.php?method=check_update&token=DEV_SN".
2. Микротики умеют автоматически выполнять файл 'ANYNAME .auto.rsc' после загрузки его по ftp ( только по ftp ). Подумайте над этим вариантом.
3. Если Вы видите все устройства с главного, то каким боком тут было сказано про "изоляция от прямого доступа в инет" непонятно. Вам и не нужен доступ в инет. Вам необходим доступ к устройствам и он есть.
4. Dude всё еще актуален.
5. Сделайте cmd файл и напишите там на каждое устройство

Код: Выделить всё

plink -batch -ssh -P 22 -l %SSHLOGIN% -pw %SSHPASS% -2 -4 %SSHHOST% "/system package update install"
но это пусть к уничтожению сети.

Re: Обновление прошивки всех Микротиков с головного Микротика с флешки

Добавлено: 21 мар 2021, 05:31
georghacker
Dragon_Knight писал(а): 21 мар 2021, 01:45 Ну судя по тому что за полтора года Вы так и реализовали свои 'хотелки', то не в вашем праве запрещать писать на форуме, но это лирика...
Реализацию этой хотелки отложил по некоторым причинам, так вышло. Но желание никуда не делось, так как количество устройств растёт. Поскольку разговор с Вами перешёл в деловое русло, должен так же признать эту кучубукв лирикой. К делу:
Dragon_Knight писал(а): 21 мар 2021, 01:45 1. На каждом устройстве работает скрипт который проверяет необходимость прошивки и выполняет её соответственно. Можно это сделать в виде сайта и каждое устройство будет запрашивать например "dev-api.php?method=check_update&token=DEV_SN".
2. Микротики умеют автоматически выполнять файл 'ANYNAME .auto.rsc' после загрузки его по ftp ( только по ftp ). Подумайте над этим вариантом.
5. Сделайте cmd файл и напишите там на каждое устройство

Код: Выделить всё

plink -batch -ssh -P 22 -l %SSHLOGIN% -pw %SSHPASS% -2 -4 %SSHHOST% "/system package update install"
но это пусть к уничтожению сети.
Всё это обязательно изучу, надо именно вникать и понимать что делаю.
Dragon_Knight писал(а): 21 мар 2021, 01:45 3. Если Вы видите все устройства с главного, то каким боком тут было сказано про "изоляция от прямого доступа в инет" непонятно. Вам и не нужен доступ в инет. Вам необходим доступ к устройствам и он есть.
Мне тяжело объяснить про изоляцию устройств от интернета, это весьма специфичная сеть. Понятие "Интернет" там размыто, плюс ко всему доступ в ту сеть только через спутник, через L2TP туннели, да ещё и трафик на вес золота. В итоге скорость доступа туда около 256 кб/с с пингом около 2х секунд. И на том спасибо. Имеется доступ к Микротикам на указанных выше условиях. Количество устройств в каждой такой сети от 50 до 200. Каждое обновить - куча времени, молчу про трафик. Обновления необходимы, так как добавляются новые устройства с разными версиями прошивок, работать с файлами конфигурации (типа бекапа) неудобно, под каждую прошивку требуются свои изменения - следовательно куча файлов. Проще привести все устройства к одной и той же версии прошивки и иметь один файлик на все устройства. Есть ещё куча причин так делать, но эта основная.
Dragon_Knight писал(а): 21 мар 2021, 01:45 4. Dude всё еще актуален.
Сеть не одна, их несколько. Устройства с нужной архитектурой всего в двух пунктах, а решение хотелось бы универсальное для всех сетей. Придётся этот вариант исключить.
Случайно наткнулся на такой текст на других форумах:
Подменяеш upgrade.mikrotik.com в его DNS'е
/ip dns static add address=192.168.88.32 name=download.mikrotik.com
Ну и на 192.168.88.32 поднимаешь web сервер обслуживающий http запросы с требуемым содержимым
/routeros/LATEST.6
/routeros/xxxxxx/CHANGELOG
/routeros/xxxxx/routeros-xxxxxxx-xxxxx.npk

То есть клиентские устройства будут видеть головной микротик как сервер с обновлениями. Сразу решается вопрос с трафиком и временем для его загрузки. Остаётся тыкнуть на клиентах Check for Updates и Download&Install. Тупо включать автообновление - рискованно, т.к. есть промежуточные устройства, которые могут так же обновиться и перезагрузиться. Последствия могут быть катастрофичными. То есть либо на клиентских устройствах заставлять делать проверку обновления в строго определённое время начиная с конечных и заканчивая самыми близкими по цепочке к головному микротику, либо делать это вручную (это всё равно уже намного проще чем то, что имею сейчас). Осталось понять, как правильно сделать то, что выделено жирным текстом. В любом случае, очень благодарен за все подсказки)

Re: Обновление прошивки всех Микротиков с головного Микротика с флешки

Добавлено: 22 мар 2021, 09:05
georghacker
Я тут порылся, есть команда: [admin@mt-test] /tool> fetch address=192.168.88.2 src-path=conf.rsc \
user=admin mode=ftp password=123 dst-path=123.rsc upload=yes , в принципе мне подходит. Только как заставить её работать не с корня а с определённого каталога на диске? Там же флешка...
В моём случае примерно так: /tool fetch address=10.10.10.1 src-path=routeros-mipsbe-6.48.1.npk user=upgrade mode=ftp password=upgrade dst-path=routeros-mipsbe-6.48.1.npk port=123 host="" keep-result=yes upload=yes? Поправьте меня пожалуйста. Цель - оправить файл остальным устройствам. Потом придумаю что-нибудь с перезагрузкой.

Re: Обновление прошивки всех Микротиков с головного Микротика с флешки

Добавлено: 24 мар 2021, 01:05
Dragon_Knight
georghacker писал(а): 22 мар 2021, 09:05 Я тут порылся, есть команда: [admin@mt-test] /tool> fetch address=192.168.88.2 src-path=conf.rsc \
user=admin mode=ftp password=123 dst-path=123.rsc upload=yes , в принципе мне подходит. Только как заставить её работать не с корня а с определённого каталога на диске? Там же флешка...
В моём случае примерно так: /tool fetch address=10.10.10.1 src-path=routeros-mipsbe-6.48.1.npk user=upgrade mode=ftp password=upgrade dst-path=routeros-mipsbe-6.48.1.npk port=123 host="" keep-result=yes upload=yes? Поправьте меня пожалуйста. Цель - оправить файл остальным устройствам. Потом придумаю что-нибудь с перезагрузкой.
Ну так и пишите "dst-path=path_to_file/filename".