ESP, IoT Проблема с MQTT брокером

Alex20280

✩✩✩✩✩✩✩
20 Окт 2021
4
1
Здравствуйте!

Столкнулся с проблемой работы с mqtt протоколом. У меня не получается подключиться к mqtt брокеру, в логах пишет MqttException (см. скриншот 1, 2). Хотя год назад все работало нормально...

Брокер установлен на мини пк, который подключен к роутеру по Wifi. Мини пк пингуеться и я могу зайти на него с TeamViewer.
На личном ноуте скачал и установил Mosquitto Mqtt, ввел логин, пароль, ip брокера и порт 1883 (см. скриншот 3). Но Mosquitto Mqtt не соединяеться с брокером.

Проверял логин и пароль, пробовал рестартонуть, переустановить брокер. Пробовал другие порта 443, 8883, 80. Результата нет.

В Firewall (на мини пк и своем ноуте) прописал правила для порта 1883 (см. скриншот 4-7).

На роутере также прописал порты (см. скриншот 8).

Командой netstat-an проверял 1883 порт, он вроде бы как работает (см. скриншот 9). Сам брокер также виден в процессах task manager.

Но telnet на мини пк не смог достучаться к порту 1883 (см. скриншот 10).

Не знаю что еще можно попробовать и как это решить. Подскажите плиз.
 

Вложения

  • 14.9 KB Просмотры: 65
  • 29.7 KB Просмотры: 49
  • 38.1 KB Просмотры: 47
  • 31.9 KB Просмотры: 41
  • 70.3 KB Просмотры: 42
  • 59.3 KB Просмотры: 59
  • 258.2 KB Просмотры: 59
  • 76.9 KB Просмотры: 48
  • 71.1 KB Просмотры: 39
  • 6.4 KB Просмотры: 37

Геннадий П

★★★★★★✩
14 Апр 2021
1,834
589
44
1) Для проверки, чтобы исключить проблему фаерволов - временно отключай их.
2) Проброс одного и того же порта на два разных IP-адреса не работает. По UDP возможно и работает, но для TCP точно нет. Странно что роутер позволил такое сделать, видать нет проверки. Да и смысл пробрасывать порт, если соединяешься по локальной сети. Проброс портов нужен если хочешь соединиться из внешнего интернета.
1634739330968.png
 
Изменено:

Геннадий П

★★★★★★✩
14 Апр 2021
1,834
589
44
Да, только заметил. У тебя на сервере порт открыт только для локалхоста, т.е. доступ к нему только с самого сервера, в сетку он не смотрит, поэтому и не подключается.
Тебе нужно настроить MQTT-сервер чтобы от смотрел в сетку. Как это сделать - кури документацию.

Во внешку не советую его пробрасывать на роутере, это черевато. Максимум разрешить только для известных IP-адресов. Ну и port triggering или port knocking если роутер умеет.

1634760295409.png
 

Alex20280

✩✩✩✩✩✩✩
20 Окт 2021
4
1
@Геннадий П,Вот на StackOverflow нашел то же, о чем вы говорите:
То есть, нужно чтобы брокер слушал определенные ip. В документации я вычетал что нужно настроить listener. Вписую его в config файл, но после этого брокер совсем отказываеться запускаться. Может я пишу что-то не так или не там?
Screenshot_30.png
Screenshot_4.png
 
  • Лойс +1
Реакции: SUser

Геннадий П

★★★★★★✩
14 Апр 2021
1,834
589
44
listener 1883 192.168.1.151
У тебя же MQTT сервер на машине с IP 192.168.1.151

То есть, нужно чтобы брокер слушал определенные ip.
Не "определенные ip", а работал на интерфейсах с определенным ip.
127.0.0.1 - интерфейс только для соединения на той же машине
192.168.1.151 - интерфейс локальной сети. Указывать нужно именно адрес, который присвоен, а не адрес подключаемых клиентов.
Можно попробовать указать 0.0.0.0 - обычно так указывают чтобы работал на всех доступных интерфейсах.
 
Изменено:
  • Лойс +1
Реакции: dimoschka и SUser

Maxim_01

✩✩✩✩✩✩✩
17 Май 2021
49
7
Нижний Новгород
Добрый день!
А установив mosquitto на ПК под управлением win10 можно к нему обращаться не из локальной сети, а из интернета?
Чет я уже 3-й день ломаю голову над этим. Поделитесь опытом, пожалуйста!