Mikrotik сообщение в telegram

Обновлено: 03.07.2024

К подключению резервного интернет канала дома каждый приходит по своим причинам, но некоторые устройства в умном доме требуют постоянного подключения к сети интернет, оперативность получения важных уведомлений напрямую зависит от стабильности подключения к тому же, как же мы узнаем, что интернет пропал, не имея резервного канала :)

Какой тип подключения выбрать в качестве резервного зависит только от желания, финансовой и технической возможности. Требования к скорости не большие и зависит от того, каким устройствам необходим постоянный доступ к сети. Если не использовать постоянный доступ для торрент обмена, то в качестве резервного канала можно использовать USB LTE модем с лимитированным трафиком.

Имеется MikroTik RB4011 с настройками:

  • Основной интернет канал 100МБит, внешний IP, интерфейс ether1
  • Резервный интернет канал 10МБит, интерфейс ether2
  • OpenVPN подключение к внешней VPS, интерфейс vpn-ovpn
  • Туннель 6to4 для IPv6 трафика, v6to4-tunnel

Необходимо при разрыве основного канала пустить весь трафик по резервному, переподключить VPN, погасить туннель 6to4 и прислать уведомление в телеграмм.

Настройка

Для удобства переименовываем названия портов ether1 и ether2 в ether1-wan-main и ether2-wan-reserv

Если IP адреса для основного и/или резервного канала прилетают по DHCP, то в настройках DHCP Сlient'а необходимо для каждого интерфейса выставить параметр Add Default Route - no .

mikrotik dhcp client set default route no

Добавляем маршруты по умолчанию, маршрут основного канала будет иметь дистанцию (distance) 1, резервного 2:

где: gateway=100.99.88.1 - шлюз для основного канала, gateway=10.9.8.1 - шлюз для резервного канала. Неактивный маршрут резервного канала будет выделен синим цветом.

mikrotik main routes

Для мониторинга состояния каналов будет задействована утилита Netwatch (Tools -> Netwatch), в качестве хостов наблюдения будут использованы DNS сервера Яндекс, адрес 77.88.8.8 будет использоваться для проверки работоспособности основного канала, 77.88.8.1 - для резервного.

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

mikrotik routes for yandex dns

В Firewall (IP -> Firewall) добавляем запрещающие правила на прохождение пакетов к проверяемым адресам не через свой канал, на случай, если канал отсохнет, то маршрут использующий этот канал станет не активным и будет задействован текущий маршрут по умолчанию. Эти правила необходимо расположить выше правил разрешающих доступ в интернет.

mikrotik firewall reject yandex dns for check channels

Мониторинг и переключение каналов

Как говорилось выше, в качестве мониторинга будет использоваться утилита Netwatch . Настройка этой утилиты крайне проста, задается хост наблюдения и интервал через какое время необходимо выполнять проверку, при переходе наблюдаемого хоста из состояния Down в состояние Up выполняются скрипты с вкладки UP , при переходе из состояния Up в состояние Down выполняются скрипты с вкладки DOWN .

Для проверки основного канала в Netwatch добавляем (Tools -> Netwatch -> +).

  • Host: 77.88.8.8
  • Interval: 00:01:00
  • Timeout: 1000

Каждую минуту происходит проверка хоста с IP адресом 77.88.8.8, как только происходит смена состояния из доступен в недоступен, то начинается обработка скрипта, описанного на вкладке DOWN. Комментарии:

Аналогичная ситуация происходит на вкладке UP при переходе хоста с IP адресом 77.88.8.8 из состояния Down в состояние Up.

Для проверки резервного канала в Netwatch добавляем (Tools -> Netwatch -> +).

  • Host: 77.88.8.1
  • Interval: 00:01:00
  • Timeout: 1000

Действия в случае неполадок с резервным каналом аналогичные, как и для основного, не затрагивается только 6to4 туннель.

telegramm bot

Сегодня я хотел бы рассказать о том, как реализовать отправку событий из Mikrotik в чат telegram.

