Как стать автором
Обновить

Комментарии 28

RoS 7 прекрасна, но хочется процитировать с 4pda

если у тебя стоит 7 ролтер ос - ты тестер.

У меня стоит много разных версий Рос. Конечно, все мы тестеры в какой-то степени.

Не знаю в чем это заключается. Я конечно не ах какой power user, но на 7 версии с косяками не сталкивался, а вот на 6 прекрасно помню как при включеном DoH текла память.

В июне 2022 года обновление на 7.3 отправило один из моих роутеров в бесконечный бутлуп, на следующий день Микротик признали баг, через 2 дня выкатили 7.3.1 с исправлением. Хорошо, что я был в тот момент рядом с той проблемной железкой (а со всеми своими роутерами я рядом одновременно быть физически не могу)...

Но в целом уже пару лет на ROS 7 в моём маленьком микротик-зоопарке всё, тьфу-тьфу-тьфу, на удивление стабильно.

Из личного опыта — при активном vlan-filtering обновление 7.11 практически убивало интернет на hex s и ряде других устройств. Пофиксили, конечно. Но осадочек остался.

После апгрейда CCR2004-1G-12S+2XS на 7.11.2 роутер стал почти виснуть (так сильно лагать, что команды выполнялись по несколько минут) при наличии SFP-модуля Ubiquiti UF-RJ45-1G.

При отсутствии физического доступа тоже бы не решилось.

Раньше просто не парясь обновлял роутеры удаленно, теперь не буду :)

Отличная статья, спасибо!

Спасибо, приятно.

Python бы туда притащили, вместо корявого недоязыка на коротом в RouterOS скрипты пишутся.

Товарищ, Вы полегче с подобными комментариями. Во-первых сравнение не корректно, так как, позволю напомнить, что скриптовый язык Роутер ОС - это язык сценариев, а не язык программирования. Да, синтаксис не дружелюбный, но кто сказал, что синтаксис Питона лучше ? До сих пор не понимаю зачем ставить два знака == ? К синтаксису любого языка нужно привыкать, а для скриптового языка возможности Lua Микротик весьма впечатляют. Вы хотя бы примерно представляете какие вещи писали на скриптах Микротик ? Познакомьтесь, может Вам будет полезно. Да и у каждого свой хлеб - Вы зарабатываете тем, что пишите на Питоне, а другие - тем, что пишут скрипты для Микротик. Я даже рад, что язык скриптов Микротик такой какой он есть - не у многих хватит терпения его освоить, поэтому нас мало, но мы в тельняжках. Если же Вам хочется писать на Дельфине, Питоне, Анаконде или тому подобных рыбах, змеях или животных - пожалуйста, мы не возражаем. А нам оставьте наш любимый луноподобный и Lua-подобный язык скриптов Микротик - редкий и блестящий как алмаз лунный камень Коллинза.

Проблема же не в том, какой язык лучше, а какой хуже. А в том, что бóльшая часть пользователей на написание этих скриптов к Микротику тратит несколько часов за всю свою жизнь. И едва ли не больше - на то, чтобы разобраться в языке. А потом, когда через год-два надо подправить пару строчек, - ещё раз тратишь кучу времени, чтобы вспомнить, что там и как.

Python я сам не люблю, но, так уж сложилось, он стандарт де-факто в качестве языка, который по той или иной причине все знают хотя бы в основных чертах. И, к вопросу о комментарии ниже, в виде MicroPython пробрался даже на микроконтроллеры, так что уж на Микротиках точно реализовать не проблема. Ну или не Python, да хоть bash, хотя bash и бесконечно ужасен, но его тоже знает и регулярно применяет существенная часть ЦА, - и не надо ради пары скриптов на полсотни строк учить что-то совершенно своеобычное, редкое и блестящее :)

Писать скрипты не так уж и сложно, если подумать. Ну и к тому же, кто сказал, что внедрив Python их станет писать проще настолько, что ради этого нужно будет вводить поддержку данного языка?

Ну и полностью соглашусь с автором статьи:

Если же Вам хочется писать на Дельфине, Питоне, Анаконде или тому подобных рыбах, змеях или животных - пожалуйста, мы не возражаем. А нам оставьте наш любимый луноподобный и Lua-подобный язык скриптов Микротик - редкий и блестящий как алмаз лунный камень Коллинза.

Конечно, несложно. Но если можно сэкономить несколько часов жизни каждому пользователю, внедрив поддержку общеизвестного языка вместо своеобычного, - почему бы этого не сделать? Вряд ли в природе существуют люди, у которых скрипты для Микротика - это больше 0,1% всего кода, который они пишут по жизни, и остальное-то в любом случае на других языках, так зачем для такой редкой и экзотической задачи создавать лишние сложности?

Кто Вам мешает писать на Питоне, обращаясь к функциям Микротик через API ? Тогда все функции Роутер ОС будут Вам доступны и скрипты изучать не надо. Ну а если Питон получиться поставить в контейнер, то вообще для Вас красота. Но внедрить Питон или Микропитон в консоль Linux (читай Роутер ОС) - это уж слишком.

хм. Пожалуй у меня скрипты микротика это около 10% всего кода. Но да, я упоролся.

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

Думаю не за горами установка в контейнеры ROS7 какой-либо оболочки а в ней Питона, например, но нам это не нужно и абсолютно избыточно.

А почему не Lua собственно, я как увидел локал подумал, что это он и есть.

Почти он.

Да уж лучше просто posix sh...

Докер уже есть, до Питона недалеко осталось :)

Прошу оставляющих комментарии не обсуждать Роутер ОС 7 в целом, а комментировать либо материал статьи либо оставлять пожелания по развитию скриптового языка Микротик.

А кто-нибудь вообще знает зачем было выдумывать свой синтаксис и язык, а не притащить просто BusyBox ? Там тебе sh, grep, awk, etc. В чём профит? Или это легаси?

Никто не выдумывал свой синтаксис. Это практически Lua, но адаптированный для нужд языка сценариев Роутер ОС.

Ещё раз подчеркну, статья расчитана на тех, кто серьёзно занимается Микротиком, а не тех кто им пользуется или о нём что-то слышал.

В Роутер ОС 7, начиная с версии 7.11 появилась ещё одна возможность — использование :terminal ask

Сначала не понял, когда на своей 7.11.2 не нашёл такого, а потом обновил тестовую до 7.12beta3 - и справедливость восторжествовала :)

Рад видеть Ваш отзыв. Не хотите оставить пожеланий по новым командам в Роутер ОС ?

Хочу возможность указать несколько DoH серверов. Это считается?
Ну а из исполненного я бы порадовался конвертации, но я уже нашёл hex to num и обратно самописные функции.
Ещё я бы хотел чтобы on-error всегда отрабатывался... но это баг, а не новая команда.
Вроде все команды что были нужны уже написаны для себя.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории