跳至主要内容

MikroTik RouterOS Captive Portal 与 Purple WiFi 集成指南

本技术指南提供了将 MikroTik RouterOS 与 Purple 的 WiFi 平台集成的分步说明。内容涵盖访客 WiFi Captive Portal 配置、员工 WiFi 802.1X 身份验证,以及使用私有 PSK 进行动态 VLAN 细分的多租户 WiFi。

📖 4 分钟阅读📝 872 🔧 2 应用实例3 练习题📚 8 关键定义

收听本指南

查看播客转录
MikroTik RouterOS Captive Portal 与 Purple WiFi 集成指南 - 播客脚本 [引言 - 约 1 分钟] 欢迎收听。如果您正在管理酒店、零售连锁店、体育场或会议中心的 WiFi 基础设施,并且正在运行 MikroTik RouterOS,那么本期节目非常适合您。 我将带您详细了解如何将 MikroTik 的热点网关与 Purple 的访客 WiFi 平台集成——涵盖三个不同的使用场景:带有 Captive Portal 和围墙花园的访客 WiFi、使用 802.1X 的安全员工 WiFi,以及使用 MikroTik 私有预共享密钥(Private Pre-Shared Key)功能的多租户网络隔离。 这不仅仅是理论上的概述。在节目结束时,您将获得自己部署或审计这些配置所需的具体 CLI 命令、RADIUS 属性和配置逻辑。 让我们开始吧。 [技术深挖 - 约 5 分钟] 第一部分:访客 WiFi 和 MikroTik Captive Portal。 MikroTik 的热点网关是 RouterOS 上访客 WiFi 重定向的引擎。当访客连接到您的访客 SSID 时,热点网关会拦截其 HTTP 流量并将其重定向到欢迎页面——这就是您的 Captive Portal。Purple 托管该欢迎页面。您的 MikroTik 路由器充当热点网关和 RADIUS 客户端。Purple 的平台充当 RADIUS 服务器。 以下是设置方法。首先,在 Winbox 的 IP 菜单中或通过 CLI 运行 Hotspot Setup 向导。您需要将其分配给面向访客的接口——通常是 VLAN 接口或网桥端口。设置您的本地地址池,配置您的 DNS 服务器,并为热点指定一个 DNS 名称。该 DNS 名称就是访客在进行身份验证之前在浏览器中看到的名称。 向导完成后,您需要将热点配置文件指向 Purple 的 RADIUS 服务器。在 CLI 中,如下所示: /radius add service=hotspot address=YOUR-PURPLE-RADIUS-IP secret=YOUR-SHARED-SECRET authentication-port=1812 accounting-port=1813 然后在热点配置文件上启用 RADIUS: /ip hotspot profile set default use-radius=yes 当您在 Purple 控制面板中设置场所时,Purple 将为您提供 RADIUS IP 地址、共享密钥和欢迎页面 URL。 现在,关于围墙花园。这至关重要。在访客进行身份验证之前,其设备需要能够访问 Purple 的欢迎页面以及您使用的任何 OAuth 提供商——如 Google、Facebook 等。如果没有围墙花园条目,重定向循环就会中断,访客将无法登录。 在 RouterOS 中,您可以在 IP、Hotspot、Walled Garden 下添加围墙花园条目。您需要添加 Purple 的欢迎页面域名、任何社交登录域名以及提供登录页面资源的任何 CDN 主机。Purple 的文档列出了您所在地区的具体域名。将它们添加为 IP 条目或主机名条目——当 IP 地址发生变化时,主机名条目更具弹性。 Purple 在成功进行身份验证后返回的关键 RADIUS 属性包括会话超时(控制访客在再次收到提示之前保持连接的时间),以及可选的、使用 Mikrotik-Rate-Limit 厂商特定属性的带宽速率限制。这使您能够直接从 Purple 控制面板强制执行每个访客会话的公平使用策略,而无需更改路由器配置。 第二部分:使用 802.1X 的安全员工 WiFi。 在这里,您将完全摆脱共享密码。IEEE 802.1X 是基于端口的网络访问控制标准。在 MikroTik 无线接口上,您启用 WPA2-Enterprise 或 WPA3-Enterprise 身份验证,这意味着接入点成为认证器——它将员工设备的 EAP 凭据传递给 RADIUS 服务器,服务器对其进行验证并返回 Access-Accept 或 Access-Reject。 Purple 的员工 WiFi 产品与 Microsoft Entra ID、Okta 和 Google Workspace 作为身份提供商进行集成。当员工设备连接时,它会通过 PEAP-MSCHAPv2 提供证书或用户名和密码。Purple 的 RADIUS 服务器会实时向您的身份提供商验证该凭据。 在 MikroTik 侧,您将无线安全配置文件的 authentication-types 设置为 wpa2-eap,并将 RADIUS 客户端指向 Purple 的服务器,设置 service=wireless。在 CAPsMAN(MikroTik 的集中式接入点管理系统)中,您可以在安全配置级别进行此设置,以便一致地应用于所有受管理的接入点。 RADIUS 服务器可以返回 Mikrotik-Wireless-VLANID 属性,将通过身份验证的员工置于特定的 VLAN 上。这就是您强制执行网络细分的方式——财务员工进入 VLAN 10,运营员工进入 VLAN 20,依此类推——全部来自单个 SSID,全部由身份驱动。 对于自动撤销——当员工离职时——Purple 与您的身份提供商的集成意味着,当您在 Entra ID 或 Okta 中禁用该帐户时,下一次重新身份验证尝试将失败,设备将被断开连接。无需手动更改路由器配置。 第三部分:使用私有预共享密钥的多租户 WiFi。 这是这三种架构中最有趣的一种。私有 PSK(有时称为 PPSK 或 iPSK)允许您运行单个 SSID,其中每个租户、住户或设备组使用唯一的密码进行连接,并且每个密码都映射到不同的 VLAN。 在 MikroTik 上,这通过无线接口上基于 MAC 的 RADIUS 身份验证来工作。当设备连接时,接入点会将设备的 MAC 地址作为用户名发送到 RADIUS 服务器。RADIUS 服务器(RouterOS 7 中 MikroTik 自带的 User Manager 或 FreeRADIUS)会查找该 MAC 地址并返回两个厂商特定属性:Mikrotik-Wireless-Psk(每个设备的密码)和 Mikrotik-Wireless-VLANID(将设备置于正确的 VLAN 上)。 无线安全配置文件需要将 radius-mac-authentication 设置为 yes,并且 RADIUS 客户端需要设置 service=wireless。 在实践中,对于拥有 200 间公寓的长租公寓项目,您可以在住户入住时在 Purple 的平台中预先注册其设备的 MAC 地址。Purple 将每个 MAC 地址映射到唯一的 PSK 以及与该公寓网络段相对应的 VLAN。住户使用其公寓密码进行连接。他们的设备将进入一个隔离的 VLAN。他们邻居的设备则处于一个完全独立的 VLAN 中。双方都无法看到对方的流量。 对于不支持 802.1X 的设备——智能电视、游戏机、物联网设备——这种方法是实用的替代方案。设备只需要支持 WPA2-PSK,而这几乎是所有设备都支持的。 [实施建议与常见陷阱 - 约 2 分钟] 让我为您介绍在这些部署中最常出现问题的四个方面。 第一:围墙花园漏洞。如果 Purple 的欢迎页面无法加载,请检查您的围墙花园条目。最常见的罪魁祸首是缺少 CDN 域名或未将社交登录重定向列入白名单。使用 MikroTik torch 工具或数据包嗅探器来观察在身份验证之前有哪些 DNS 查询被阻止。 第二:RADIUS 超时时间不匹配。MikroTik 的默认 RADIUS 超时时间为 1100 毫秒。如果 Purple 的 RADIUS 服务器在地理位置上较远,或者网络路径存在延迟,您将看到间歇性的身份验证失败。将超时时间增加到 3000 毫秒,并配置备份 RADIUS 服务器以提高弹性。 第三:网桥上未启用 VLAN 过滤。通过 RADIUS 进行的动态 VLAN 分配仅在启用网桥 VLAN 过滤时才有效。这是 RouterOS 的要求。如果您看到所有客户端都进入默认 VLAN,而不管 RADIUS 返回什么,请检查您的网桥接口上是否设置了 vlan-filtering=yes。 第四:CAPsMAN 版本不匹配。如果您混合运行 CAPsMAN 版本 2 和版本 3 管理的接入点,VLAN 标记行为可能会有所不同。在部署动态 VLAN 功能之前,请在您的所有 AP 设备上统一使用带有 CAPsMAN 版本 3 的 RouterOS 7。 一个架构建议:从第一天起就在独立的 VLAN 上运行您的访客、员工和管理流量,即使您不会立即使用所有这三种 Purple 使用场景。在扁平网络上后期改造 VLAN 细分,其破坏性要比从一开始就构建它大得多。 [快速问答 - 约 1 分钟] 我可以使用 MikroTik 内置的 User Manager 代替外部 RADIUS 服务器吗? 是的,对于较小规模的部署可以。RouterOS 7 中的 User Manager 支持用于无线 802.1X 的 PEAP-MSCHAPv2,并可以返回 Mikrotik-Wireless-VLANID 属性。对于使用 Purple 的生产部署,您将使用 Purple 托管的 RADIUS 基础设施,它会为您处理身份提供商集成和会话管理。 Purple 支持 MikroTik CAPsMAN 吗? 是的。Purple 与硬件无关。该集成在 RADIUS 和热点重定向级别工作,因此它同样兼容独立的 MikroTik 接入点和由 CAPsMAN 管理的部署。 我需要什么版本的 RouterOS? 本指南中涵盖的所有三个使用场景均推荐使用 RouterOS 7.x。通过无线 RADIUS 进行的动态 VLAN 分配和更新后的 User Manager 都是 RouterOS 7 的功能。RouterOS 6.x 支持热点和基本的 RADIUS 身份验证,但缺乏某些无线 VLAN 功能。 [总结与后续步骤 - 约 1 分钟] 总结一下:MikroTik RouterOS 为您提供了与 Purple 的三个不同的集成点。热点网关处理访客 WiFi 重定向和 Captive Portal 身份验证。带有 RADIUS 的无线 802.1X 配置处理具有基于身份访问的安全员工 WiFi。而带有私有 PSK 的基于 MAC 的 RADIUS 身份验证则处理住宅和综合体物业的多租户网络隔离。 这三者的共同点是 RADIUS。正确配置您的 RADIUS 客户端——正确的 IP、正确的共享密钥、正确的服务类型、正确的超时时间——其余的就顺理成章了。 您的下一步:登录您的 Purple 控制面板,导航到场所配置,并获取您的 RADIUS 凭据。然后按照书面指南中的 CLI 命令配置您的热点配置文件、您的无线安全配置文件以及您的围墙花园条目。在推广到整个网络之前,先用单个接入点进行测试。 如果您要进行大规模部署——多个站点、数百个接入点——Purple 的专业服务团队可以为推广提供支持。Purple 在全球 80,000 个活跃场所运行,可用性达 99.999%,并已通过 ISO 27001、GDPR 和 Cyber Essentials 认证。 感谢您的收听。包含所有 CLI 命令、RADIUS 属性表和实际案例的完整书面指南已链接在节目简介中。