Ни для кого не секрет, что Telegram, на данный момент, является самым быстрым мессенджером в мире, а мы все хотим получать оповещения о событиях максимально оперативно, отсюда и родилась идея данной статьи.

Первое, что нам нужно сделать – создать собственного бота telegram.

Делается это довольно просто:

  1. Находим в поиске аккаунт с именем @botfather
  2. Нажимаем на кнопку Start в нижней части экрана

microtik telegram

  1. После чего пишем ему команду /newbot
  2. Потом отвечаем на 2 несложных вопроса:

Первый вопрос – имя создаваемого бота Test1splaBot

Второй вопрос – ник создаваемого бота (должен оканчиваться на bot) Test_1spla_bot

  1. В ответ получим токен нашего бота, в моём случае, это 153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs

microtik telegram

Затем, нужно найти нашего бота в поиске по имени @Test_1spla_bot и нажать на кнопку Start, чтобы его запустить.

microtik telegram

После этого нужно создать групповой чат в telegram.

Делается это довольно просто:

microtik telegram

  1. Нажимаем “Next”.
  2. Указываем название нашего чата, например, “Test_1spla_support”.
  3. Приглашаем нашего бота в данный чат, напомню, найти его теперь можно по имени @Test_1spla_bot

microtik telegram

Итак, к данному моменту у нас есть бот, он активирован и приглашён в наш чат. Но он молчит.

Для того, чтобы заставить его говорить необходимо:

Где XXXXXXXXXXXXXXXXXX – токен вашего бота

microtik telegram

Находим на ней следующий текст:

ИД групповых чатов начинаются с минуса, именно этот id нам и нужен.

Итак, мы собрали всю необходимую информацию для написания скриптов для Mikrotik’а, а именно:

Токен бота: 153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs

ID чата, куда он должен писать: -175202495

Отличаются они только экранированием знака ? в URL.

microtik telegram

microtik telegram

По сути всё, скрипт отправки в чат готов и вы можете применять его в своих скриптах, в утилите NetWatch и многих других.

Если вы системный администратор или IT-директор, то у нас есть партнёрская программа с очень интересными предложениями по взаимовыгодному сотрудничеству.

С подробностями вы можете ознакомиться у нашего онлайн-консультанта, оставив контакты через форму обратной связи или позвонив по телефону (812) 425-12-19.

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

Статью подготовил технический директор компании Первый Сервисный Провайдер Гавриш Артём.

Ранее в блоге я уже писал о том, как можно осуществлять удаленное управление устройствами Mikrotik под управлением RouterOS при помощи SMS-команд. Тогда же мы рассматривали возможность отправки SMS-уведомлений администратору при отключении основного интернет канала и переключении на 3G-модем.

Сегодня мне бы хотелось поговорить об альтернативе классическим SMS-уведомлениям. В частности, о варианте с отправкой Push-уведомлений прямо на смартфон, планшет или даже ПК (PC, Mac, macOS, Linux). Все это без использования платных сервисов-посредников с минимальными затратами времени.

Если Вы хотите научиться настраивать MikroTik, предлагаем пройти онлайн обучение. Более подробную информацию Вы можете найти в конце данной публикации.

В данном варианте реализации речь пойдет о сервисе Telegram у которого есть удобный API для управления ботами. На данный вариант я наткнулся чисто случайно, т.к. до недавнего времени про сам Telegram я, конечно же, слышал, но только в общих чертах и сам с ним не сталкивался.

Начинаем работу с Telegram

  • Host – пингуемый узел;
  • Interval – интервал в секундах между попытками проверки, по-умолчанию 1 минута;
  • Timeout – таймаут ожидания, по-умолчанию 1000 мс;

Теперь изменять параметры Тelegram уведомления придется всего в одном скрипте.

🔔 Для работы скрипта вы должны иметь Токен Телеграм бота и ID чата или персональный ID. Создание Telegram бота и получение необходимых ID не является темой этой статьи.

В скрипте используется html разметка, какие варианты разметки использует Telegram можно прочитать — здесь.

Так как скрипт будет выполняться из другого скрипта, установка разрешений на выполнение скрипта не требуется.

Скрипт

Читайте также: