RB2011UiAS-IN Добавление и удаление правил файрволла через терминал

Обсуждение оборудования и его настройки
Ответить
hizor
Сообщения: 3
Зарегистрирован: 01 мар 2016, 04:35

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

Код: Выделить всё

[admin@MikroTik] > /ip firewall filter add action=drop chain=forward src-address=192.168.1.86 place-before=1 comment="test";
[admin@MikroTik] > /ip firewall filter remove numbers=1;                                                                   
[admin@MikroTik] > /ip firewall filter add action=drop chain=forward src-address=192.168.1.86 place-before=1 comment="test";
item referred by 'place-before' does not exist (11)
[admin@MikroTik] > /ip firewall filter remove numbers=1;                                                                   
no such item (4)


После первой команды все нормально, запрещающее правило создается как надо. После ввода второй команды правило удаляется, но не то что должно, а следующее в списке под номером 2 (до выполнения первой команды у него был номер 1). Ну а дальше ошибки... Но если после каждой команды вводить

Код: Выделить всё

/ip firewall filter print

то правило добавляется и удаляется корректно.
Это я что-то делаю не так или это баг микротика?


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

Отвечу обобщённо:
1) с последних прошивок (с 6.37.х точно) в закладке Extra каждого правила есть пункт Time - где можно выставлять/настраивать время работы правил,
и возможно такая автоматизация будет логичная, правильная и более проще для Вас, как администратора.
2) по поводу Ваших правил и смещения нумерации: думаю тут как в таблице или в базе данных, у Вас есть список, с ним провели работу, в базе он изменился, но на экране у Вас
уже не актуальная копия, так и с правилами...Вы вывод сделали, видите правила и их номера, сделали над ними работу (удалили), правила сместились (внутри микротика),
но Вы пока это не видите, список ранее который у Вас был в консоле устарел. Так что скорее это не баг, а логичное поведение, хотя честно признаюсь, из консоли с файрволом не работаю.
3) Всё же чтобы правильно управлять правилами или нужными параметрами в микротике, обычно делают им уникальный комментарий, а уже потом через скрипт находят этот комментарий,
а значит и нужное и именно то правило/параметр который нужен для работы/включения/удаления/изменения, так что если Вас первый пункт не убедил, то надо
более уникально помечать правила и их обрабатывать, используя комментарий как ключ.

И последний вопрос/замечание: у меня роутер кроме осуществления доступа в Интернет, обрабатывает локальные каналы и локальную маршрутизацию,
поэтому не логично ограничивать юзера путём применения к нему команды ДРОП для цепочки правил Форвард.
Не хотите давать интернет, так отключите ему правила NAT и всё.
Но сразу говорю, по этому пункту лишь моё видение, может у Вас своя специфика, поэтому лишь частично мне этот метод и не понравился.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
KARaS'b
Сообщения: 1199
Зарегистрирован: 29 сен 2011, 09:16

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


Аватара пользователя
algerka
Сообщения: 407
Зарегистрирован: 14 дек 2011, 12:31

hizor писал(а): но что-то пошло не так...

перед remove по номеру всегда надо сначала делать print !


Александр
hizor
Сообщения: 3
Зарегистрирован: 01 мар 2016, 04:35

Vlad-2 писал(а):с последних прошивок (с 6.37.х точно) в закладке Extra каждого правила есть пункт Time

Версия 6.32.4 пункт Time имеется. Спасибо за наводку, так и правда на много проще.

Vlad-2 писал(а): у Вас есть список, с ним провели работу, в базе он изменился, но на экране у Вас
уже не актуальная копия, так и с правилами...

Та же история с этими командами в скриптах, не только в терминале.

algerka писал(а):перед remove по номеру всегда надо сначала делать print !

Тогда как быть с print в скриптах? как её завершать, она ведь требует ввода Ctrl-C, со стороны пользователя иначе скрипт так и будет висеть?


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Так зачем же удалять правило? Чем вам не вариант с disabled=yes / dasabled=no , а сами правила пометить комментариями и по ним искать нужные в скриптах?


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Аватара пользователя
algerka
Сообщения: 407
Зарегистрирован: 14 дек 2011, 12:31

hizor писал(а):
algerka писал(а):перед remove по номеру всегда надо сначала делать print !

Тогда как быть с print в скриптах? как её завершать, она ведь требует ввода Ctrl-C, со стороны пользователя иначе скрипт так и будет висеть?

В скриптах ни в коем случае по номеру нельзя. Как уже писалось раньше только через find чего-то уникального, например комментарий.


Александр
Аватара пользователя
Dragon_Knight
Сообщения: 1724
Зарегистрирован: 26 мар 2012, 18:21
Откуда: МО, Мытищи
Контактная информация:

Можете посмотреть как реализовано добавление и удаление у меня : viewtopic.php?f=13&t=6640


Небольшой свод правил логики и ссылок:
  1. Если устройство имеет Ethernet порт, то оно обязано быть подключено через него. Компьютер, Ноутбук, Телевизор, Принтер, Камера видеонаблюдения, и т.д.
  2. Если нет возможности протянуть кабель, то найдите её, или страдайте со своими проблемами Wi-Fi дальше.
  3. Wi-Fi это сеть для мобильных устройств. Если Вы подключили свой шикарный 50" телевизор не кабелем, то без фотоотчёта, когда он лежит у Вас в кармане дальнейшего разговора не получиться. Это относится и ко всем остальным устройствам.
  4. Если Ваше устройство вызывает вопросы в работе, первое что необходимо делать: NetInstall + дальнейшая настройка вручную.
  5. Не используйте WebFig или QuickSet - это пути к глюкам и ошибкам. Только SSH или WinBox, и да, - WinBox есть под Android.
  6. name.rsc - это текстовый файл, и Вы можете его открыть блокнотом.
  7. Если Вы хотите связаться со мной для ремонта или настройки, то: Telegram ( Не благотворительность ).
  8. Мой сайт по Mikrotik: Global Zone >> MikroTik.
Ответить