黑名单
EMQX 为用户提供了黑名单功能来禁止某些客户端的访问,除了可以封禁客户端 ID 以外,还支持直接封禁用户名甚至 IP 地址。
封禁还可以通过规则来实现,这些规则包括:
使用正则表达式匹配客户端 ID 和用户名。
TIP
通过使用正则表达式进行封禁不会对已连接的客户端生效。
使用 CIDR 范围匹配源 IP 地址。
TIP
请注意,如果匹配规则的数量很大,可能会对性能产生负面影响。这是因为系统需要检查每个尝试连接的客户端是否符合所有规则,与直接封禁相比,这一过程更为复杂。
本页主要介绍了如何在 EMQX Dashboard 中管理黑名单,然而您也可以通过以下 REST API 使用黑名单功能:
API | 功能 |
---|---|
DEL /banned | 清除所有封禁数据。 |
GET /banned | 列出当前所有被封禁的客户端 ID、用户名和 IP 地址。 |
POST /banned | 将客户端添加到封禁黑名单,可以使用客户端 ID、用户名或 IP 地址。 |
DEL /banned/ {as} /{who} | 将客户端从禁封黑名单中移除。 |
TIP
黑名单只适用于少量客户端封禁需求,如果有大量客户端需要认证管理,请使用认证功能。
创建黑名单
在 EMQX Dashboard 页面,点击左侧导航栏的访问控制 -> 黑名单,在随即打开的页面,单击创建。
在弹出的创建页面,按照页面提示配置:
- 禁用对象:通过下拉列表选择封禁客户端的方式,可以指定客户端 ID、用户名、IP 地址、客户端 ID 模式、用户名模式或 IP 地址范围,然后提供相应的值。
- 到期时间(可选):设置该规则的到期时间。
- 原因(可选):说明为该对象设置黑名单的原因。
点击创建完成配置。
移除黑名单
您可以通过点击操作列中的删除按钮来移除单个被封禁客户端记录。如果您希望一次性清除页面上的所有记录,请点击清除全部按钮。