Добавим репозиторий, обновим зависимости и установим сервер MQTT
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt install mosquitto
Установим клиент
sudo apt-get install mosquitto-clients
Проверяем запущена ли служба mqtt брокера
sudo service mosquitto status
mosquitto start/running, process 16614
На этом этапе нам доступен запущенный сервер mqtt с гостевым доступом. Проверить можно с помощью плагина для браузера MQTTlens или MQTTDashboard для андроид например.
Установка пароля
По желанию для безопасности можем сделать доступ по логину/паролю. Команда ниже создаст файл mosquitto.pwd в каталоге /etc/mosquitto/ и сгенерирует в нем пароль для пользователя leo
sudo mosquitto_passwd -c /etc/mosquitto/mosquitto.pwd leo
Далее, два раза вводим новый пароль
Редактируем конфиг
sudo nano /etc/mosquitto/mosquitto.conf
Добавляем в конец файла, чем говорим MQTT где искать наш файл с паролями
allow_anonymous false
password_file /etc/mosquitto/mosquitto.pwd
Перезагружаем службу
sudo service mosquitto restart
Пробрасываем MQTT в мир (настройка роутера)
По умолчанию, сервис слушает 1883 порт. Чтобы получить доступ из мира к серверу, добавим правила в роутере
config rule
option name 'Allow Mosquitto'
option src 'wan'
option proto 'tcp'
option dest 'lan'
option dest_ip '192.168.1.13'
option dest_port '1883'
option enabled '0'
option target 'ACCEPT'
config redirect
option name 'Mosquitto'
option target 'DNAT'
option src 'wan'
option dest 'lan'
option proto 'tcp'
option src_dport '1883'
option dest_ip '192.168.1.13'
option dest_port '1883'