Problem z połączeniem do własnego MQTT Broker z supla-docker

karnasw
Posts: 188
Joined: Fri Oct 02, 2020 10:22 am

Post

Cześć, od 26 lipca przestało mi działać połączenie do MQTT na malince. Jakiś czas temu odpuściłem połączenie przez zabezpieczone połączenie TLS i korzystałem z portu 1883. Dotąd nie było problemu, w międzyczasie puszczałem aktualizacje malinki. Suplę podniosłem do wersji 22.07 dopiero w sierpniu. Teraz mosquitto wyrzuca informację:

Code: Select all

1660126765: New connection from 172.24.0.4:33668 on port 1883.
1660126765: Client <unknown> disconnected, not authorised.
Nazwa użytkownika i hasło jest prawidłowe. MQTT Explorer i Home Assistant bez problemu łączy się z certyfikatami TLS jak i bez.

Ustawienia supla:

Code: Select all

MQTT_BROKER_ENABLED=true
MQTT_BROKER_HOST=192.168.162.10
MQTT_BROKER_PORT=1883
MQTT_BROKER_TLS=false
MQTT_BROKER_USERNAME=user
MQTT_BROKER_PASSWORD=pass
MQTT_BROKER_CLIENT_ID=supla
Ustawienia mosquitto:

Code: Select all

per_listener_settings true
listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwd

listener 8883
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
allow_anonymous false
password_file /etc/mosquitto/passwd

require_certificate false
#pid_file var/run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto
#log_dest file /var/log/mosquitto.log
include_dir /etc/mosquitto/conf.d
Po TLS prawdpodobnie supla nie chce się połączyć, ponieważ w ogóle nie rozpoznaje nazwy hosta (raspberrypi), a połączenie z certyfikatem tego wymaga. Da się jakoś te IP pod nazwą hosta mu przekazać?
User avatar
pzygmunt
Posts: 18356
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Sprawdź logi supla-server, może coś więcej tam będzie.

Odnośnie TLS....
Połączenie tls nie weryfikuje nazwy hosta. Tam będzie problem wersji jeśli chodzi o szyfrowanie.
karnasw
Posts: 188
Joined: Fri Oct 02, 2020 10:22 am

Post

Code: Select all

ERR[1660128851.874857] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128851.893224] MQTT_ERROR_SOCKET_ERROR
ERR[1660128856.822296] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128856.876119] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128856.895242] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128861.824969] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128861.879168] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128861.897632] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128866.826113] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128866.880455] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128866.898819] MQTT_ERROR_SOCKET_ERROR
ERR[1660128871.828800] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128871.883404] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128871.901269] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128876.831331] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128876.886577] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128876.903896] MQTT_ERROR_SOCKET_ERROR
ERR[1660128881.834059] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128881.889034] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128881.906073] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128886.835223] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128886.890307] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128886.907153] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128891.837947] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128891.892787] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128891.909348] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128896.839124] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128896.894022] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128896.910372] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128901.840465] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128901.895498] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128901.911554] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128906.842827] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128906.897707] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128906.913567] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128911.845534] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128911.900455] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128911.916019] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128916.846685] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128916.901648] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128916.917094] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128921.849515] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128921.904303] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128921.919556] MQTT_ERROR_SOCKET_ERROR
ERR[1660128926.850659] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128926.905523] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128926.920688] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128931.853729] MQTT_ERROR_SOCKET_ERROR
ERR[1660128931.907143] MQTT_ERROR_CONNECTION_REFUSED
ERR[1660128931.929889] MQTT_ERROR_SOCKET_ERROR
User avatar
pzygmunt
Posts: 18356
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Mosquitto odrzuca to połączenie
karnasw
Posts: 188
Joined: Fri Oct 02, 2020 10:22 am

Post

Pewnie wpadła nowsza wersja mosquitto i coś już mu nie pasuje.
User avatar
pzygmunt
Posts: 18356
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

supla-server działa poprawnie z najnowszą wersją mosquitto v2.0.14.
User avatar
Goral64
Posts: 3135
Joined: Fri Dec 27, 2019 6:22 pm
Location: Żerniki Wrocławskie

Post

pzygmunt wrote: Wed Aug 10, 2022 11:28 am supla-server działa poprawnie z najnowszą wersją mosquitto v2.0.14.
Tylko tu jest mała różnica w konfigu ze starszymi wersjami mosquitto, trzaby doczytać.
Widzimy się na Supla Offline Party Season 2 :D

Image
karnasw
Posts: 188
Joined: Fri Oct 02, 2020 10:22 am

Post

Wersja na malince to 2.0.11. Ten konfig, który mam działał mi spokojnie prawie rok. Zainstalowałem jeszcze na nowo suplę. Przywróciłem bazę. Niestety wciąż taki sam problem.

MQTT Explorer na wszystkie możliwe sposoby się łączy, bez TLS z TLS, bez hasła z hasłem. Home Assistant też nie ma problemu. Nie mam niestety pomysłu.
User avatar
pzygmunt
Posts: 18356
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Połącz się do kontenera Supla-server i sprawdź czy możesz się telnetnąć na host:port gdzie jest mosquitto.
Przy okazji sprawdź czy ustawienia w /etc/supla-server się zgadzają.
karnasw
Posts: 188
Joined: Fri Oct 02, 2020 10:22 am

Post

Bingo, moje hasło do brokera zawiera znak $ i od tego momentu włącznie ucina je. Jeżeli hasło to np. wwws$88 to w supla.cfg pojawia się tylko wwws.

Po usunięciu znaku dolara wszystko działa (bez SSL). Z SSL nie podziałam bo niestety nie można wskazać plików certyfikatu.

Return to “MQTT”