header_image.png

执行摘要

将 MikroTik RouterOS 与 Purple 集成,可在访客、员工和多租户环境中创建一个统一的、由身份驱动的网络。本指南提供了在 MikroTik 硬件上部署 Purple 云覆盖所需的具体配置逻辑。您将学习如何配置 RouterOS 热点网关以进行 访客 WiFi 重定向、实施用于安全员工 WiFi 的 IEEE 802.1X,以及部署私有预共享密钥 (PPSK) 以隔离多租户 WiFi 流量。

通过遵循这些部署模型,您可以在安全细分网络的同时,收集用于 WiFi 分析 的第一方数据。Purple 在 2024 年处理了 4.4 亿次登录,可用性达 99.999%,这使得该架构非常适合 零售酒店交通 等高密度环境。

技术深挖

访客 WiFi:Captive Portal 与围墙花园

MikroTik 热点网关拦截未通过身份验证的 HTTP 流量,并将其重定向到 Purple 托管的 Captive Portal。Purple 充当 RADIUS 服务器,处理身份验证和会话管理。

为确保 Captive Portal 正确加载,您必须配置围墙花园。这允许在身份验证前访问 Purple 的欢迎页面域名、内容分发网络 (CDN) 和 OAuth 提供商(例如 Google Workspace 和 Microsoft Entra ID)。如果没有这些条目,重定向循环就会中断。

