Jump to content

Свой сервер обновления Microtik устройств.


Recommended Posts

Posted

Есть пара-тройка десятков устройств без доступа к интернет. Хочу иметь возможность централизованного обновления прошивок, без Dude и микротик-устройств, раздающих файлы.

 

Как работает механизм обновления микротик устройства с другого микротика? По http, ftp, или что-то своё?

Posted (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 by minks
Posted
В 11.11.2020 в 10:18, Zhmak сказал:

Хочу иметь возможность централизованного обновления прошивок

У нас есть 10000+ устройств микротика без доступа в интернет. Могу вам сказать, что вариант с файлами (когда микротик на фтп держит нужные версии ПО) самый оптимальный. Вот представьте что вы сделали веб сервер, а все устройства разом туда пошли обновления скачивать в самое не удобное время=)

 

Обновлять надо только руками.

Posted
14 часов назад, Saab95 сказал:

У нас есть 10000+ устройств микротика без доступа в интернет. Могу вам сказать, что вариант с файлами (когда микротик на фтп держит нужные версии ПО) самый оптимальный. Вот представьте что вы сделали веб сервер, а все устройства разом туда пошли обновления скачивать в самое не удобное время=)

 

Обновлять надо только руками.

Ручками, но пачками, на веб сервере стартанул одну пачку микротов и асе, удобно

Posted
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. Тогда можно на все микротики отправить этот скрипт и сразу выполнить его. После чего все оборудование само выполнит перезапуск и все устройства в цепочке будут обновлены.

Posted
В 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. Тогда можно на все микротики отправить этот скрипт и сразу выполнить его. После чего все оборудование само выполнит перезапуск и все устройства в цепочке будут обновлены.

Для этого пишут сервер который трассировку делает, или ручками, закинул пачку дальних, обновил с одного места

Posted
1 минуту назад, fractal сказал:

Для этого пишут сервер который трассировку делает, или ручками, закинул пачку дальних, обновил с одного места

Через дуду обновлять не пробовали?

Posted
10 часов назад, Saab95 сказал:

Через дуду обновлять не пробовали?

не, на тот момент когда я работал то у нас был свой сервак для обновления с вебом, ом многовендорно заточен был, а сейчас я в корпоративном сегменте, у нас все cisco и все инструменты от них, но суть одна, продукт от cisco проверяет CDP, откуда летит мак и принимает решение какой девайс апдейтить первым

  • 4 months later...
Posted (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 by minks
  • 9 months later...
Posted
В 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

Эта команда отправит файл на одно устройство, а как отправить на несколько? Только скрипт?

Posted

Эта команда запускается на микротике, на который нужно скачать файл.

То есть вам надо знать все адреса ваших устройств, на каждое по очереди подключаетесь по ssh/telnet, и выполняете указанные команды.

 

Если FTP сервер на микротике в виде роутерборда, то лучше более 20 сессий за раз не запускать.

  • 1 year later...
Posted

существует несколько методов автообновления:

1. если вы используете CAPsMAN - там всё настраивается достаточно просто - но если у вас зоопарк точек, тот тут начинаются проблемы, необходимо в ручную выкачивать все необходимые версии прошивок и заливал на микрот который будет эти обновления раздавать, работает только с оборудование имеющим на борту вайфай модули.

2. центр обновлений(Auto upgrader) - иcпользует FTP сервак и на него льем прошивки когда это необходимо, через менеджмент интерфейс раздаем обнову или через дудя как в официальном вики.

3. немножко гемор - через скрипты состоит по сути из нескольких этапов.

    а. качается обнова на устроства - тут нужно задать в порядке обратной иерархии с шагом в минуту - соответственно сразу ребут.

    б. второй скрип сразу обвляет фирмвар

    в. ну а теперь играемся с расписанием - делаем правило разрешающее доступ только к репозиторию микротов и только по расписанию или ручками активируем соответвующее правило фаервола.

    г. на всех устроствах делаем хадульки с ежедневной задачей - запрос обновлений, допустим каждые 3 часа.

    д. дальше сами додумаете как всё это сделать максимально безопасным, в случае смены админа.

Posted
20 часов назад, CooL_RusH сказал:

на всех устроствах делаем хадульки с ежедневной задачей - запрос обновлений, допустим каждые 3 часа.

 

Только нужно подумать сперва, зачем вообще производить обновления микротиков? Ведь и на старых прошивках все исправно работает.

Posted

Какие дыры? Для этого достаточно отключить все не используемые сервисы. У тех, какие нужны - сделать ограничения доступа по IP, так же ограничить по IP и доступ админов. На всех роутерах, дополнительно, блокировать доступ абонентов в подсеть управления.

 

Тогда кто и каким образом сможет попасть на устройства? Опять же на те роутеры, которые смотрят в интернет - можно получать доступ через VPN, и ограничение по IP в туннеле. Тогда со стороны интернета все будет заблокировано.

 

Ведь если работаете с микротиком - то надо иметь где-то роутер с белым IP, куда и подключать их все для удаленного доступа. Либо доступ только из своей сети.

 

Вот варианты через НАТ ограничивать запросы, блокировать при попытках подключения и подбора пароля - вот это все не правильная и дырявая настройка.

Posted
5 часов назад, Saab95 сказал:

Тогда кто и каким образом сможет попасть на устройства?

Иногда вскрывается то, что заложено вендоров или специально или по упущенности, и тогда все эти отключения сервисов, acl ничем не помогут, это все равнозначно для любого вендора и сидеть на старом по сейчас сродни идиотизму, естественно обновляют с предварительным тестом

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.