将 mosquitto MQTT 发布者限制为仅一个 IP 地址

发布于 2025-01-12 22:14:05 字数 133 浏览 1 评论 0原文

我不确定这是否可以从conf 文件中实现,但应该可以。我不关心订阅者来自哪个网络......即订阅者连接到哪个 IP 地址/网络适配器,但我只希望 127.0.0.1 或其他网络适配器(如 openVPN 虚拟适配器)能够发布消息。 用蚊子可以实现吗?

I'm not sure if this is possible from the conf file but it should be. I don't care what network subscribers come from... .i.e what ip address/network adapter the subscribers connect to but I only want 127.0.0.1 or another network adapter (like an openVPN virtual adapter) to be able to publish messages.
Is that achievable with mosquitto?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清眉祭 2025-01-19 22:14:05

不容易。通常,您可以通过用户名来识别可以发布然后拒绝向匿名用户发布的用户。

您可以通过使用 per_listener_settings 设置将不同的 ACL 文件附加到每个监听器并为 lo 接口指定一个特定的监听器,从而有效地实现您想要的目的。

这样做的问题是你需要为每个接口都有监听器,并且我不确定它对于启动时可能不存在的接口(例如 VPN 适配器)会如何表现

per_listener_settings true

listener 1883 127.0.0.1
acl_file /path/acl_allow_publish

listener 1883 192.168.0.1
acl_file /path/acl_allow_only_subscribe

Not easily. This is normally something you would do via usernames to identify a user that can publish and then deny publishing to anonymous users.

You may be able to effectively achieve what you want by using the per_listener_settings setting to attach different ACL files to each listener and have a specific listener for the lo interface.

The problem with this is you would need to have listeners for every interface and I'm not sure how it would behave with interfaces that may not be present at startup (e.g. a vpn adapter)

per_listener_settings true

listener 1883 127.0.0.1
acl_file /path/acl_allow_publish

listener 1883 192.168.0.1
acl_file /path/acl_allow_only_subscribe
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文