Господа, что-то не понимаю я как взять "статус" того или иного правила в фаерволе или например маршрута. Под статусом я подразумеваю включено оно или выключено.
Для примера зачем оно:
Проверяем, например, маршрут, если включен, то ничего не делаем, если выключен, то включаем.
Вот как получить это состояние маршрута, включен он, или выключен?
Взять статус маршрута\правила\итд
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
- podarok66
- Модератор
- Сообщения: 4361
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Смотря что вы имеете ввиду под включен. Если активен или нет, то:
Если выключен или нет совсем, то:
Код: Выделить всё
[podarok66@MikroTik] > :put [/ip route get [find comment="For WiveRTNL"] active ]
true
Если выключен или нет совсем, то:
Код: Выделить всё
:put [/ip route get [find comment="For WiveRTNL"] disabled ]
false
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 1199
- Зарегистрирован: 29 сен 2011, 09:16
Шикарно, то что надо! Спасибо)
-
- Сообщения: 63
- Зарегистрирован: 25 авг 2017, 08:13
Спасибо, где только ни искал, здесь только нашел.
-
- Сообщения: 2
- Зарегистрирован: 22 мар 2020, 15:00
Приветствую.
Продолжу тему:
А если хочется управлять этим правилом по условию?
что-то типа:
Если пришёл запрос на address:port (как отследить этот запрос?)
/ip route get [find comment="For WiveRTNL"] = disabled
Продолжу тему:
А если хочется управлять этим правилом по условию?
что-то типа:
Если пришёл запрос на address:port (как отследить этот запрос?)
/ip route get [find comment="For WiveRTNL"] = disabled
- podarok66
- Модератор
- Сообщения: 4361
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Ни фига не понял ваших желаний . Если можно, перефразируйте, я попробую разобраться.
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
- podarok66
- Модератор
- Сообщения: 4361
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Ааааа, кажись разобрался в ваших желаниях.
Вы хотите по обращению из вне к определённому адресу по определённому порту происходило определённое событие. Это достаточно кривое задание, я бы никогда не взялся за его реализацию. Но в целом описать порядок действий могу.
В том же Mangle есть такой вариант в action, как log. То есть событие просто логируется. Далее пишем скрипт, в котором парсим лог на предмет записи с заранее определённым перфиксом. При нахождении записи скрипт реагирует заданным образом. В конце работы скрипта обязательная очистка логов.
Придётся учитывать, что логи в memory у вас будут стираться. Это говорит, что вам останется для полноценного контроля только текстовый лог . Не всякий админ с таким согласится. Ну или можно сохранять логи на сервер, у меня часть железок именно так работает.
Ссылки по упоминаемым вопросам
https://forum.nag.ru/index.php?/topic/1 ... u-v-logah/
https://flammlin.com/blog/2020/04/05/cl ... -mikrotik/
Или изучаем более сложные варианты парсинга
https://wiki.mikrotik.com/wiki/Log_Pars ... ger_Script
Вы хотите по обращению из вне к определённому адресу по определённому порту происходило определённое событие. Это достаточно кривое задание, я бы никогда не взялся за его реализацию. Но в целом описать порядок действий могу.
В том же Mangle есть такой вариант в action, как log. То есть событие просто логируется. Далее пишем скрипт, в котором парсим лог на предмет записи с заранее определённым перфиксом. При нахождении записи скрипт реагирует заданным образом. В конце работы скрипта обязательная очистка логов.
Придётся учитывать, что логи в memory у вас будут стираться. Это говорит, что вам останется для полноценного контроля только текстовый лог . Не всякий админ с таким согласится. Ну или можно сохранять логи на сервер, у меня часть железок именно так работает.
Ссылки по упоминаемым вопросам
https://forum.nag.ru/index.php?/topic/1 ... u-v-logah/
https://flammlin.com/blog/2020/04/05/cl ... -mikrotik/
Или изучаем более сложные варианты парсинга
https://wiki.mikrotik.com/wiki/Log_Pars ... ger_Script
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 2
- Зарегистрирован: 22 мар 2020, 15:00
Добрый день.
Перефразирую задачу:
При переходе в браузере на address:port, должно включаться определённое правило.
А если то же самое проделать через add-dst-to-address-list.
Добавляем адрес в адрес лист на короткое время. Скриптом проверяем наличие адреса в списке и включаем/выключаем правило.
Как получить адрес из адреслиста?
Перефразирую задачу:
При переходе в браузере на address:port, должно включаться определённое правило.
А если то же самое проделать через add-dst-to-address-list.
Добавляем адрес в адрес лист на короткое время. Скриптом проверяем наличие адреса в списке и включаем/выключаем правило.
Как получить адрес из адреслиста?
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Тема неоднократно обсуждалась.
Сделайте, как Вы и хотели правило, которое помещает в адрес-лист mylist адрес.
Скрипт приведенный ниже вставьте в планировщик с исполнением через нужный интервал времени.
Скрипт будет искать все адреса в адрес-листе, всем новым найденным записям в комментарий ставить отметку "executed" и если новые адрес/aдреса найдены в интервале времени исполнения, то выполняется действие в предпоследней строке (# /system script run muzic - замените, на нужное Вам.
Сделайте, как Вы и хотели правило, которое помещает в адрес-лист mylist адрес.
Скрипт приведенный ниже вставьте в планировщик с исполнением через нужный интервал времени.
Скрипт будет искать все адреса в адрес-листе, всем новым найденным записям в комментарий ставить отметку "executed" и если новые адрес/aдреса найдены в интервале времени исполнения, то выполняется действие в предпоследней строке (# /system script run muzic - замените, на нужное Вам.
Код: Выделить всё
:local listaddress [:toarray ""]
:local myaddresslist "mylist"
:foreach i in=[/ip firewall address-list find where list=$myaddresslist] do={:if ([:len [/ip firewall address-list get $i comment]]=0) do={
:set listaddress ($listaddress, [/ip firewall address-list get $i address])
/ip firewall address-list set $i comment="executed"}};
:if ([:len $listaddress]!=0) do={
:log warning "Sheduller <monitor_addresslist> follow steps ..."
# /system script run muzic
}
Последний раз редактировалось Sertik 02 сен 2020, 10:13, всего редактировалось 2 раза.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
- podarok66
- Модератор
- Сообщения: 4361
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Оу! Отличный способ. Только нужно учитывать, что если соединение проходит с одного и того же адреса ( при add src-address-list), вторично в адрес лист этому адресу не попасть, нужно при отработке скрипта стирать запись. Septik, великолепная идея, как я о ней не вспомнил! Спасибо!
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...