MQTT — один из самых удобных протоколов для обмена данными между устройствами. Он отлично подходит для работы с «умными» системами, промышленной автоматизацией и телеметрией. В этом гайде показано, как развернуть Mosquitto на Ubuntu 24.04 и подключить реальных клиентов.
Всё больше устройств требуют постоянной синхронизации — от термостатов и видеокамер до промышленных датчиков. Чтобы они быстро и стабильно обменивались данными, в умных домах и производственных системах всё чаще используют протокол MQTT. На его основе работает Mosquitto — лёгкий, производительный брокер, идеально подходящий для развёртывания на VPS.
Обсудим, как правильно установить Mosquitto на сервер под управлением Ubuntu 24.04, настроить подключение к брокеру и проверить его работу в реальных условиях.
Что такое MQTT и как Mosquitto применяется в реальных проектах

Mosquitto — это компактный, высокопроизводительный брокер MQTT с открытым исходным кодом. Он поддерживает всё, что нужно для реальной эксплуатации: шифрование соединений через TLS, аутентификацию пользователей, управление доступом к топикам. MQTT минимизирует сетевой трафик, экономит заряд батарей на устройствах и надёжен даже при перебоях в сети. Все сообщения пересылаются через центрального посредника, брокера.
Протокол MQTT (Message Queuing Telemetry Transport) появился в конце 90-х годов специально для передачи небольших объёмов данных в условиях нестабильной связи. Первоначально он использовался в нефтяной промышленности для мониторинга трубопроводов — там, где каналы связи ограничены, а задержки могут стоить дорого. С тех пор MQTT стал стандартом и применяется повсюду, от умных чайников до сложных систем промышленной автоматизации.
На практике Mosquitto активно используется в России и по всему миру в самых разных отраслях. В системах умного дома он связывает между собой датчики движения, освещения, климат-контроля и позволяет управлять всем хозяйством через мобильные приложения. На складах крупных логистических компаний, таких как «СДЭК» и Boxberry, брокеры на базе Mosquitto собирают данные с RFID-сканеров и датчиков температурного контроля, чтобы в реальном времени отслеживать условия хранения посылок.
В промышленности Mosquitto применяют для телеметрии на удалённых объектах. «Газпром» и «Роснефть» используют аналогичные системы для передачи показаний с буровых платформ, где подключение нестабильное и дорог каждый байт данных. Mosquitto идеально справляется с задачами доставки статусов оборудования, уровней давления или температуры.
Брокер востребован в агротехе. На фермах Краснодарского края через Mosquitto передаются данные о влажности почвы, температуре воздуха и уровне освещения в теплицах. Эти данные позволяют в автоматическом режиме управлять поливом и вентиляцией, экономя воду и электроэнергию.
Даже в городской инфраструктуре, например, в системах умных остановок в Москве и Казани, Mosquitto помогает передавать информацию о расписании транспорта и погодных условиях в реальном времени.
Секрет популярности Mosquitto прост: он не требует тяжёлого железа, работает даже на бюджетных VPS за 200–300 рублей в месяц и легко масштабируется. При грамотной настройке брокер может обрабатывать тысячи подключений одновременно.
Подготовка сервера перед установкой
Перед установкой стоит убедиться, что система актуальна. Это поможет избежать проблем с зависимостями:
sudo apt update
Убедившись, что всё готово, установите брокер Mosquitto и клиентские утилиты.
- mosquitto — MQTT-брокер;
- mosquitto-clients — набор утилит для тестирования и взаимодействия с брокером.
Код для установки:
sudo apt install mosquitto mosquitto-clients
Mosquitto будет установлен как системная служба. Проверить её статус можно командой:
systemctl status mosquitto
Если в ответе видите статус active (running) — установка прошла успешно.

