Настройка SMS-уведомлений на контроллерах iNode через шлюз E-mail → SMS

Настройка SMS-уведомлений на контроллерах iNode через шлюз E-mail → SMS

Оригинальная статья доступна по ссылке
Автор оригинальной статьи: производитель Интеллект модуль

Устройства iNode (Сетевые WEB / SNMP адаптеры iNode, Система мониторинга iNode 19D) поддерживают отправку уведомлений по электронной почте, что позволяет организовать доставку тревог и сервисных сообщений на мобильные телефоны посредством SMS. Для этого используется SMTP-шлюз, преобразующий входящие e-mail сообщения в SMS.

Такой способ удобен для:

  • уведомлений о тревогах;
  • контроля состояния оборудования;
  • информирования дежурного персонала;
  • дополнительного канала оповещений при отсутствии интернет-доступа у получателя.

В данной статье рассмотрим настройку отправки SMS через шлюз E-mail → SMS на базе роутеров с OpenWRT со встроенным, либо внешним модемом, и набора утилит Email2SMS.

Как работает схема уведомлений?

Контроллер iNode (Сетевые WEB / SNMP адаптеры iNode, Система мониторинга iNode 19D) отправляет e-mail сообщение на SMTP-сервер шлюза.

Шлюз:

  1. принимает письмо;
  2. извлекает номер телефона из адреса получателя;
  3. отправляет текст письма в виде SMS через установленную в модем SIM-карту.

Пример адреса получателя:

79991234567@sms.lan

В результате текст письма будет доставлен SMS-сообщением на номер:

+79991234567

Требования

Для работы потребуется:

  • роутер с OpenWRT 20.x и выше, со встроенным, либо внешним модемом и установленным пакетом smstools3;
  • установленная SIM-карта;
  • настроенная отправка SMS;
  • установленный пакет Email2SMS.

В качестве платформы может использоваться оборудование TELEOFIS RTU968 V2 или совместимые устройства OpenWRT.

При базовой настройке по этой инструкции роутер будет выступать почтовым сервером SMTP и пересылать текст всех принятых e-mail, с адресом получателя вида <номер_телефона>@sms.lan (например: 79990123456@sms.lan), в виде SMS на номер телефона, извлеченный из этого адреса.

1. Подготовка

Для начала убедитесь, что в роутере установлена SIM-карта, включена отправка и прием SMS сообщений и корректно выполнены сетевые настройки (роутер должен быть доступен для подключения из сети с устройствами, отправляющих сообщения e-mail). Не забудьте отключить раздачу IP адресов данным роутером (DHCP сервер), если он не является основным в вашей локальной сети.

Тестовое сообщение можно отправить через web-интерфейс роутера (Службы – Управление по SMS – Отправить SMS). Для отправки SMS на роутере RTU968 должно быть включено управление по SMS.

Подготовка TELEOFIS

Подготовка TELEOFIS

Подготовка TELEOFIS

1.1. Для установки всего необходимого ПО роутер должен иметь подключение к сети интернет (мобильный, через SIM карту или проводной). Также доступ в интернет вам понадобится, если необходимо будет пересылать полученные роутером письма не только по SMS, но e-mail (Не обязательная настройка).

Для тестирования подключения к интернет на роутере RTU968 можно запустить обновление списка пакетов (Система – Менеджер пакетов – Обновление списков) См. Рис 4-5. Или выполнить эту проверку позже, при подключении к роутеру по протоколу ssh.

Подготовка TELEOFIS

Подготовка TELEOFIS

1.2. Для взаимодействия с роутером вам понадобится ssh-клиент. Если у вас компьютер с ОС Windows, то в качестве ssh клиента можно использовать PuTTY, PuTTY также доступен в магазине приложений Windows (бесплатно). Если у вас ОС Windows версии 11, то можно использовать встроенный OpenSSH клиент. Чтобы включить клиент OpenSSH в Windows 11, выполните следующие шаги:

  • Откройте приложение «Параметры» с помощью комбинации клавиш: Windows + I
  • Перейдите в раздел «Приложения» → «Дополнительные компоненты» (Optional features)
  • В списке компонентов найдите «Клиент OpenSSH» (OpenSSH Client). Если он не установлен, нажмите кнопку «Добавить дополнительную функцию» (Add optional feature), найдите «Клиент OpenSSH» и установите его

1.3. Для подключения к терминалу роутера по протоколу ssh выполните следующие действия:

  • Если используется встроенный в Windows 11 OpenSSH клиент, то с помощью комбинации клавиш Windows + R откройте окно «Выполнить» и введите команду ssh root@192.16.88.1 (вместо 192.168.88.1 укажите адрес своего роутера) и нажмите кнопку «ОК».
  • Если используется PuTTY, то запустите приложение, введите ip-адрес своего роутера в соответствующее поле и нажмите кнопку «Open»

Подключение к терминалу роутера по протоколу ssh

Подключение к терминалу роутера по протоколу ssh

При первом подключении появится окно с запросом запомнить новое устройство. Разрешите.После подключения надо ввести пароль от учетной записи администратора (пользователь root). (При подключении с помощью PuTTY перед вводом пароля надо указать имя пользователя – root

Подключение к терминалу роутера по протоколу ssh

У роутера RTU968 пароль по-умолчанию – root, настоятельно рекомендуется сменить его на более безопасный.

После успешного подключения вы увидите приветствие

Подключение к терминалу роутера по протоколу ssh

Проверьте подключение к интернету с помощью команды: ping -c 3 ya.ru
Если подключение не удалось – проверьте настройки роутера.
Результат должен быть похожим, как на рисунке ниже. На этом подготовительный этап завершен

Подключение к терминалу роутера по протоколу ssh

2. Установка необходимого ПО на роутер

Все перечисленные далее команды выполняются в терминале роутера. Как подключиться к роутеру по протоколу ssh описано в пп 1.2-1.3 данной инструкции

Выполните следующую команду в терминале роутера:
wget -qO – http://intellect-module.ru/downloads/service/email2sms_installer | sh

По окончании установки вы увидите сообщение: Готово!
Минимальная настройка завершена.

В процессе установки будет сгенерирован пароль для пользователя по-умолчанию (его можно будет изменить далее) и выведен на экран. (Сообщение: plain default_user <пароль> )

Установка необходимого ПО на роутер

На этом этапе уже можно настроить любой почтовый клиент на отправку писем через SMTP сервер с адресом вашего роутера, порт 25. Пользователь default_user, пароль был показан при установке. При отправке письма на адрес <номер_телефона>@sms.lan (например: 79990123456@sms.lan), содержимое письма будет переслано в виде SMS на номер телефона, извлеченный из этого адреса. В текст сообщения добавляется «Тема письма»(Данное поле можно использовать для идентификации устройства- отправителя сообщений).

Настройка SMTP сервера

Настройка SMTP сервера

3. Расширенные настройки

Установленное на предыдущем этапе ПО реализует также следующий функционал:

  • «Белый» список IP адресов, которым разрешено подключение к серверу SMTP
  • Фильтр сообщений, отправляемых в виде SMS
  • Короткие псевдонимы для списков получателей пересылаемых писем
  • Добавление/изменение учетных данных пользователей сервера SMTP
  • Пересылка полученных писем одному или нескольким получателям
  • Утилита изменения/применения настроек – reconfig.sh

3.1. Для редактирования файлов с настройками вы можете использовать клиент WinSCP (краткое введение в WinSCP) или любой другой удобный для вас способ.
Для установки WinSCP выполните следующие шаги:

  • Скачайте ПО (Страница загрузки) (Зеленая кнопка с надписью «Download WinSCP…»)
  • Запустите скачанный установщик и примите лицензионное соглашение
  • Выберите Тип установки – «Рекомендуется», Стиль интерфейса – «Коммандер»
  • По окончанию установки оставьте флажок «Запустить WinSCP»

Для подключения откройте консоль WinSCP и укажите:

  • Протокол передачи: SCP
  • Имя хоста: 192.168.88.1 (Замените на адрес вашего роутера)
  • Порт: 22
  • Имя пользователя: root
  • Пароль: ваш_пароль

Нажмите «Войти». Теперь в правой рабочей области (зоне сервера) вы можете переключаться по каталогам в удобной графической форме.

Расширенные настройки

Перейдите в папку с настройками шлюза SMTP в SMS (по-умолчанию: /etc/email2sms/)

Внимание! Не редактируйте и не удаляйте файлы без необходимости!

Расширенные настройки

Для редактирования файла выделите его в правой рабочей области(зоне сервера) и нажмите «Править» – «Встроенный Редактор»

Расширенные настройки

3.2. Файл «белого» списка (по-умолчанию: /etc/email2sms/ips.list) содержит перечень IPv4 адресов, которым разрешено подключение к серверу SMTP. При редактировании списка следуйте следующим правилам:

  • Одна строка содержит один адрес.
  • Список должен содержать, как минимум, одну строку с адресом.
  • Строки, начинающиеся с символа «#» игнорируются.
  • В адресе допускается маскирование октета символом «*».
    (Запись «192.168.88.*» означает, что разрешены все IP в диапазоне 192.168.88.1-254. т.о., строка «*.*.*.*» разрешает подключение к серверу SMTP с любых IP адресов.).

Чтобы ограничение доступа заработало, необходимо удалить (или отключить, поставив в начале символ «#») строку «*.*.*.*» и добавить перечень адресов устройств, которые будут отправлять e-mail сообщения.

Расширенные настройки

3.3. Если нет возможности фильтровать отправляемые сообщения на стороне устройства, то, при необходимости, можно настроить фильтрацию сообщений при отправке SMS.
Файл правил фильтра сообщений (по-умолчанию: /etc/email2sms/sendsms.filter) содержит перечень слов/фраз которые должны содержать сообщения пересылаемые в SMS. При редактировании файла следуйте следующим правилам:

  • Одна строка содержит один фильтр (слово или фраза).
  • Регистр букв не учитывается, наличие и количество пробелов – важно.
  • Строки, начинающиеся с символа «#» игнорируются.
  • Если файл пустой (или все строки начинаются с символа «#»), то фильтрация отключена.

Как работает фильтрация.
Проверяется наличие слова/фразы из файла правил в каждой строке сообщения и, при совпадении, данная строка добавляется в текст SMS. При множественных совпадениях строка добавляется один раз. Порядок строк в SMS соответствует порядку строк в исходном сообщении. Например:

Допустим, от устройства пришло сообщение с текстом:

02.12.25 / 22:46:16 (WARN.) Релейный выход #1: Команда ручного управления
02.12.25 / 22:46:16 (WARN.) Релейный выход #1: Включен
02.12.25 / 22:46:17 (WARN.) Релейный выход #3: Команда ручного управления
02.12.25 / 22:46:17 (WARN.) Релейный выход #3: Выключен
02.12.25 / 22:46:19 (ALARM) Дискретный вход #1 ‘Дверь’: Авария
02.12.25 / 22:46:20 (WARN.) Устройство отключено от точки доступа WiFi
02.12.25 / 22:46:22 (MESSAGE) Устройство подключено к точке доступа WiFi

Правило: «Релейный выход» – отправит первые 4 строки.
Правило: «Релейный выход #3» – отправит только 3ю и 4ю строки.
Если в файле будет одно правило (одна строка): «ALARM», то будет отправлена SMS, содержащая только пятую строку – «02.12.25 / 22:46:19 (ALARM) Дискретный вход #1 ‘Дверь’: Авария». Если к нему добавить правило (еще одну строку): «WARN.», то будут отправлены все строки, кроме последней.

3.4. Если на устройстве при настройке e-mail адреса получателя адрес не помещается в поле ввода по длине или получателей несколько, то можно использовать короткие псевдонимы для списков получателей пересылаемых писем. Файл правил фильтра сообщений (по-умолчанию: /etc/email2sms/forward.list) содержит список псевдонимов и, через пробел, их расшифровку. При редактировании файла следуйте следующим правилам:

  • Одна строка содержит один псевдоним.
  • Формат: Псевдоним, пробел, e-mail адреса через запятую, без пробелов

Например:

rule1 user1@mail.lan,user3@mail.lan,admin@mail.lan
ruleX alexander.davydovich.krasnoshchechkin-zaamurskij@super-dlinnyj-domen.mail.lan
alarm dezhurnyj@mail.lan,admin@mail.lan,director@mail.lan,boss@mail.lan

Для применения псевдонима адрес получателя указывайте: <псевдоним>@fwd.lan

Например: rule1@fwd.lan

Псевдонимы можно комбинировать, указывая адреса через запятую, без пробелов. Например:

С другими псевдонимами – ruleX@fwd.lan,alarm@fwd.lan
С номером телефона для отправки SMS – 79990123456@sms.lan,rule1@fwd.lan
C другими e-mail – support@intellect-module.ru,ruleX@fwd.lan

3.5. Учетные данные пользователей SMTP сервера редактируются с помощью утилиты reconfig.sh (см п. 3.7) или непосредственно в файле учетных данных (по-умолчанию: /etc/email2sms/conf.d/smtp.auth). При редактировании файла изменения вступают в силу только после перезапуска процесса сервера с помощью вызова утилиты reconfig.sh c ключом -s (командой «/etc/email2sms/reconfig.sh -s») или init.d (командой «/etc/init.d/emailrelay restart») или перезагрузки роутера. При редактировании файла следуйте следующим правилам:

  • Одна строка содержит данные одного пользователя.
  • Регистр букв учитывается.
  • Строки, начинающиеся с символа «#» игнорируются.
  • Файл должен содержать данные, как минимум, для одного пользователя.
  • Формат: server plain, пробел, логин, пробел, пароль

Пример:

server plain default_user OebfMs8S

3.6. Если возникла необходимость доставлять исходные сообщения пользователям электронной почты, то пересылка полученных писем одному или нескольким получателям можно включить и настроить с помощью утилиты reconfig.sh (см п. 3.7). Доставка будет осуществляться через сторонний сервер SMTP и вам будет необходимо указать учетные данного реального пользователя этого сервера, от чьего имени и будут отправляться письма. Можно использовать корпоративный сервер, тогда учетные данные вы можете получить у ИТ-специалистов, обслуживающих его. Или же воспользоваться бесплатным почтовым сервисом (yandex.ru, mail.ru и т. д.). В этом случае вам потребуется создать специальный «пароль приложения» для сторонних почтовых программ и/или IoT устройств и узнать адрес/порт SMTP сервера для отправки писем внешними приложениями и/или устройствами в соответствующем разделе часто задаваемых вопросов (или в техподдержке этого сервиса).

Например: для Яндекс: SMTP c паролем приложений, для Mail.ru: Настройка внешних приложений.

Внимание! Для работы этой функции роутер должен иметь доступ до почтового сервера, через который будет осуществляться доставка писем (выход в интернет, если используются сервера yandex.ru, mail.ru и т.д.).

3.7. Утилита изменения/применения настроек — reconfig.sh
Утилита имеет два режима работы — применение настроек, сохраненных в файлах конфигурации (например, после редактирования файла с учетными данными п.3.5 данной инструкции) и интерактивный режим изменения настроек.
Режим применения настроек выбирается с помощью вызова утилиты с параметром «–silent» или «-s».

Например:

/etc/email2sms/reconfig.sh -s

Интерактивный режим – это основной режим работы утилиты, не требует параметров при запуске.

Например:

/etc/email2sms/reconfig.sh

Для работы в интерактивном режиме необходимо подключиться к терминалу роутера, например по протоколу ssh (пп 1.2-1.3)

Интерактивный режим работы утилиты изменения/применения настроек — reconfig.sh

В интерактивном режиме доступны следующие настройки:

Выбор сетевого интерфейса почтового сервера:

Только локальная сеть (авто определение IP адреса интерфейса LAN), используется при настроенном статическом IP адресе. SMTP сервер отвечает только если запрос на подключение пришел на этот  IP.

Все интерфейсы (IP: 0.0.0.0). SMTP сервер отвечает когда запрос на подключение пришел на любой  IP адрес роутера.
Указать свой (ручной ввод адреса). Используется, когда надо указать адрес внешнего или виртуального интерфейса, не основной адрес и т. д.

Выбор порта почтового сервера:

Стандартный порт (25)
Указать свой (ручной ввод порта)

Список пользователей почтового сервера:

Выводит учетные данные пользователей в формате: «Тип Логин Пароль»

Например:

plain default_user OebfMs8S

Предлагает изменить его. (Пункт 2. Изменить)

Интерактивный режим работы утилиты изменения/применения настроек — reconfig.sh

В режиме изменения список пользователей выводится в формате: «Номер Тип Логин Пароль»
Для удаления пользователя (Пункт 2. Удалить) необходимо указать его Номер (0 -выход из режима удаления)
Для добавления пользователя (Пункт 2. Добавить) необходимо указать новые учетные данные в формате: «Логин Пароль», через пробел (пустая строка — выход из режима добавления)
Сохранение данных – Пункт 3. Продолжить

Интерактивный режим работы утилиты изменения/применения настроек — reconfig.sh

Включить пересылку почты

Для включения и настройки пересылки исходных сообщений получателям (п 3.6.) на этом этапе следует выбрать пункт 2

Интерактивный режим работы утилиты изменения/применения настроек — reconfig.sh

Внимание! Не рекомендуется включать эту опцию без необходимости!

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

Выбор SMTP сервера для отправки почты

Стандартные настройки для популярных yandex.ru или mail.ru
Ручной ввод настроек (Пункт 3. Указать свой) в формате: «адрес:порт» (через двоеточие)

Например:

smtp.server.local:587
или 10.20.30.40:25

При выборе SMTP сервера имейте в виду, что роутер должен иметь постоянный доступ по сети до этого сервера (выход в интернет, если используются сервера yandex.ru, mail.ru и т. д.).

Адрес отправителя

Большинство почтовых серверов не разрешают отправку писем с адресом отправителя отличного от адреса пользователя авторизовавшегося при отправке. Поэтому при пересылке писем адрес отправителя в исходном сообщении заменяется на значение, указанное в данном пункте настроек. Т.о. для популярных сервисов (yandex.ru или mail.ru) в полях адрес отправителя и логин следует указывать адрес электронной почты пользователя, от имени которого будет осуществляться оправка пересылаемых писем.

Интерактивный режим работы утилиты изменения/применения настроек — reconfig.sh

Учетные данные отправителя

На этом этапе необходимо указать актуальные учетные данные пользователя, от имени которого будет осуществляться оправка пересылаемых писем, в формате: «Логин Пароль», через пробел. Для популярных сервисов (yandex.ru или mail.ru) в качестве логина зачастую следует указывать адрес электронной почты отправителя, а в качестве пароля — специальный пароль приложений (п 3.6.)
После того, как все необходимые данные были указаны утилита сохранит и применит новые настройки, по окончании отобразится сообщение: Status: OK

Интерактивный режим работы утилиты изменения/применения настроек — reconfig.sh

Проверка работы

После завершения настройки:

  1. создайте тестовое событие на устройстве iNode (Сетевые WEB / SNMP адаптеры iNode, Система мониторинга iNode 19D);
  2. убедитесь, что устройство отправляет e-mail;
  3. проверьте получение SMS.

Преимущества схемы E-mail → SMS

  • независимость от облачных сервисов;
  • работа внутри локальной сети;
  • высокая надежность доставки;
  • возможность использовать любые устройства с SMTP-уведомлениями;
  • централизованная обработка сообщений;
  • гибкая фильтрация и маршрутизация уведомлений.

Заключение

Использование шлюза E-mail → SMS позволяет быстро организовать надежную систему SMS-оповещений для устройств iNode (Сетевые WEB / SNMP адаптеры iNode, Система мониторинга iNode 19D) без необходимости подключения сторонних облачных сервисов.

Решение особенно удобно для:

  • промышленной автоматизации;
  • диспетчеризации;
  • удаленных объектов;
  • систем безопасности;
  • инженерной инфраструктуры.

  email2sms_installer