Mosquitto配置不接受包含IP地址的侦听器

问题描述 投票:1回答:1

我让Mosquitto在本地服务器上运行,我的目标是拥有3个侦听器:

  1. 所有所有本地网络客户端都在端口1883上不使用TLS进行连接(端口1883被路由器关闭,对公众开放)
  2. 外部客户端使用端口8883上的TLS连接
  3. 要在端口8880上不使用TLS进行连接的外部客户端

使用此配置的效果很好;

# Local MQTT
listener 1883
# End Local MQTT

# Insecure MQTT
listener 8880
# End Insecure MQTT

# Secure MQTT
listener 8883
## This is standard and should always be this
cafile   /etc/ssl/certs/DST_Root_CA_X3.pem
## These are from your installation of LE
certfile /home/pi/.node-red/certs/fullchain.pem
keyfile  /home/pi/.node-red/certs/privkey.pem
## Force all clients in this listener to provide a valid certificate, change th$
require_certificate true
## Stop all unauthorised connections
allow_anonymous false
## Use password file
password_file /etc/mosquitto/passwordfile

并且这将导致蚊帐记录健康;

1575720819: Opening ipv4 listen socket on port 1883.
1575720819: Opening ipv6 listen socket on port 1883.
1575720819: Opening ipv4 listen socket on port 8883.
1575720819: Opening ipv6 listen socket on port 8883.
1575720819: Opening ipv4 listen socket on port 8880.
1575720819: Opening ipv6 listen socket on port 8880.
1575720820: New connection from 140.238.70.128 on port 8880.
1575719390: New client connected from 140.238.70.128 as telegraf (c1, k60, u'raspPi').

BUT ...我想确保只有140.238.70.128上的客户端能够在端口8880上连接(TLS不是选项),所以我将IP地址添加到了配置中;

# Insecure MQTT
listener 8880 140.238.70.128
# End Insecure MQTT

但是这会使蚊子停下来,并且显示日志;

1575720699: Opening ipv4 listen socket on port 1883.
1575720699: Opening ipv6 listen socket on port 1883.
1575720699: Opening ipv4 listen socket on port 8883.
1575720699: Opening ipv6 listen socket on port 8883.
1575720699: Opening ipv4 listen socket on port 8880.
1575720699: Error: Cannot assign requested address

我将对为什么这种方法无效的任何建议或替代解决方案表示感谢。

编辑。我还尝试将侦听器限制为ipv4,但结果完全相同;

# Insecure MQTT
listener 8880 140.238.70.128
socket_domain ipv4
# End Insecure MQTT
mqtt mosquitto
1个回答
0
投票
listen指令只能采用本地代理运行的计算机的地址。这用于将套接字绑定到所需端口上的该地址。

您不能将其用作远程计算机的筛选器,实际上无法配置端口以仅接受来自mosquitto

**]中特定IP地址的连接(或我知道的任何其他代理)的)。

© www.soinside.com 2019 - 2024. All rights reserved.