Если нет — запустите брокер вручную:
sudo systemctl start mosquitto
И добавьте его в автозагрузку:
sudo systemctl enable mosquitto
По умолчанию Mosquitto слушает порт 1883. Чтобы устройства могли связаться с вашим брокером, нужно разрешить доступ к этому порту через файрвол:
sudo ufw allow 1883/tcp
Особенно важно не забыть об этом на серверах, где по умолчанию включён строгий брандмауэр, как это часто бывает в российских дата-центрах.
Почему стоит использовать отдельный сервер для Mosquitto
Хотя Mosquitto очень лёгкий и нетребовательный к ресурсам, устанавливать его на выделенный сервер — решение, которое оправдывает себя даже в небольших проектах. Важно понимать: MQTT-брокер — это не просто программа, а центральный узел всей инфраструктуры обмена данными.
Если размещать Mosquitto вместе с веб-сервером или базой данных на одной машине, при всплеске нагрузки на сайт или при падении веб-приложения есть риск парализовать и брокер. А потеря доступа к брокеру — это, по сути, остановка всей системы обмена сообщениями между устройствами.
Отдельный сервер позволяет чётко разделить роли: один отвечает за доставку сообщений, другой за хранение данных или обработку фронтенда. Такой подход упрощает масштабирование. Если проект начинает расти, например, к сети добавляются сотни датчиков или мобильных клиентов, вам не придётся перетаскивать всю инфраструктуру: будет достаточно нарастить мощности только под Mosquitto.
На выделенном сервере вы можете настроить отдельные политики брандмауэра, шифрование трафика через TLS, ограничить доступ к порту 1883 только нужным IP-адресам. Это особенно важно для промышленных систем или коммерческих IoT-платформ, где защита данных клиентов стоит на первом месте.
Практика показывает: даже небольшие проекты вроде умного дома на 10–15 устройств выигрывают от выделенного брокера. Это помогает избежать нестабильности работы, когда например, обновление сайта неожиданно приводит к обрыву связи с датчиками освещения или отопления.
При выделении Mosquitto на отдельный сервер гораздо проще настраивать резервное копирование, обновления и мониторинг состояния брокера без риска затронуть другие важные сервисы.
Компания AdminVPS предлагает аренду выделенного сервера в России с полным комплексом услуг по системе «Всё включено».
Проверка работоспособности брокера
Чтобы убедиться, что Mosquitto готов принимать сообщения, стоит провести простой тест.
В первом терминале подпишитесь на тестовый топик:
mosquitto_sub -h localhost -t test
Где:
- mosquitto_sub — клиент MQTT, который подписывается на топик;
- -h localhost — подключение к MQTT-брокеру на текущем компьютере;
- -t test — указание на тестовый MQTT-топик test.
Откроется режим ожидания сообщений. Во втором терминале отправьте сообщение:
mosquitto_pub -h localhost -t test -m "Проверка связи!"
Если всё настроено правильно, сообщение появится в первом окне.
Подключение к Mosquitto из внешней сети
Чтобы брокер принимал подключения с других устройств, нужно разрешить внешний доступ. Откройте файл конфигурации:
sudo nano /etc/mosquitto/mosquitto.conf
Добавьте строки:
listener 1883
allow_anonymous true
Где:
- listener 1883 — брокер Mosquitto слушает порт 1883;
- allow_anonymous true — команда разрешает подключение без входа в систему.
Сохраните изменения и перезапустите службу:
sudo systemctl restart mosquitto
Теперь к брокеру смогут подключаться внешние клиенты. Важно помнить, что для рабочих систем рекомендуется отключить анонимный доступ и настроить аутентификацию.
Графические клиенты для работы с Mosquitto
Несмотря на то, что командная строка — удобный способ для управления MQTT-соединениями, не всем хочется каждый раз прописывать длинные команды. Особенно это становится заметно в крупных проектах, где количество топиков и сообщений идёт на сотни или даже тысячи. Для таких случаев отлично подходят графические клиенты для работы с Mosquitto.
Один из самых популярных и удобных — MQTT Explorer. Это бесплатное приложение, которое визуализирует всю структуру брокера: топики, сообщения, активные подписки и публикации. Программа автоматически строит древовидную карту всех подключений, позволяет в два клика отправлять сообщения, подписываться на новые топики и отслеживать потоки данных в реальном времени.
Особенно полезна функция истории сообщений — можно быстро увидеть, какие данные приходили на тот или иной топик без необходимости перехватывать их вручную.
Не менее удобен и MQTTX — кроссплатформенный клиент с простым и понятным интерфейсом. Он позволяет работать сразу с несколькими подключениями, что удобно, если у вас несколько брокеров или разные среды, например, тестовая и продакшн. MQTTX поддерживает сохранение сессий, автоматическое переподключение при обрывах связи и ручную настройку параметров подключения, таких как QoS (качество обслуживания сообщений).
Установка таких клиентов занимает всего несколько минут. Например, MQTTX можно скачать с официального сайта, быстро установить на Windows, macOS или Linux, создать новое подключение, указать IP-адрес вашего VPS, порт (обычно 1883) и сразу приступить к работе. Поскольку в тестовой конфигурации Mosquitto разрешены анонимные подключения, логин и пароль заполнять не нужно, достаточно нажать кнопку Connect.
В реальных проектах такие инструменты значительно ускоряют отладку. Например, если вы разворачиваете систему мониторинга на десятках устройств в бизнес-центре или теплице, через графический интерфейс вы сможете за пару минут увидеть, какие устройства корректно отправляют данные, а где возникли проблемы. Без необходимости вручную перебирать каждую команду подписки и публикации.
Кроме MQTT Explorer и MQTTX стоит обратить внимание на решения вроде Node-RED — графической среды для визуального программирования IoT-потоков. Через Node-RED можно строить сложные сценарии обмена данными между устройствами и сервером Mosquitto, что удобно при интеграции с домашними автоматизациями или промышленными платформами.
Использование графических клиентов значительно упрощает жизнь как начинающим разработчикам, так и опытным инженерам, сокращая время на тестирование, диагностику и настройку систем на базе Mosquitto.
Заключение
Развёртывание Mosquitto на Ubuntu 24.04 — это надёжная основа для любого проекта, где важна быстрая и стабильная передача данных между устройствами. Брокер одинаково хорошо справляется как с домашними IoT-сетями, так и с промышленными решениями.
Настроив Mosquitto однажды, вы сможете строить на его базе целые системы умных домов, автоматизировать производство или наладить мониторинг удалённых объектов, используя минимальные ресурсы.
Читайте в блоге:
- Как назначить статический IP-адрес в Ubuntu 22.04
- Как включить и настроить брандмауэр UFW в Ubuntu 22.04
- Установка и настройка Apache на Ubuntu 22.04 LTS и Debian 12