В продолжение темы запуска управления роутером Mikrotik через телеграм бота, хотелось бы описать быстрый способ заблокировать или разблокировать трафик на каком либо устройстве через телеграм бота.
На самом деле запуск подобного бота на вашем роутере, даёт вам возможность запускать всевозможные скрипты на вашем домашнем роутере, даже без внешнего ip адреса. Вы можете включать или отключать туннели, активировать или деактивировать пользователей, можете смотреть текущие подключения. Да по сути выполнять что угодно, если это возможно исполнить при помощи написания скрипта.
Вот в данном примере мы создаём просто 2 правила фаервола, которые будут блокировать трафик на определённом ip
[bash title=»код»]/ip/firewall/filter/
add action=accept chain=forward comment=PS4 dst-address=192.168.0.0/24 src-address=192.168.0.40
add action=drop chain=forward comment=PS4 src-address=192.168.0.40[/bash]
тут мы создали правило с комментом PS4 для ip 192.168.0.40
[bash title=»код»]
:global PS4 ([/ip firewall filter find where comment="PS4" && disabled=yes])
:if ($PS4) do={
/ip firewall filter enable [find comment="PS4"]
:log info message=("PS4 was enabled");
:tool fetch url=("https://api.telegram.org/bot2355340910:AAE4LqqqqGm8anV8QoXhgck44CdNLqqqqq/sendmessage\?chat_id=333373876&text=\F0\9F\8E\AE PS4 was enable \E2\9C\85") keep-result=no;
} else={
/ip firewall filter disable [find comment="PS4"]
:log info message=("PS4 was disable");
:tool fetch url=("https://api.telegram.org/bot2355340910:AAE4LqqqqGm8anV8QoXhgck44CdNLqqqqq/sendmessage\?chat_id=333373876&text=\F0\9F\8E\AE PS4 was disable \E2\9D\8C") keep-result=no;
}
[/bash]
Тут по команде в бота, мы ищем наш скрипт с названием PS4 и в зависимости от того, включено правило или нет, меняем его статус, отсылая уведомление в Telegram. А наш Mikrotik раз в минуту выгребает статусы и выполняет нужный скрипт.