Mosquitto 客户端未连接到 LAN ip

Mosquitto client not connecting with LAN ip

我被这个难住了。

我有一个 OpenSprinkler3.0 控制器,它将向 MQTT 代理报告。我有一台安装了 homeassistant 和 Mosquitto broker 的树莓派。我有一个单独的 RPiZero,安装了 Raspbian 和 Mosquitto 1.5.7。我有一个域 (mqtt.example.com) 指向我的路由器,端口 1883 转发到 RPiZero 上的 1883。

这是 RPiZero 配置

pid_file /var/run/mosquitto.pid

listener 1883

protocol mqtt
persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d

allow_anonymous true
password_file /etc/mosquitto/passwordfile

connection homeassistant
address mqtt.example.com:8883
bridge_cafile /etc/ssl/certs/ISRG_Root_X1.pem
#topic # out 0
#topic # in 0
topic # both 0
remote_username xxxxxx
remote_password xxxxxx

如果我为 RPiZero 使用 WAN 地址 (mqtt.example.com:1883),Open Sprinkler 会连接并向代理发送消息,没问题。

但是使用局域网IP地址(192.168.1.51:1883),还是不行。这是奇怪的事情。如果我输入 RPi4 代理 运行 homeassistant (192.168.1.50:1883) 的 LAN IP,它会连接到该代理并且工作正常。

我试过 Android 和 Windows MQTT 客户端,它们使用 WAN 和 LAN 地址连接到两个代理都很好。因此,无论出于何种原因,OpenSprinkler 都可以使用 MQTT 代理连接到一个 RPi,但不能连接到另一个。其他客户没有同样的问题。有什么想法吗?

谢谢, 赛斯

原来重启路由器解决了问题。其他一些设备运行异常导致我重新启动。 Google最近WIFI不是我最喜欢的产品...

谢谢!