成功通过身份验证后,Purple 的 RADIUS 服务器会返回标准属性,包括用于强制执行连接限制的 Session-Timeout,以及可选的、用于直接从 Purple 控制面板强制执行带宽限制的 Mikrotik-Rate-Limit

员工 WiFi:802.1X 身份验证

对于员工 WiFi,您可以通过部署 IEEE 802.1X 来消除共享密码。MikroTik 接入点充当认证器,将 EAP 凭据传递给 Purple 的 RADIUS 服务器。Purple 与 Microsoft Entra ID、Okta 和 Google Workspace 原生集成,通过 PEAP-MSCHAPv2 或 EAP-TLS 验证凭据。

当员工连接时,Purple 的 RADIUS 服务器可以返回 Mikrotik-Wireless-VLANID 属性。这会指示 MikroTik 路由器将通过身份验证的设备置于特定的 VLAN 上,从而通过单个 SSID 实现基于角色的网络细分。有关安全标准的更广泛概述,请参阅 企业 WiFi 安全:2026 年完整指南

多租户 WiFi:私有 PSK (PPSK)

多租户环境需要安全隔离,而无需 802.1X 的复杂性,因为许多消费级设备(例如智能电视和游戏机)并不支持它。MikroTik 通过基于 MAC 的 RADIUS 身份验证支持私有 PSK (PPSK)。

