Установка Mosquitto на VPS

Содержание:

  1. Зачем нужен MQTT?
  2. Принцип работы MQTT
  3. Как установить MQTT?
  4. Как защитить брокера MQTT?

Рейтинг VPS с NVMe дисками, смотрите на нашем сайте.

В данной статье рассмотрим, как установить брокер Mosquitto чтобы протокол MQTT работал на сервере с операционной системой Ubuntu.

Для чего нужен MQTT?

MQTT — легкий и открытый протокол для обмена данными, созданный для передачи данных на удаленные расстояние, где передается небольшой размер информации и есть ограничение по пропускной способности канала.

Пример использования данного протокола: допустим у Вас есть датчик, который измеряет температура воздуха в комнате, и Вам требуется проверять эту температуру на своем сервере — для этой цели идеально подойдет протокол MQTT.

Принцип работы Mosquitto

Как работает MQTT?

В MQTT есть понятие клиенты и брокер. Брокер или сервер — это главный объект, который получает и передает данные дальше. Клиенты — это все остальные участники, например датчик, который считывает температуру и сервер, на котором смотрят температуру будут клиентами.

Клиент будет отправлять данные, о температуре, брокер MQTT будет их принимать и передавать клиенту серверу, который будет их получать.

Установка MQTT:

Для начала подключимся к серверу по SSH и выполним команду по добавлению репозитория Mosquitto:

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

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

добавлению репозитория Mosquitto

Для обновления всех пакетов при помощи добавленного репозитория используем команду:

sudo apt-get update

Вы обнаружите похожий вывод команды:

обновление пакетов Mosquitto

Теперь для установки Mosquitto вводим команду:

sudo apt-get install mosquitto

Далее для установки пакетов клиента Mosquitto выполним следующую команду:

sudo apt-get install mosquitto-clients

Выполним следующую команду, чтобы проверить состояние службы Mosquitto:

sudo service mosquitto status

Самые первые строки в выводе должны показывать статус службы. Active (running) означает, что Mosquitto активен и запущен для работы.

статус службы Mosquitto

Также можно выполнить команду, чтобы проверить ожидает ли сервер Mosquitto по порту 1883, который установлен по умолчанию.

netstat -an | grep 1883

Данный вывод показывает, что сервер Mosquitto открыт сокеты ожидания IPv4 и IPv6 для порта 1883:

сервер Mosquitto открыт

Защита брокера MQTT

Пока что любой, кто знает IP-адрес брокера может использовать его для передачи данных по MQTT.

Вводим следующую команду (вместо USERNAME указываем логин, который будет использовать при авторизации):

sudo mosquitto_passwd-c/etc/mosquitto/passwd USERNAME

После выполнения команды, система запросит пароль. Вводим пароль и запоминаем его, он потребуется для авторизации.

Открываем файл default.conf для редактирования.

sudo nano /etc/mosquitto/conf.d/default.conf

Добавляем в начало файла следующие 2 строки (они отвечают за требование авторизации по логину и паролю):

allow_anonymous false
password_file /etc/mosquitto/passwd

Файл будет выглядеть так:

файл default.conf

Сохраняем и закрываем данный файл и перезапускаем брокера командой:

sudo service mosquitto restart

Теперь при попытке подписаться на топик брокера мы получим сообщение «Connection error: Connection refused: not authorised».

Попробуем подписаться на топик брокера с использованием аргументов –u и –P (-u указываем наш логин и -p указываем наш пароль):

mosquitto_sub -h localhost -t test -u "USERNAME" -P "PASSWORD"

После выполнения данной команды подключение проходит успешно.

Комментарии ()

    Последние отзывыpic


    aeza.net

    shalkersti, 22 октября 2024 оценил

    Пользуюсь вашим сервисом уже некоторое время, и могу сказать, что в целом все очень даже неплохо! Предустановленное ПО вроде Torrs...


    Smartape.ru

    Вадислав, 21 октября 2024 оценил

    Арендую сервера у хостинга Смартэйп и за их безопасность ни сколько не беспокоюсь поскольку у хоста имеется бесплатный сертификат ...


    aeza.net

    Fajo, 21 октября 2024 оценил

    Я использую хостинг AEZA для своего блога, и у меня только положительные впечатления. С самого начала меня поразила скорость работ...


    Firstbyte

    Макар, 20 октября 2024 оценил

    По совету коллеги выбрал Firstbyte для создания сайта и частной VPN. Хостинг оказался очень понятным и простым в использовании. Уж...


    geo.hosting

    Игорь, 20 октября 2024 оценил

    Я мигрировал свой сайт на Geo Hosting, и этот процесс прошел очень гладко. Команда провайдера помогла мне на каждом этапе, и тепер...


    новые Статьи

    Установка ShadowSocks на VPS Ubuntu
    Восстановление пароля root для VPS
    Как установить AmneziaVPN на VPS
    Настройка Wireguard VPN на роутере Keenetic
    Как настроить OpenVPN на роутере Keenetic Lite?