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 .
Добавляем маршруты по умолчанию, маршрут основного канала будет иметь дистанцию (distance) 1, резервного 2:
где: gateway=100.99.88.1 - шлюз для основного канала, gateway=10.9.8.1 - шлюз для резервного канала. Неактивный маршрут резервного канала будет выделен синим цветом.
Для мониторинга состояния каналов будет задействована утилита Netwatch (Tools -> Netwatch), в качестве хостов наблюдения будут использованы DNS сервера Яндекс, адрес 77.88.8.8 будет использоваться для проверки работоспособности основного канала, 77.88.8.1 - для резервного.
Добавляем отдельные маршруты для проверяемых адресов, что бы проверка шла четко по определенному интернет каналу не зависимо от того через какой канал идет маршрут по умолчанию.
В Firewall (IP -> Firewall) добавляем запрещающие правила на прохождение пакетов к проверяемым адресам не через свой канал, на случай, если канал отсохнет, то маршрут использующий этот канал станет не активным и будет задействован текущий маршрут по умолчанию. Эти правила необходимо расположить выше правил разрешающих доступ в интернет.
Мониторинг и переключение каналов
Как говорилось выше, в качестве мониторинга будет использоваться утилита 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 туннель.
Сегодня я хотел бы рассказать о том, как реализовать отправку событий из Mikrotik в чат telegram.
Ни для кого не секрет, что Telegram, на данный момент, является самым быстрым мессенджером в мире, а мы все хотим получать оповещения о событиях максимально оперативно, отсюда и родилась идея данной статьи.
Первое, что нам нужно сделать – создать собственного бота telegram.
Делается это довольно просто:
- Находим в поиске аккаунт с именем @botfather
- Нажимаем на кнопку Start в нижней части экрана
- После чего пишем ему команду /newbot
- Потом отвечаем на 2 несложных вопроса:
Первый вопрос – имя создаваемого бота Test1splaBot
Второй вопрос – ник создаваемого бота (должен оканчиваться на bot) Test_1spla_bot
- В ответ получим токен нашего бота, в моём случае, это 153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs
Затем, нужно найти нашего бота в поиске по имени @Test_1spla_bot и нажать на кнопку Start, чтобы его запустить.
После этого нужно создать групповой чат в telegram.
Делается это довольно просто:
- Нажимаем “Next”.
- Указываем название нашего чата, например, “Test_1spla_support”.
- Приглашаем нашего бота в данный чат, напомню, найти его теперь можно по имени @Test_1spla_bot
Итак, к данному моменту у нас есть бот, он активирован и приглашён в наш чат. Но он молчит.
Для того, чтобы заставить его говорить необходимо:
Где XXXXXXXXXXXXXXXXXX – токен вашего бота
Находим на ней следующий текст:
ИД групповых чатов начинаются с минуса, именно этот id нам и нужен.
Итак, мы собрали всю необходимую информацию для написания скриптов для Mikrotik’а, а именно:
Токен бота: 153358077:AAF4qYdUNIcWfp-SLtduVR18DuzqtXwEQAs
ID чата, куда он должен писать: -175202495
Отличаются они только экранированием знака ? в URL.
По сути всё, скрипт отправки в чат готов и вы можете применять его в своих скриптах, в утилите 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 можно прочитать — здесь.
Так как скрипт будет выполняться из другого скрипта, установка разрешений на выполнение скрипта не требуется.
Читайте также: