Содержание
Всё больше умных устройств нуждаются в надёжной, быстрой и экономичной связи — от термостатов и камер до промышленных датчиков и агротехнических систем. Для этих задач идеально подходит протокол MQTT, а в качестве брокера — Mosquitto. Он лёгкий, масштабируемый и отлично работает даже на бюджетных серверах. В этом гайде разберём, как установить Mosquitto на Ubuntu 24.04, настроить его для внешнего подключения, проверить работоспособность и использовать графические клиенты для управления — всё с примерами и практическими советами.
Что такое MQTT и где реально используется Mosquitto?
Протокол MQTT (Message Queuing Telemetry Transport) был разработан ещё в конце 1990-х для передачи небольших объёмов данных в условиях нестабильной связи. Сегодня он стал промышленным стандартом для IoT-коммуникаций: его используют от умных чайников до крупных энергетических и логистических систем.
Mosquitto — это открытый и высокопроизводительный MQTT-брокер, совместимый с любыми клиентами и платформами. Он поддерживает:
- шифрование соединений через TLS/SSL,
- аутентификацию по логину и паролю,
- ограничение доступа к топикам,
- работу с QoS (качеством обслуживания сообщений),
- очень низкое потребление ресурсов.
В реальных проектах Mosquitto применяется повсеместно:
- Умный дом: связывает датчики движения, освещения, климат-контроля и позволяет управлять ими через мобильные приложения.
- Логистика: системы вроде «СДЭК» и Boxberry используют Mosquitto для сбора данных с RFID-меток и датчиков температуры.
- Нефтегазовая отрасль: «Газпром» и «Роснефть» передают телеметрию с удалённых буровых платформ, где каждый байт на счету.
- Агротех: теплицы Краснодарского края автоматически регулируют полив и вентиляцию на основе данных, собранных через Mosquitto.
- Городская инфраструктура: умные остановки в Москве и Казани передают расписание транспорта и погодные данные через MQTT.
Секрет успеха Mosquitto — в его простоте, надёжности и низких системных требованиях. Он запускается даже на VPS за 300 рублей в месяц, обрабатывая тысячи подключений.