当设备连接到 SSID 时,MikroTik 路由器会将设备 MAC 地址发送给 Purple。Purple 会返回 Mikrotik-Wireless-Psk 属性(该租户的唯一密码)和 Mikrotik-Wireless-VLANID 属性。这种架构允许数百个租户共享单个 SSID,同时保持在完全隔离的网络气泡中。

architecture_overview.png

实施指南

1. 配置 RADIUS 客户端

首先,在 RouterOS 中将 Purple 定义为 RADIUS 服务器。这适用于所有三个使用场景。

/radius
add address=YOUR-PURPLE-RADIUS-IP secret=YOUR-SHARED-SECRET service=hotspot,wireless authentication-port=1812 accounting-port=1813 timeout=3000ms

2. 访客 WiFi 热点设置

在您的访客 VLAN 接口上运行热点设置向导,然后在生成的配置文件上启用 RADIUS 身份验证。

/ip hotspot profile
set [ find default=yes ] use-radius=yes radius-accounting=yes

配置围墙花园以允许访问 Purple 的基础设施。

/ip hotspot walled-garden
add action=allow dst-host=*purple.ai
add action=allow dst-host=*purpleportal.net

3. 员工 WiFi 802.1X 设置

将无线安全配置文件配置为使用 WPA2-Enterprise 并将其指向 RADIUS 服务器。

/interface wireless security-profiles
add authentication-types=wpa2-eap eap-methods=passthrough mode=dynamic-keys name=staff-8021x radius-mac-authentication=no

确保启用网桥 VLAN 过滤以支持动态 VLAN 分配。

/interface bridge
set bridge1 vlan-filtering=yes

4. 多租户 PPSK 设置

对于 PPSK,在无线安全配置文件上启用 MAC 身份验证并配置 MAC 地址格式。

/interface wireless security-profiles
add authentication-types=wpa2-psk mode=dynamic-keys name=multi-tenant-ppsk radius-mac-authentication=yes radius-mac-format=XX:XX:XX:XX:XX:XX

