К примеру есть у меня такое:
add action=accept chain=forward src-address-list=unblock
add action=accept chain=forward src-address-list=unblock_always
add action=accept chain=forward dst-address-list=unblock
add action=accept chain=forward dst-address-list=unblock_always
add action=drop chain=forward src-address-list=block
add action=drop chain=forward dst-address-list=block
add action=drop chain=forward
Рассмотрим щас два листа, это block и unblock.
В block находятся те ip, которым можно в инет ходить, в unblock незя.
На пример у меня есть ip 1.2.3.4, который нужно из block перетащить в unblock. как должен выглядеть скрипт в микротике?
Я знаю только немного кривой способ - это написать скрипт на линуксе, к примеру на bash:
./unblockip 1.2.3.4
#!/bin/bash
ip=$1
ssh admin@mikr_ip /ip firewall address-list remove numbers=15(номер я типа узнал =$ip)
ssh admin@mikr_ip /ip firewall address-list add address=$ip list=unblock
то есть подключаемся по беспарольному доступу и выполняем данные действа.
Мне же нужно чтобы переменную принимал скрипт, которые находится на самом микротике.
То есть я сначала подключаюсь по ssh к микротику и выполняю скрипт и подставляю переменную уже в самом микротике, а не посылаю с удаленной линукс машиной все то, что нужно сделать.
Надеюсь внятно написал суть задачи. Хелп
как скриптом засовывать необходимые ip в разные цепочки firewall?
-
- Сообщения: 1197
- Зарегистрирован: 29 сен 2011, 09:16
Меняем для адреса 1.2.3.4 лист на unblock, не важно с какого, важно что при этом запись должна уже существовать.
Тоже самое с переменной
Код: Выделить всё
ip firewall address-list set list=unblock [find address=1.2.3.4]
Код: Выделить всё
:local ip 1.2.3.4
:ip firewall address-list set list=unblock [find address=$ip]
-
- Сообщения: 100
- Зарегистрирован: 14 окт 2015, 17:30
Как мне подставлять переменную в скрипт? к примеру есть скрипт block, а его выполняю, но чтобы скрипт знал кого блочить мне нужно подставить 1.2.3.4, то есть как в линуксе ./block 1.2.3.4.. Я вот это имею ввиду. Умеет ли такое микрот?KARaS'b писал(а): ↑22 мар 2019, 12:11 Меняем для адреса 1.2.3.4 лист на unblock, не важно с какого, важно что при этом запись должна уже существовать.Тоже самое с переменнойКод: Выделить всё
ip firewall address-list set list=unblock [find address=1.2.3.4]
Код: Выделить всё
:local ip 1.2.3.4 :ip firewall address-list set list=unblock [find address=$ip]
-
- Сообщения: 100
- Зарегистрирован: 14 окт 2015, 17:30
просто если мне нужно сразу двадцать ip засунуть в блок, то как быть?
-
- Сообщения: 1995
- Зарегистрирован: 09 июл 2014, 12:33
-
- Сообщения: 100
- Зарегистрирован: 14 окт 2015, 17:30
Есть другой момент:
/queue simple
add max-limit=50M/50M name="Ivanov Evgeniy Fedorovich" target=1.1.1.1/32,2.2.2.2/32
Как удалить/добавь ip в targed через консоль, желательно одной командой.
У меня получается вот таким образом:
queue simple set target=1.1.1.1 [ find name="Ivanov Evgeniy Fedorovich" ]
но таким образом я просто меняю ip в targed, а если их там будет 5 или 10, то не очень удобно получается. Получается нужно что-то вроде такого:
queue simple "remove" target=1.1.1.1 [ find name="Ivanov Evgeniy Fedorovich" ] - но такого сделать нельзя. Просьба помочь с идеей
/queue simple
add max-limit=50M/50M name="Ivanov Evgeniy Fedorovich" target=1.1.1.1/32,2.2.2.2/32
Как удалить/добавь ip в targed через консоль, желательно одной командой.
У меня получается вот таким образом:
queue simple set target=1.1.1.1 [ find name="Ivanov Evgeniy Fedorovich" ]
но таким образом я просто меняю ip в targed, а если их там будет 5 или 10, то не очень удобно получается. Получается нужно что-то вроде такого:
queue simple "remove" target=1.1.1.1 [ find name="Ivanov Evgeniy Fedorovich" ] - но такого сделать нельзя. Просьба помочь с идеей
-
- Сообщения: 1197
- Зарегистрирован: 29 сен 2011, 09:16
Несколько адресов задаются через запятую, при этом значения которые там были ранее затираются.
queue simple set target=192.168.1.201,192.168.1.200 [ find name="Ivanov Evgeniy Fedorovich" ]
queue simple set target=192.168.1.201,192.168.1.200 [ find name="Ivanov Evgeniy Fedorovich" ]
-
- Сообщения: 100
- Зарегистрирован: 14 окт 2015, 17:30
Это я понял. К примеру мне нужно удалить 192.168.1.200, из вашего примера. Как быть?
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
А так нельзя ?
/queue simple remove target [ /queue simple find target name="Ivanov Evgeniy Fedorovich" ]
а потом заново добавить без 192.168.1.200 так:
/queue simple set target=192.168.1.201 name="Ivanov Evgeniy Fedorovich"
Синтаксис я не проверял, надо пробовать ...
/queue simple remove target [ /queue simple find target name="Ivanov Evgeniy Fedorovich" ]
а потом заново добавить без 192.168.1.200 так:
/queue simple set target=192.168.1.201 name="Ivanov Evgeniy Fedorovich"
Синтаксис я не проверял, надо пробовать ...
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 100
- Зарегистрирован: 14 окт 2015, 17:30
нельзя так. Ладно в несколько этапа буду делать. Хотел одним действие удалять ipSertik писал(а): ↑26 мар 2019, 10:26 А так нельзя ?
/queue simple remove target [ /queue simple find target name="Ivanov Evgeniy Fedorovich" ]
а потом заново добавить без 192.168.1.200 так:
/queue simple set target=192.168.1.201 name="Ivanov Evgeniy Fedorovich"
Синтаксис я не проверял, надо пробовать ...