Подготовка Ubuntu 24.04 к установке Mosquitto
Прежде чем установить Mosquitto, убедитесь, что ваш сервер обновлён и готов к работе. Это минимизирует конфликты зависимостей и повысит стабильность системы.
Выполните обновление пакетов:
sudo apt update && sudo apt upgrade -y
Теперь установите два ключевых пакета:
mosquitto— сам брокер,mosquitto-clients— утилиты командной строки для публикации и подписки на сообщения.
sudo apt install mosquitto mosquitto-clients -y
После установки Mosquitto автоматически запускается как системная служба. Проверьте её статус:
systemctl status mosquitto
Если видите active (running), всё в порядке. Если нет — запустите вручную и добавьте в автозагрузку:
sudo systemctl start mosquitto sudo systemctl enable mosquitto
По умолчанию Mosquitto слушает порт 1883. Чтобы внешние устройства могли к нему подключаться, разрешите его в брандмауэре:
sudo ufw allow 1883/tcp
Это особенно важно, если вы разворачиваете сервер в российских дата-центрах, где UFW часто включён по умолчанию.
Почему Mosquitto лучше ставить на отдельный сервер?
Несмотря на скромные требования к ресурсам, выделение отдельного сервера под Mosquitto — разумное архитектурное решение. Вот почему:
- Изолированность: MQTT-брокер становится центральным узлом вашей IoT-инфраструктуры. Если он находится на одном сервере с веб-приложением, сбой в PHP или базе данных может нарушить работу всех датчиков и устройств.
- Безопасность: на выделенном сервере проще настроить строгие правила файрвола, TLS-шифрование и ограничить подключение только доверенным IP-адресам.
- Масштабируемость: при росте числа устройств вы сможете легко увеличить ресурсы именно под брокер, не трогая остальную инфраструктуру.
- Упрощённый мониторинг и резервное копирование: отдельный хост упрощает настройку Prometheus + Grafana, Zabbix или других систем наблюдения, а также автоматическое резервное копирование только конфигураций Mosquitto.
Даже для домашнего проекта с 10–15 устройствами отдельный VPS за 250–400 руб/мес — это вложение в стабильность и будущее расширение.
Как проверить, что Mosquitto работает корректно?
Простейший способ протестировать брокер — использовать встроенные клиенты mosquitto_sub и mosquitto_pub.
Откройте два терминала на сервере.
В первом подпишитесь на тестовый топик:
mosquitto_sub -h localhost -t test
Эта команда ожидает входящие сообщения в топик test.
Во втором терминале опубликуйте сообщение:
mosquitto_pub -h localhost -t test -m "Проверка связи!"
Если вы увидели фразу «Проверка связи!» в первом терминале — поздравляем, Mosquitto работает!
Это базовый тест, но он подтверждает, что:
- брокер запущен,
- слушает локальные соединения,
- обрабатывает публикации и подписки.
Как подключиться к Mosquitto из внешней сети?
По умолчанию Mosquitto привязан только к localhost, поэтому внешние устройства не могут подключиться. Чтобы это исправить, нужно отредактировать конфигурационный файл.
Откройте файл конфигурации:
sudo nano /etc/mosquitto/mosquitto.conf
Добавьте в конец следующие строки:
listener 1883 allow_anonymous true
Разберём параметры:
listener 1883— указывает Mosquitto слушать порт 1883 на всех интерфейсах (включая внешний IP).allow_anonymous true— разрешает подключение без аутентификации (только для тестов!).
Сохраните файл и перезапустите службу:
sudo systemctl restart mosquitto
Теперь вы можете подключаться к брокеру с любого устройства в сети, используя публичный IP-адрес сервера и порт 1883.
Важно! Для продакшена никогда не оставляйте
allow_anonymous true. Вместо этого настройте аутентификацию через логин/пароль и включите TLS. Мы расскажем об этом в будущих гайдах.
Графические клиенты: удобные инструменты для работы с Mosquitto
Работать с MQTT через командную строку — эффективно, но неудобно в крупных проектах. Графические клиенты значительно ускоряют разработку, отладку и мониторинг.
MQTT Explorer
Бесплатное приложение с интуитивным интерфейсом. Оно автоматически строит древовидную карту всех топиков, показывает последнее сообщение в каждом и позволяет:
- подписываться и публиковать сообщения в один клик,
- просматривать историю сообщений,
- фильтровать топики по шаблону.
Идеально подходит для визуализации структуры IoT-системы.
MQTTX
Кроссплатформенный клиент (Windows, macOS, Linux) с поддержкой нескольких подключений. Позволяет:
- хранить настройки подключений (продакшн, тест, dev),
- настраивать QoS, retain-флаги, TLS,
- автоматически переподключаться при обрыве связи.
Отличный выбор для разработчиков, работающих с разными средами.
Node-RED
Это не просто клиент, а графическая среда для проектирования IoT-логики. Через визуальные блоки вы можете:
- принимать сообщения из Mosquitto,
- обрабатывать их (например, фильтровать или логировать),
- отправлять команды обратно на устройства,
- интегрировать с HTTP-сервисами, базами данных, Telegram-ботами и т.д.
Node-RED часто используется для создания умных сценариев автоматизации «под ключ».
Все эти инструменты бесплатно доступны на официальных сайтах. Для подключения укажите:
- Host: IP-адрес вашего сервера,
- Port: 1883,
- Username/Password: оставьте пустыми (если включён
allow_anonymous).
Заключение: Mosquitto — надёжная основа для любого IoT-проекта
Установка и базовая настройка Mosquitto на Ubuntu 24.04 занимает менее 10 минут, но открывает дверь в мир умных, взаимосвязанных систем. Благодаря своей лёгкости, кроссплатформенности и поддержке промышленных стандартов, Mosquitto стал де-факто стандартом для MQTT-коммуникаций.
Независимо от масштаба — будь то умный дом, агротехнический комплекс или промышленная телеметрия — вы получаете:
- минимальное потребление ресурсов,
- высокую отказоустойчивость,
- простоту интеграции с любыми устройствами,
- возможность масштабирования «по мере роста».
Теперь, когда вы знаете, как установить Mosquitto на Ubuntu 24.04, настроить внешний доступ и подключить клиенты, можно смело приступать к созданию собственной IoT-экосистемы. А в будущих материалах мы расскажем, как защитить Mosquitto с помощью TLS и аутентификации, настроить кластеризацию и интеграцию с облачными платформами.
Удачного кодинга — и пусть ваши устройства всегда остаются на связи!