ppsk_vlan_diagram.png

最佳实践

  • 统一使用 RouterOS 7:与 RouterOS 6 相比,通过无线 RADIUS 进行的动态 VLAN 分配在 RouterOS 7 中要健壮得多。
  • 增加 RADIUS 超时时间:MikroTik 的默认 RADIUS 超时时间为 1100 毫秒。将其增加到 3000 毫秒,以防止由网络延迟引起的间歇性身份验证失败。
  • 使用基于主机名的围墙花园条目:在配置围墙花园条目时,始终使用 dst-host 代替 dst-address,因为云基础设施的 IP 地址会发生变经常更改。
  • 启用网桥 VLAN 过滤:通过 RADIUS (Mikrotik-Wireless-VLANID) 进行的动态 VLAN 分配需要在网桥接口上设置 vlan-filtering=yes

故障排除与风险规避

如果 Captive Portal 无法加载,几乎可以肯定围墙花园配置不完整。使用 MikroTik Torch 工具监控访客 VLAN 上未认证客户端丢弃的 DNS 查询。将缺失的域名添加到围墙花园中。

如果 802.1X 客户端无法通过身份验证,请验证共享密钥并确保 RADIUS 客户端配置了 service=wireless。检查 Purple 控制面板日志,确认 Access-Reject 是源自 Purple 还是您的身份提供商。

如果客户端通过了身份验证但获取了错误的 IP 地址,请确认已启用网桥 VLAN 过滤,并且 DHCP 服务器已正确绑定到动态分配的 VLAN 接口。

投资回报率 (ROI) 与业务影响

在您的 MikroTik 基础设施中部署 Purple,可将成本中心转化为收入来源。通过捕获第一手数据,场所可以构建详细的数字化画像并实现自动化营销活动。例如,Avanti West Coast 通过利用回头客和追加销售机会,实现了 463% 的投资回报率。

此外,身份驱动的网络连接可减少 IT 开销。通过 Entra ID 自动办理员工 WiFi 的入职和离职流程,消除了手动密码管理的繁琐,而用于多租户 WiFi 的 PPSK 则允许物业经理在无需为每个单元部署专用硬件的情况下配置隔离的网络。

关键定义

热点网关

一种 RouterOS 功能,可拦截未通过身份验证的 HTTP 流量,并将其重定向到 Captive Portal 欢迎页面。

用于在允许访问互联网之前收集访客数据并强制执行服务条款。

围墙花园

未通过身份验证的用户可以访问的允许目标列表。

对于允许访客访问 Purple 欢迎页面、CDN 和 OAuth 提供商(如 Google)以完成登录过程至关重要。

802.1X

一种用于基于端口的网络访问控制的 IEEE 标准,为希望连接到 LAN 或 WLAN 的设备提供身份验证机制。

用于安全的员工 WiFi,允许通过 Entra ID 或 Okta 进行身份验证,而不是使用共享密码。

私有 PSK (PPSK)

一种安全架构,在单个 SSID 上使用多个唯一的预共享密钥,通常与特定的 MAC 地址和 VLAN 绑定。

非常适合多租户 WiFi,为住户及其消费级设备提供隔离的网络气泡。

RADIUS

远程用户拨号认证服务。一种提供集中式认证、授权和计费 (AAA) 管理的网络协议。

将 MikroTik 硬件连接到 Purple 云平台以进行身份验证的核心协议。

VLAN 过滤

一种 RouterOS 网桥设置,用于在网桥端口上强制执行 VLAN 标记和去标记规则。

必须启用此功能,通过 RADIUS 进行的动态 VLAN 分配才能正常工作。

CAPsMAN

受控接入点系统管理器。MikroTik 的集中式无线管理系统。

用于在多个接入点上部署一致的无线安全配置文件和 RADIUS 设置。

EAP-TLS

可扩展身份验证协议 - 传输层安全。一种需要客户端证书的高度安全的身份验证方法。

