Skip to content

黑名单

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

黑名单只适用于少量客户端封禁需求,如果有大量客户端需要认证管理,请使用认证功能。

创建黑名单

  1. 在 EMQX Dashboard 页面,点击左侧导航栏的访问控制 -> 黑名单,在随即打开的页面,单击创建

  2. 在弹出的创建页面,按照页面提示配置:

    • 禁用对象:通过下拉列表选择封禁客户端的方式,可以指定客户端 ID用户名IP 地址客户端 ID 模式用户名模式IP 地址范围,然后提供相应的值。
    • 到期时间(可选):设置该规则的到期时间。
    • 原因(可选):说明为该对象设置黑名单的原因。
  3. 点击创建完成配置。

image-20230426171131870

移除黑名单

您可以通过点击操作列中的删除按钮来移除单个被封禁客户端记录。如果您希望一次性清除页面上的所有记录,请点击清除全部按钮。