Zhmak Posted November 11, 2020 Posted November 11, 2020 Есть пара-тройка десятков устройств без доступа к интернет. Хочу иметь возможность централизованного обновления прошивок, без Dude и микротик-устройств, раздающих файлы. Как работает механизм обновления микротик устройства с другого микротика? По http, ftp, или что-то своё? Вставить ник Quote
minks Posted November 11, 2020 Posted November 11, 2020 (edited) 10 hours ago, Zhmak said: Как работает механизм обновления микротик устройства с другого микротика? По http, ftp, или что-то своё? Собственно чего тут сложного? По следующим url'ам он получает файл с актуальной версией ROS: Long Term: http://upgrade.mikrotik.com/routeros/LATEST.6fix Stable: http://upgrade.mikrotik.com/routeros/LATEST.6 Test: http://upgrade.mikrotik.com/routeros/LATEST.6rc Development: http://upgrade.mikrotik.com/routeros/LATEST.7 Возьмем для примера - Long Term скачивается файл LATEST.6fix с содержимым: 6.46.8 1603960195 Затем скачивает файл с http://upgrade.mikrotik.com/routeros/6.46.8/CHANGELOG Внутри которого чейндж лог по этой прошивке А как нажмеш кнопку download (and install) он скачивает: https://download.mikrotik.com/routeros/6.46.8/routeros-платформа-6.46.8.npk Собственно, за чем дело сталось: Подменяеш 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.6fix /routeros/LATEST.6 /routeros/LATEST.6rc /routeros/LATEST.7 /routeros/xxxxxx/CHANGELOG /routeros/xxxxx/routeros-xxxxxxx-xxxxx.npk Готово =) Edited November 11, 2020 by minks Вставить ник Quote
Saab95 Posted November 13, 2020 Posted November 13, 2020 В 11.11.2020 в 10:18, Zhmak сказал: Хочу иметь возможность централизованного обновления прошивок У нас есть 10000+ устройств микротика без доступа в интернет. Могу вам сказать, что вариант с файлами (когда микротик на фтп держит нужные версии ПО) самый оптимальный. Вот представьте что вы сделали веб сервер, а все устройства разом туда пошли обновления скачивать в самое не удобное время=) Обновлять надо только руками. Вставить ник Quote
fractal Posted November 14, 2020 Posted November 14, 2020 14 часов назад, Saab95 сказал: У нас есть 10000+ устройств микротика без доступа в интернет. Могу вам сказать, что вариант с файлами (когда микротик на фтп держит нужные версии ПО) самый оптимальный. Вот представьте что вы сделали веб сервер, а все устройства разом туда пошли обновления скачивать в самое не удобное время=) Обновлять надо только руками. Ручками, но пачками, на веб сервере стартанул одну пачку микротов и асе, удобно Вставить ник Quote
Saab95 Posted November 14, 2020 Posted November 14, 2020 1 час назад, fractal сказал: Ручками, но пачками, на веб сервере стартанул одну пачку микротов и асе, удобно А как быть с цепочками микротиков? Например есть линия 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 микротиков. Обновить нужно все. Ясно дело, микротик 1 получит файл быстрее, чем микротик 9, и перезагрузится. Следующие устройства за ним не успеют получить файл и не обновятся. Но команда получена и он будет пытаться обновиться. И по такой схеме до микротика 9, в теории, пропадет связь 8 раз. Если использовать команду загрузки /tool fetch address=10.10.10.1 src-path=routeros-mipsbe-6.46.2.npk user=upgrade mode=ftp password=Up1234567890 dst-path=routeros-mipsbe-6.46.2.npk port=123 host="" keep-result=yes То все микротики сначала получат файл с обновлением и более ничего делать не станут. После нужно выполнить серию команд, потому что на микротике в зависимости от установленной прошивки, перезагрузка работает несколько специфическим образом. /system script add name=reboot policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=\ "foreach i in=[/system script find] do={/system script remove \$i;};\r\ \n\r\ \nsystem reboot" :execute reboot /system reboot :execute {/system reboot;} И тут уже микротик перезагрузится, обновит ПО и включится в работу. Ясно дело команды перезагрузки нужно отправлять сначала на самые дальние устройства, потом на ближние и т.п. Или использовать скрипт перезагрузки с паузой, например минут 5. Тогда можно на все микротики отправить этот скрипт и сразу выполнить его. После чего все оборудование само выполнит перезапуск и все устройства в цепочке будут обновлены. Вставить ник Quote
fractal Posted November 15, 2020 Posted November 15, 2020 В 14.11.2020 в 14:28, Saab95 сказал: А как быть с цепочками микротиков? Например есть линия 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 микротиков. Обновить нужно все. Ясно дело, микротик 1 получит файл быстрее, чем микротик 9, и перезагрузится. Следующие устройства за ним не успеют получить файл и не обновятся. Но команда получена и он будет пытаться обновиться. И по такой схеме до микротика 9, в теории, пропадет связь 8 раз. Если использовать команду загрузки /tool fetch address=10.10.10.1 src-path=routeros-mipsbe-6.46.2.npk user=upgrade mode=ftp password=Up1234567890 dst-path=routeros-mipsbe-6.46.2.npk port=123 host="" keep-result=yes То все микротики сначала получат файл с обновлением и более ничего делать не станут. После нужно выполнить серию команд, потому что на микротике в зависимости от установленной прошивки, перезагрузка работает несколько специфическим образом. /system script add name=reboot policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=\ "foreach i in=[/system script find] do={/system script remove \$i;};\r\ \n\r\ \nsystem reboot" :execute reboot /system reboot :execute {/system reboot;} И тут уже микротик перезагрузится, обновит ПО и включится в работу. Ясно дело команды перезагрузки нужно отправлять сначала на самые дальние устройства, потом на ближние и т.п. Или использовать скрипт перезагрузки с паузой, например минут 5. Тогда можно на все микротики отправить этот скрипт и сразу выполнить его. После чего все оборудование само выполнит перезапуск и все устройства в цепочке будут обновлены. Для этого пишут сервер который трассировку делает, или ручками, закинул пачку дальних, обновил с одного места Вставить ник Quote
Saab95 Posted November 15, 2020 Posted November 15, 2020 1 минуту назад, fractal сказал: Для этого пишут сервер который трассировку делает, или ручками, закинул пачку дальних, обновил с одного места Через дуду обновлять не пробовали? Вставить ник Quote
fractal Posted November 16, 2020 Posted November 16, 2020 10 часов назад, Saab95 сказал: Через дуду обновлять не пробовали? не, на тот момент когда я работал то у нас был свой сервак для обновления с вебом, ом многовендорно заточен был, а сейчас я в корпоративном сегменте, у нас все cisco и все инструменты от них, но суть одна, продукт от cisco проверяет CDP, откуда летит мак и принимает решение какой девайс апдейтить первым Вставить ник Quote
Georghack Posted March 20, 2021 Posted March 20, 2021 (edited) - Edited March 22, 2021 by Georghack Вставить ник Quote
minks Posted March 20, 2021 Posted March 20, 2021 (edited) 5 hours ago, Georghack said: А можно это разжевать для особых чайников? Как сделать именно эту часть? Разжевать, как поднять веб сервер и создать на нем вышеописанную структуру каталогов? Если да - это не по адресу =) 5 hours ago, Georghack said: 192.168.88.32 это адрес микротика или именно web сервера? Как правильно? Адрес web сервера, на котором создано и структура каталогов с требуемым содержимым P.S. Странные вопросы задаёте... черным по белому написано... не читаем? On 11/11/2020 at 8:41 PM, minks said: Ну и на 192.168.88.32 поднимаеш web сервер обслуживающий http запросы с требуемым содержимым Edited March 20, 2021 by minks Вставить ник Quote
georghacker Posted March 21, 2021 Posted March 21, 2021 (edited) Вариант с ftp в итоге устроил. Edited March 22, 2021 by georghacker Вставить ник Quote
georghacker Posted January 7, 2022 Posted January 7, 2022 В 14.11.2020 в 14:28, Saab95 сказал: /tool fetch address=10.10.10.1 src-path=routeros-mipsbe-6.46.2.npk user=upgrade mode=ftp password=Up1234567890 dst-path=routeros-mipsbe-6.46.2.npk port=123 host="" keep-result=yes Эта команда отправит файл на одно устройство, а как отправить на несколько? Только скрипт? Вставить ник Quote
Saab95 Posted January 7, 2022 Posted January 7, 2022 Эта команда запускается на микротике, на который нужно скачать файл. То есть вам надо знать все адреса ваших устройств, на каждое по очереди подключаетесь по ssh/telnet, и выполняете указанные команды. Если FTP сервер на микротике в виде роутерборда, то лучше более 20 сессий за раз не запускать. Вставить ник Quote
fractal Posted January 12, 2022 Posted January 12, 2022 Проще на ansible автоматизировать Вставить ник Quote
CooL_RusH Posted October 8, 2023 Posted October 8, 2023 существует несколько методов автообновления: 1. если вы используете CAPsMAN - там всё настраивается достаточно просто - но если у вас зоопарк точек, тот тут начинаются проблемы, необходимо в ручную выкачивать все необходимые версии прошивок и заливал на микрот который будет эти обновления раздавать, работает только с оборудование имеющим на борту вайфай модули. 2. центр обновлений(Auto upgrader) - иcпользует FTP сервак и на него льем прошивки когда это необходимо, через менеджмент интерфейс раздаем обнову или через дудя как в официальном вики. 3. немножко гемор - через скрипты состоит по сути из нескольких этапов. а. качается обнова на устроства - тут нужно задать в порядке обратной иерархии с шагом в минуту - соответственно сразу ребут. б. второй скрип сразу обвляет фирмвар в. ну а теперь играемся с расписанием - делаем правило разрешающее доступ только к репозиторию микротов и только по расписанию или ручками активируем соответвующее правило фаервола. г. на всех устроствах делаем хадульки с ежедневной задачей - запрос обновлений, допустим каждые 3 часа. д. дальше сами додумаете как всё это сделать максимально безопасным, в случае смены админа. Вставить ник Quote
Saab95 Posted October 9, 2023 Posted October 9, 2023 20 часов назад, CooL_RusH сказал: на всех устроствах делаем хадульки с ежедневной задачей - запрос обновлений, допустим каждые 3 часа. Только нужно подумать сперва, зачем вообще производить обновления микротиков? Ведь и на старых прошивках все исправно работает. Вставить ник Quote
fractal Posted October 9, 2023 Posted October 9, 2023 3 часа назад, Saab95 сказал: Ведь и на старых прошивках все исправно работает. И дыры не надо закрывать Вставить ник Quote
Saab95 Posted October 10, 2023 Posted October 10, 2023 Какие дыры? Для этого достаточно отключить все не используемые сервисы. У тех, какие нужны - сделать ограничения доступа по IP, так же ограничить по IP и доступ админов. На всех роутерах, дополнительно, блокировать доступ абонентов в подсеть управления. Тогда кто и каким образом сможет попасть на устройства? Опять же на те роутеры, которые смотрят в интернет - можно получать доступ через VPN, и ограничение по IP в туннеле. Тогда со стороны интернета все будет заблокировано. Ведь если работаете с микротиком - то надо иметь где-то роутер с белым IP, куда и подключать их все для удаленного доступа. Либо доступ только из своей сети. Вот варианты через НАТ ограничивать запросы, блокировать при попытках подключения и подбора пароля - вот это все не правильная и дырявая настройка. Вставить ник Quote
fractal Posted October 10, 2023 Posted October 10, 2023 5 часов назад, Saab95 сказал: Тогда кто и каким образом сможет попасть на устройства? Иногда вскрывается то, что заложено вендоров или специально или по упущенности, и тогда все эти отключения сервисов, acl ничем не помогут, это все равнозначно для любого вендора и сидеть на старом по сейчас сродни идиотизму, естественно обновляют с предварительным тестом Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.