由 Purple 支持,适用于需要无密码身份验证的零信任员工 WiFi 部署。

应用实例

一家拥有 200 间客房的酒店需要在其 MikroTik 接入点上部署安全的员工 WiFi。他们希望财务员工位于 VLAN 10,运营员工位于 VLAN 20,并使用其现有的 Microsoft Entra ID 凭据。

  1. 在 Purple 控制面板中将 Purple 与 Microsoft Entra ID 集成。
  2. 配置 MikroTik RADIUS 客户端,使其指向 Purple 并设置 service=wireless
  3. 创建一个 authentication-types=wpa2-eap 的 MikroTik 无线安全配置文件。
  4. 在 MikroTik 网桥上启用 vlan-filtering=yes
  5. 在 Purple 中,映射 Entra ID 的“Finance”组以返回 Mikrotik-Wireless-VLANID=10,映射“Operations”组以返回 Mikrotik-Wireless-VLANID=20
考官评语: 此方法使用 IEEE 802.1X 进行安全、无密码的身份验证。通过依赖 Entra ID 组和 RADIUS 属性,网络在边缘动态细分流量,从而减少了攻击面,并免去了在路由器上进行手动 VLAN 配置的麻烦。

一家长租公寓(build-to-rent)的物业经理需要使用从 MikroTik CAPsMAN 广播的单个 SSID,为 50 个公寓提供隔离的 WiFi 网络。

  1. 为该 SSID 配置 MikroTik 无线安全配置文件,设置 authentication-types=wpa2-pskradius-mac-authentication=yes
  2. 确保 RADIUS 客户端配置为 service=wireless 并指向 Purple。
  3. 在 Purple 控制面板中,注册住户设备的 MAC 地址。
  4. 在 Purple 中为每个公寓分配唯一的 PSK 和 VLAN ID。
  5. 当设备连接时,Purple 会返回 Mikrotik-Wireless-PskMikrotik-Wireless-VLANID 属性,将设备置于其隔离的网络气泡中。
考官评语: 这种私有 PSK (PPSK) 架构提供了企业级的隔离,同时支持缺乏 802.1X 功能的消费级设备。它能够高效扩展,并允许通过 Purple 进行集中管理。

练习题

Q1. 您已配置了 MikroTik 热点网关并将其指向 Purple 的 RADIUS 服务器。访客连接到 SSID,但他们的浏览器显示超时错误,而不是 Purple 欢迎页面。最可能的配置错误是什么?

提示:考虑在访客进行身份验证之前必须发生什么。

查看标准答案

围墙花园配置错误或缺少条目。如果不允许在 /ip hotspot walled-garden 中访问 Purple 的欢迎页面域名和相关 CDN,未通过身份验证的访客将无法加载登录页面,从而导致超时。

Q2. 一家零售连锁店希望使用 802.1X 和 Entra ID 部署员工 WiFi。他们配置了 `authentication-types=wpa2-eap` 并设置了 RADIUS 客户端。然而,身份验证失败。您检查 RADIUS 客户端配置,发现设置为了 `service=hotspot`。您该如何解决这个问题?

提示:不同的无线身份验证方法在 RouterOS 中需要不同的 RADIUS 服务类型。

查看标准答案

修改 RADIUS 客户端配置以包含 service=wirelesshotspot 服务类型仅用于 Captive Portal 身份验证。802.1X 和 MAC 身份验证需要 wireless 服务类型。

Q3. 您正在使用私有 PSK 部署多租户 WiFi。Purple 成功返回了 `Mikrotik-Wireless-Psk` 和 `Mikrotik-Wireless-VLANID` 属性,并且设备已连接。然而,该设备从默认管理子网获取了 IP 地址,而不是从隔离的租户子网。缺少什么 RouterOS 设置?

提示:动态 VLAN 分配需要网桥处理 VLAN 标签。

查看标准答案

网桥 VLAN 过滤已被禁用。您必须在网桥接口上设置 vlan-filtering=yes。否则,网桥将忽略 RADIUS 分配的动态 VLAN 标签,流量将回退到默认的未标记 PVID。