Aleksei
Andrey
Евгений
Добрый день, помогите решить задачу. есть 2 офиса связанные между собой VPN в 1м офисе сеть 10.51.1.0 во втором 10.77.254.0 необходимо сделать так чтобы при запросе в сети 10.51.1.0 адреса 10.51.1.200 перенаправлять на адрес во втором офисе 10.77.254.18 (mstsc, общая папка)
Cumberbatch
Cumberbatch
Moneron 🇷🇺
Евгений
Такой хост есть в данный момент хочу перенести все на новый сервер а текущий выключить, чтобы не переделывать всем ip адреса на новый перенаправить.
Moneron 🇷🇺
Можно на роутере добавить арп-запись адреса 1.200 с опцией published. А дальше обычный днат
Moneron 🇷🇺
Евгений
Спасибо, то что надо.
Moneron 🇷🇺
@Qwert0908, мут на сутки. Оффтоп.
Геннадий
так понимаю, что клоуд бекап никак не заставить хранить хотя бы 2 копии?
Dim-soft
Подскажите, достаточно настройки логирования для дальнейшего разбора полетов ?
/system logging action
add name=syslog remote=192.168.67.90 target=remote
/system logging
add action=syslog topics=critical
add action=syslog topics=error
add action=syslog topics=warning
Vlad
Dmitrii
Коллекция пока не полна:)
Dim-soft
Смотря на сколько глубоко вам нужен разбор полетов ))
у меня в пятницу угнали RB4011, т.к. самую старую версию на него можно только 6.43.7 то узнать, что случилось не получилось, пришлось через netinstall сбросить и накатить конфиг из бекапа.
хочеться в подобных ситуациях быть более информированным
Vlad
Dim-soft
Vlad
Vlad
Vlad
была знаменитая версия ROS 6.40.8 баг и не важно было как и что, по порту ломались все микроты. Лучше сменить, будет надежнее
Anonymous
@Ogamemnon будет жить. Поприветствуем!
jabb3rd
Vlad
Это что за баг?
Когда ломали по winbox все микроты, кто не успел обновится. Я не помню точно, можете в инете почитать
jabb3rd
jabb3rd
Было, конечно, весело тогда. Хотя кому-то, вероятно, очень грустно. Особенно когда в Router Scan запилили эксплоит.
Vlad
jabb3rd
Владимир
У всех вендоров есть и будут дырки в софте.
Владимир
А кого похакали - это скорее минус того кто настраивал, нежели недостаток софта. Ктож порт наружу открытым оставляет
Владимир
Это как 3389 порт наружу оставить открытым, а потом обвинять микрософт в том, что винда маст дай
Владимир
Вы ещё вспомните программу blover, которая через блютус получала доступ к мобилкам лет 10 назад))))
jabb3rd
Было несколько случаев, когда помогал удаленно возвращать доступ к девайсам. Обнаружились некоторые баги, позволявшие повысить привилегии в RouterOS или же получить произвольные файлы.
Group Butler
@v_ponomarev, приветствуем тебя в профессиональном клубе по интересам. Тема чата – MikroTik и всё с ним связанное.
Соблюдай простые правила, и всё будет хорошо.
1) Не используй обсценную лексику. Никак. Ни явно, ни завуалированно. Карается баном.
2) Старайся писать одну мысль одним сообщением. Не флуди по два-три слова.
3) Не оффтопь. Здесь это не приветствуется.
4) Не спорь с администрацией.
5) Размещение объявлений/вакансий ТОЛЬКО через согласование с администрацией группы. Иначе – read only на 14 суток.
В целях защиты от спама, ссылки и пересланные сообщения от новых пользователей автоматически удаляются. Ограничение действует первые сутки.
Anonymous
@v_ponomarev будет жить. Поприветствуем!
Vitaliy
Кажется нашел багу в скриптовом языке микротика.
Можете посмотреть мой скрипт и сказать где я не прав (или подтвердить багу)?
jabb3rd
Nickolay
Vitaliy
# Код скрипта
:global XBug1;
:global XBug2;
:if ([:typeof $XBug1] != "array") do={ :set $XBug1 [:toarray ""]; }
:if ([:typeof $XBug2] != "array") do={ :set $XBug2 [:toarray ""]; }
:local XList {"Key1";"Key2"}
:put $XList;
:put "";
:foreach XV in=$XList do={
:local LRefBug1 {"Link"="DOWN"};
:local LRefBug2 {"Link"="DOWN"; "ifName"=$XV};
:set ($LRefBug1->"newKey") $XV;
:set ($LRefBug2->"newKey") $XV;
:set ($XBug1->$XV) $LRefBug1;
:set ($XBug2->$XV) $LRefBug2;
}
# Результат
[admin@MikroTik] > :environment print
XBug1={Key1={Link="DOWN"; newKey="Key2"}; Key2={Link="DOWN"; newKey="Key2"}}
XBug2={Key1={Link="DOWN"; ifName="Key1"; newKey="Key1"}; Key2={Link="DOWN"; ifName="Key2"; newKey="Key2"}}
Vitaliy
В чём проблема - обратите внимание на элемент newKey - в LRefBug1 он одинаковый, хотя должен быть разным.
Vitaliy
Такое ощущение, что если локальную переменную в цикле инициализировать одинаково, то микрот (для экономии памяти?) делает на неё reference вместо того, чтобы создать новую.
В итоге изменение $LRefBug1 во второй итерации затрагивает изменение в глобальном массиве $XBug1.
А если инициировать по разному (LRefBug2), то вместо создания ссылки он создаёт новый объект и всё работает хорошо
Vitaliy
Версия: 6.44.3, модель (если важно) hAP ac^2
jabb3rd
Прикольная головоломка. В саппорт нужно, конечно же.
Cumberbatch
jabb3rd
Ну хоть похоже, что у меня не глюки и это реальная бага?
Я пытался «вручную», и у меня выходит так:
XBug1={"Key1"={"Link"="DOWN"; "newKey"="Key1"}; "Key2" = {"Link"="DOWN"; "newKey"="Key2"}}
XBug2={"Key1"={"Link"="DOWN"; "ifName"="Key1"; "newKey"="Key1"}; "Key2"={"Link"="DOWN"; "ifName"="Key2"; "newKey"="Key2"}}
Vitaliy
jabb3rd
Vitaliy
В блокнотике. Без консоли и без микрота вообще =)
Так неинтересно, без микрота этот код должен работать одинаково.
Я на эти грабли наткнулся, когда делал скрипт для вывода в глобальную переменную статуса всех аплинков - вот там и обнаружил, что изменение одной переменной меняет содержимое другой.
jabb3rd
@v_ponomarev ты когда-нибудь сталкивался с необходимостью записать в переменную результат выполнения команды? Причём если сама команда записана в переменной.
Vitaliy
Неа, я вообще всего один скрипт на микроте делал для детекта работающего аплинка и переключения.
И понял, что /tool fetch нельзя заставить работать через заданную таблицу маршрутизации и нужны костыли с mangle. На какое-то время забил на скрипт, а сейчас решил оживить его.
Vitaliy
Чисто результат выполнения команды - да, часто.
А вот "сама команда в другой переменной" - нет. Как это сделать? Через ssh на самого себя? ;)
jabb3rd
Чисто результат выполнения команды - да, часто.
А вот "сама команда в другой переменной" - нет. Как это сделать? Через ssh на самого себя? ;)
Конкретный кейс: включил скриптик, упомянутый на хабре, который парсит JSON, а также бота для Telegram с хитрым использованием WebHook. Это чтобы боту писать, и он отвечал, что-то выполняя в микроте. Так вот, захотелось реализовать исполнение произвольных команд, которые я напишу, и как-то брать оттуда вывод, и отправлять в ответ.
jabb3rd
То есть, задача сводится к тому, что есть переменная, в которой команда. Нужно выполнить и выхлоп отдать обратно.
jabb3rd
Непосредственно с выполнением проблем нет, через :execute вполне себе выполняется. Но вот вывод команды — никак не могу победить.
jabb3rd
Эти латыши всё делают, чтобы роутер роутил, а не занимался всякой фигнёй 😃
jabb3rd
Это вроде и так какой-то lua-подобный язык, либо на его основе.
jabb3rd
Судя по https://wiki.mikrotik.com/wiki/Manual:Lua — они хотели, но передумали
Kirill
Kirill
С их с лов, они хотят вернуться к этому вопросу.
Vlad
Vlad
и без проблем будет работать
Moneron 🇷🇺
Vitaliy
Используйте DUDE и execute local
А dude позволит определить статус аплинка? Когда "упавший" аплинк перехватывает на себя все http(s) запросы и выдаёт заглушку?
Vlad
DaySandBox
Message from Vitaly deleted. Reason: new user and external link (?)
Vitaliy
Опа, бага в боте DaySandBox, он сказал, что я ссылку отправил, а ссылки не было.
Vlad можешь открыть моё сообщение в ссылке от бота?
Moneron 🇷🇺
Vitaly:
Так интерфейс всегда up, но далеко не факт, что в нём есть интернет.
Я сначала делаю ping 8.8.8.8 с заданного routing table, в случае успеха - делаю /tool fetch с определенным source ip, при этом адреса на аплинк выдаются по DHCP, поэтому слежу, чтоб в mangle было правило делать reroute в заданный routing table.
И если fetch оказался успешен (ответ соответствует ожиданиям), то аплинк считается живым.
Также отдельно аетуализирую gateway в заданной route table на основе инфы из dhcp-client'а.
Moneron 🇷🇺
Vitaliy
О как ;)
Ну я просто Владу ответ писал, поэтому его и позвал.