关于安装
- 具体安装就不说了,网上搜索一大把(注意一点:如果mosquitto 要使用libcares,则要在config.mk中,修改如下,否则加载auth-plug.so 会报错)
ifeq ($(WITH_SRV),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_SRV
BROKER_LIBS:=$(BROKER_LIBS) -lcares
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_SRV
LIB_LIBS:=$(LIB_LIBS) -lcares
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_SRV
endif
配置mosquitto-autho-plug
- 在mysql 要先创建数据库,然后使用mysql.sql 创建表。
- 然后创建数据库的用户名以及密码,还有权限。
- 然后要创建mqtt 用户和密码,密码可以用mosquitto-auth-plug 里面的np 创建,实际上是用PKCS5_PBKDF2_HMAC,算法采用sha256. 然后对结果进行base64编码转成字符串。如果将来要做后台管理界面,就后台自己计算。
关于MQTT TLS
- 由于MQTT协议简单,因此只采用TCP 明文传输,很容易被利用,因此采用TLS 做一下下加密。
- 一般运营采用自签证书就OK.
- 建议自签证书采用带GUI的 工具比如xca (我用的0.9.3版本)。方便证书的管理。
- 自签证书时,只要注意:Common Name 这个字段,如果访问时用域名就用域名如果是IP就用IP.