跳至主要內容

適用於 Cisco Meraki 的 Captive Portal

一份權威的中級技術參考指南,用於將 Cisco Meraki MR 存取點與 Purple 的雲端 Captive Portal 進行整合。內容涵蓋 Meraki 儀表板逐步設定、RADIUS 伺服器設定(連接埠 1812/1813)、Walled Garden 萬用字元網域排除,以及適用於高效能訪客 WiFi 部署的工作階段逾時參數。

📖 8 分鐘閱讀📝 1,892 字數🔧 2 範例3 練習題📚 8 關鍵定義

收聽此指南

查看播客逐字稿
歡迎收看 Purple 技術簡報系列。我是今天的主持人,今天我們要探討一個在我們處理的幾乎所有企業級訪客 WiFi 部署中都會遇到的主題:在 Cisco Meraki MR 無線基地台上設定 captive portal,特別是如何使用 RADIUS 驗證將其與 Purple 的雲端平台進行整合。無論您是正在為新旅宿業客戶導入服務的 MSP,還是連鎖零售商的內部網路架構師,本集內容都將為您提供精確的設定步驟以及每個步驟背後的原理。 讓我們來設想一個場景。您有一個場域——可能是飯店、會議中心、體育館或零售園區——運行著透過 Meraki Dashboard 管理的 Cisco Meraki MR 無線基地台。您的任務是部署品牌專屬的訪客 WiFi 體驗,以收集第一方數據、強制要求接受服務條款,並將分析數據回傳至行銷平台。這正是 Purple 的強項,而 Meraki 也是我們在全球最常見的硬體部署之一。 在開始進行任何設定之前,必須先瞭解一個關鍵的架構重點:在 Cisco Meraki 上,登入頁面的 RADIUS 驗證並非由無線基地台在本地處理。RADIUS 存取請求(Access-Request)是源自 Meraki 雲端(即 Dashboard 基礎設施),而非您區域網路(LAN)上的 AP。這是一個關鍵的差異,許多工程師在首次部署 Meraki 時常會忽略這一點。這意味著您的 RADIUS 伺服器(在此案例中為 Purple 的雲端 RADIUS 端點)必須能從網際網路存取,且您的防火牆規則必須允許來自 Meraki Dashboard IP 範圍的流量,而不僅僅是來自您本地 AP 子網路的流量。您可以在 Meraki Dashboard 的「Help」(說明)下的「Firewall Info」(防火牆資訊)中找到目前的 Dashboard IP 範圍。 好的,現在讓我們進入設定步驟。我將按照您在實際部署時的順序,逐步引導您完成設定。 步驟一:SSID 設定。在 Meraki Dashboard 中,導覽至「Wireless」(無線),接著選擇「Configure」(設定),然後點選「SSIDs」。選擇您要用於訪客存取的 SSID 插槽。給它一個清晰的名稱——例如 GuestWiFi 或 VenueName_Guest。在「Association requirements」(關聯需求)下,將「Security」(安全性)設定為「Open, no encryption」(開放,無加密)。這是正確且刻意如此設定的——訪客的安全層級是由 captive portal 和 RADIUS 驗證來處理,而非透過 WPA 加密。如果您是在 PCI DSS 環境中進行部署,您需要確保訪客流量被隔離在獨立的 VLAN 中,我們稍後會對此進行說明。步驟二:Splash page 與驗證。仍在您 SSID 的「Access Control」(存取控制)頁面上,向下捲動至「Splash page」區段。將其設定為「Sign-on with」,並從下拉式選單中選擇「my RADIUS server」。這是關鍵設定,用於指示 Meraki 在授予網路存取權限之前,先透過外部 RADIUS 伺服器驗證使用者。在其下方,您會看到「Captive Portal strength」選項。將此項設定為「Block all access until sign-on is complete」。這能強制執行 Walled Garden 限制——若未設定,訪客可能會完全繞過該入口網站。 步驟三:RADIUS 伺服器設定。在「RADIUS」區段下,按一下「Add server」。您需要來自您 Purple 帳戶的三項資訊:RADIUS 伺服器 IP 位址或 FQDN、驗證連接埠(UDP 1812)以及共用金鑰 (shared secret)。Purple 會在入口網站的場域設定 (venue configuration) 區段中提供這些資訊。為了在實際部署中提供備援,您應該新增第二台 RADIUS 伺服器——Purple 有提供容錯移轉端點。如果您希望將工作階段資料回傳至 Purple 的分析引擎,請將計費 (accounting) 連接埠設定為 UDP 1813。對於任何將停留時間和工作階段持續時間視為重要指標的場域,我強烈建議進行此設定。 關於 RADIUS 屬性的簡要說明。Meraki 支援 RADIUS Access-Accept 回應中傳回的 Session-Timeout 屬性。Purple 利用此屬性來控制訪客工作階段在需要重新驗證前可持續的時間。以飯店為例,您可能會將其設定為 86,400 秒(即 24 小時)。對於咖啡廳,設定為 3,600 秒(一小時)左右會更合適。系統也支援 Idle-Timeout 屬性,但僅在啟用 RADIUS 計費 (accounting) 時才有效。這會中斷閒置的工作階段,對於高密度場域的容量管理至關重要。 步驟四:Splash page URL。導覽至「Wireless」,接著選擇「Configure」,然後選擇「Splash page」。從下拉式選單中選擇您的訪客 SSID。將「Custom splash URL」設定為您場域的 Purple 入口網站 URL。這是 Meraki 將未驗證用戶端重新導向至的 URL。Meraki 會在此 URL 後方附加查詢參數(包括 login_url 參數),Purple 會使用這些參數來完成驗證交握。請勿修改或刪除這些參數。 步驟五:Walled Garden。這是大多數部署最容易遇到問題的地方。Walled Garden 是指訪客裝置在通過驗證前可以存取的網域和 IP 範圍清單。若沒有正確的設定項目,Captive Portal 頁面本身將無法載入,因為瀏覽器會被阻擋而無法連線至 Purple CDN 和社群登入提供商。返回訪客 SSID 的「存取控制」(Access Control) 頁面。將「Walled garden」設定為「Walled garden is enabled」。在「Walled garden ranges」欄位中,您需要新增以下內容。首先是 Purple 平台網域:`*.purple.ai` 與 `*.venuewifi.com`。其次是 Purple 用來提供傳送入口網頁資源的 CDN 網域:`*.cloudfront.net` 與 `*.akamaihd.net`。第三是 Meraki 重新導向基礎架構:`*.network-auth.com`。第四,如果您有提供社群登入選項,則需要新增相關的 OAuth 網域。Google:`accounts.google.com`、`*.googleapis.com`、`*.gstatic.com`。Facebook:`*.facebook.com`、`*.fbcdn.net` 與 `connect.facebook.net`。Twitter 或 X:`*.twitter.com` 與 `*.twimg.com`。 關於 Meraki 如何處理 Walled garden 中的萬用字元 (wildcard) 網域,有一點需要特別注意。Meraki 確實支援使用星號前綴的萬用字元項目,例如 `*.cloudfront.net`。然而,這是基於 DNS 的比對——Meraki 會解析該網域並允許解析出的 IP 位址。這意味著對於像 CloudFront 或 Akamai 這樣解析出的 IP 可能會頻繁變動的 CDN 供應商,您應該使用網域萬用字元,而不是靜態 IP 範圍。靜態 IP 項目適用於穩定的 Purple RADIUS 端點,但不適用於 CDN 流量。 現在,讓我們來談談我直接參與過的兩個實際案例。 第一個是位於英國、擁有 350 間客房的飯店。該客戶在三棟建築中部署了 Meraki MR46 無線基地台 (AP),在高峰期約有 400 台訪客裝置同時連線。最初的部署使用的是「點擊即連」(click-through) 的 Splash 頁面——沒有 RADIUS,只需接受條款。問題在於,他們完全無法得知是誰在進行連線、無法收集電子郵件,也無法在旅客退房後進行行銷活動。我們協助他們轉移到使用 RADIUS 驗證登入的 Purple。設定過程非常簡單,但棘手的地方在於,他們的上游防火牆阻擋了傳送到本地子網路以外任何位置的 Port 1812 輸出 UDP 流量。當我們將 Meraki Dashboard 的 IP 範圍新增至防火牆允許清單後,驗證便立即正常運作。部署完成後,該飯店在第一個月就成功收集了約 68% 連線訪客的電子郵件地址,其行銷團隊隨後進行了再行銷活動,顯著提升了直接訂房率。第二個情境是擁有 45 家分店的連鎖零售商,每家分店皆運行 Meraki MR33 基地台。這裡的挑戰在於規模與一致性。手動為 45 個 SSID 設定正確的 RADIUS 設定與圍牆花園清單,不僅耗時且極易出錯。解決方案是採用 Meraki 的範本化設定。我們建立了一個包含正確 SSID、RADIUS 和圍牆花園設定的單一網路範本,然後將所有 45 家分店的網路綁定至該範本。任何變更(例如在圍牆花園中新增社群登入提供商),都只需在範本中修改一次,便會自動同步至所有分店。接著,Purple 的分析功能會整合所有分店的客流量與停留時間數據,為零售營運團隊提供單一儀表板,以便按分店、地區和時段查看顧客行為。 以下提供三個實用經驗法則,能為您在每次部署 Meraki Captive Portal 時節省寶貴時間。 法則一:在設定 RADIUS 之前,務必先確認 Meraki Dashboard 的 IP 範圍。這些範圍偶爾會發生變更,如果您的防火牆阻擋了這些 IP,從使用者的角度來看,驗證將會無預警失敗——他們只會看到 Portal 頁面卡住。在正式上線前,請使用 Dashboard 中「存取控制(Access Control)」下的內建 RADIUS 測試工具來驗證連線狀態。 法則二:針對任何託管於 CDN 的內容,請在圍牆花園中使用網域萬用字元,而非 IP 範圍。CDN 的 IP 範圍龐大且變動頻繁。使用萬用字元網域項目更易於維護,也更加可靠。 法則三:即使您認為目前還不需要,也請啟用連接埠 1813 上的 RADIUS 計費(accounting)功能。工作階段(session)數據對於排查斷線問題非常有用,也能為您的分析平台提供精確的停留時間指標。啟用此功能無需任何成本,但若事後才想補加設定則會非常困難。 以下是幾個我經常被問到的常見問題。 我可以使用 Meraki 內建的歡迎頁面(splash page)來代替 Purple 嗎?可以,但您將失去數據收集、分析、行銷自動化以及符合 GDPR 規範的同意聲明管理功能。內建的歡迎頁面適用於基本的點擊跳轉,但它並非專業的顧客智慧平台。 此設定是否同時適用於 Meraki MX 防火牆與 MR 基地台?RADIUS 歡迎頁面設定僅在 MR 基地台上支援。MX 設備處理用戶端 VPN 驗證的方式有所不同。針對訪客 WiFi,您需要設定的是 MR 的 SSID。 那 WPA3 呢?Meraki MR 基地台在企業級 SSID 上支援 WPA3。對於訪客 Captive Portal 部署,SSID 通常是開放式(Open),因此 WPA3 決不直接適用。然而,如果您在部署 Captive Portal SSID 的同時,也部署了 Passpoint 或 OpenRoaming SSID(Purple 均支援),該 SSID 將使用採用 802.1X 的 WPA3-Enterprise,這時 WPA3 就會派上用場。總結來說:Cisco Meraki 與 Purple 的整合已通過充分測試且相當可靠,但需要注意三件事:RADIUS 來源 IP 路由、walled garden 完整性,以及工作階段逾時設定。只要正確設定這三項,部署過程就會非常簡單直接。商業效益非常明確 — 部署了配置完善且具備數據擷取功能之訪客 WiFi 平台的場所,都能持續在行銷互動和營運洞察方面獲得可衡量的回報。 如果您想深入了解,請參閱 Purple 關於使用雲端 RADIUS 實作 802.1X 驗證的指南,以及 Purple 部落格上的 Cisco 無線 AP 部署指南。這兩者都已連結在節目資訊欄中。 感謝您的收聽。如果您有希望我們探討的特定部署情境,請與 Purple 技術團隊聯絡。我們下期節目再見。

📚 核心系列的一部分:多租戶 WiFi

header_image.png

执行摘要

本权威参考指南提供了一个全面的、分步的配置框架,用于将 Cisco Meraki 无线网络与 Purple 基于云的 captive portal 进行集成。本文件专为 IT 经理、网络架构师和托管服务提供商 (MSP) 设计,详细介绍了在 Meraki Dashboard 中部署安全、高性能访客 WiFi 解决方案所需的精确配置 [1]。

通过将访客智能层与硬件解耦,企业场所可以利用 Purple 经过认证的 Guest WiFiWiFi Analytics 平台来捕获丰富的、符合 GDPR 的第一方数据,同时确保网络完整性和合规性 [2]。本指南解决了关键的集成参数,包括跨不同实体场所(如 Retail (零售)、 Healthcare (医疗保健)、 Hospitality (酒店)和 Transport (交通)枢纽)的 RADIUS 认证(端口 1812/1813)、围墙花园域名例外、CDN 通配符解析以及访客重定向机制。


技术深度剖析

为了成功将 Cisco Meraki MR 接入点 (AP) 与 Purple 等外部 captive portal 集成,网络工程师必须了解底层的控制面和数据面架构。与传统的本地无线控制器(其 RADIUS 认证请求源自物理控制器或单个 AP)不同,Cisco Meraki 采用云管理架构 [1]。

控制面与数据面分离

当访客客户端关联到为外部 captive portal 配置的开放 SSID 时,Meraki MR AP 会将客户端置于预认证状态。在此状态下,除了 DNS 查询、DHCP 以及发往 Walled Garden [3] 中明确定义的 IP 地址或主机名的流量外,所有流量都会被阻止。

实际的 RADIUS Access-Request 消息并非由本地 Meraki MR AP 生成。相反,它们源自 Cisco Meraki Dashboard 云端基础设施 [1]。这是一个至关重要的架构区别:

> "展示页面的 RADIUS 访问请求消息将源自控制面板,而不是源自本地 Meraki 设备。因此,此处无法指定 RADIUS 服务器的私有局域网 IP 地址。" [1]

因此,保护您的 RADIUS 服务器的上游防火墙必须允许来自整个 Meraki Dashboard 出站 IP 范围块的入站流量,这些范围是动态的且因地区而异 [1]。这些范围可以通过 Meraki Dashboard 在 Help > Firewall info 下动态获取 [1]。

architecture_overview.png

RADIUS 认证协议 (PAP)

对于登录展示页面认证,Meraki 使用密码认证协议 (PAP) [1]。虽然 PAP 在历史上是未加密的,但 Meraki-Purple 集成通过多层加密降低了安全风险:

  1. 客户端到云端加密:访客客户端直接与 Purple 托管的 captive portal 建立安全的 HTTPS (SSL/TLS) 会话。凭据(例如社交登录令牌、电子邮件表单)在从客户端浏览器传输到 Purple 服务器的过程中被加密 [1]。
  2. RADIUS 共享密钥加密:当 Meraki 云向 Purple 的云端 RADIUS 服务器发送 RADIUS Access-Request 时,它会根据 RFC 2865 使用配置的 RADIUS Shared Secret 和标准 XOR 函数对用户密码进行加密 [1]。这确保了明文凭据绝不会通过公共互联网传输。

支持的 RADIUS 属性

Meraki 云和 Purple 云端 RADIUS 在认证握手期间交换几个关键属性,以执行会话参数和策略:

RADIUS 属性 类型 方向 描述与实际应用背景
User-Name String Request 访客用户的标识符(例如电子邮件地址、MAC 地址)[1]。
User-Password String Request 加密的用户密码或会话令牌 [1]。
Called-Station-ID String Request 格式为 AP_MAC:SSID_NAME(例如 AA-BB-CC-DD-EE-FF:GuestWiFi)。对于基于位置的策略路由至关重要 [1]。
Calling-Station-ID String Request 客户端的物理 MAC 地址(例如 11-22-33-44-55-66)。用于设备跟踪和会话恢复 [1]。
Session-Timeout Integer Accept 以秒为单位的最大会话持续时间。过期后,客户端将被重定向回 captive portal [1]。
Idle-Timeout Integer Accept 以秒为单位的最大空闲时间。如果没有数据传输,会话将被终止。需要 RADIUS 计费 [1]。
Filter-Id String Accept 传递要应用于客户端的特定 Meraki 组策略名称(例如限制带宽或阻止特定类别)[1]。

实施指南

此分步配置演练概述了如何将 Cisco Meraki MR 接入点与 Purple 的外部 captive portal 进行集成。

步骤 1:配置 SSID 访问控制

在 Meraki Dashboard 中导航至 Wireless > Configure > Access control [1]。选择您的目标访客 SSID 并配置以下参数:

  • Association Requirements:设置为 Open (no encryption) [1]。这可确保无摩擦的接入体验。如果您需要加密的访客传输,请考虑实施部署 Passpoint / Hotspot 2.0 with Cloud RADIUS [4]。
  • Splash Page:选择 Sign-on with 并从下拉菜单中选择 my RADIUS server [1]。
  • RADIUS Servers:点击 Add server 并输入 Purple 的 Cloud RADIUS 主和备用端点 [1]:
    • Host IP116.203.120.121(主)和 195.201.123.149(备)
    • Port1812(认证)[1]
    • Secret[您的 Purple 共享密钥]
  • RADIUS Accounting:设置为 RADIUS accounting is enabled 并添加计费服务器:
    • Host IP116.203.120.121(主)和 195.201.123.149(备)
    • Port1813(计费)
    • Secret[您的 Purple 共享密钥]
  • Captive Portal Strength:选择 Block all access until sign-on is complete [1]。这会严格强制客户端在通过 splash page 之前无法访问互联网。

步骤 2:配置自定义 Splash Page URL

导航至 Wireless > Configure > Splash page [1]。选择您的访客 SSID 并配置:

  • Custom Splash URL:选择 Or point to a custom URL 并输入 Purple 重定向 URL:
    • https://login.venuewifi.com/ip/v2/meraki
  • Splash Page Redirect:设置为 The URL they were trying to fetch 或将他们重定向到特定的着陆页(例如,您场所的主页)[3]。

步骤 3:配置 Walled Garden 域名例外

为确保访客客户端能够加载 Captive Portal、从内容分发网络 (CDN) 下载资源并完成社交媒体认证(例如 Google 或 Facebook OAuth),您必须启用并配置 Walled Garden [3]。

返回导航至 Wireless > Configure > Access control 并找到 Walled Garden 区域 [1]。

  1. Walled Garden 设置为 Walled garden is enabled [1]。
  2. Walled garden ranges 字段中,输入所需的 FQDN 和通配符域名 [1]。

walled_garden_infographic.png

Meraki 如何处理通配符和 CDN 流量

Cisco Meraki MR 无线接入点支持在 walled garden 中使用星号前缀(例如 *.purple.ai)的通配符域名 [1]。然而,了解其底层机制至关重要:

  • 基于 DNS 的白名单:Meraki AP 会拦截客户端的 DNS 请求。当客户端请求与 walled garden 中的条目匹配的域名时,AP 会将该域名解析为其当前的 IP 地址,并临时允许客户端与该 IP 进行通信 [3]。
  • 动态 CDN IP:像 Amazon CloudFront (*.cloudfront.net) 和 Akamai (*.akamaihd.net) 这样的 CDN 会解析为高度动态、地理分布且频繁变化的 IP 地址。Meraki 基于 DNS 的白名单通过实时解析域名来无缝处理这一问题。切勿在您的 walled garden 中为 CDN 资源使用静态 IP 地址,因为这会导致门户资源间歇性加载失败。

最佳实践

为确保高可用性、安全性和最佳用户体验,请遵循以下行业标准的部署最佳实践:

1. 网络分段与 VLAN 隔离

切勿将访客流量直接桥接到您的企业局域网(LAN)。配置您的 Meraki MR AP,使用专用的 Guest VLAN(例如 VLAN 30)标记访客流量 [4]。确保此 VLAN 终止于上游防火墙上的 DMZ 或独立的虚拟路由和转发 (VRF) 实例。这可以降低横向移动风险,并确保符合 PCI DSS 和 GDPR 等安全标准 [2] [4]。

2. 配置故障转移与会话恢复能力

网络链路可能会发生故障。为了防止在认证服务器宕机期间访客被锁定而无法访问互联网,请在 Meraki Dashboard 中配置 RADIUS Failover Policy

  • Failover Policy:设置为 Deny access 以获得最大安全性,或者如果在宕机期间保持访客连接的优先级高于数据捕获,则设置为 Allow access
  • Secondary Servers:始终配置主和备用 RADIUS 服务器,以分担负载并提供自动故障转移 [1]。

3. 实施会话与空闲超时

通过配置适当的超时参数来管理您的无线频谱和 DHCP 池租约 [1]:

  • Session Timeout:对于酒店/款待环境,设置为 1440 分钟(24 小时),允许访客在整个停留期间保持连接,而无需频繁重新认证 [1]。对于零售或公共交通,将其缩短至 120 分钟(2 小时),以鼓励新的互动并释放 DHCP 租约。
  • Idle Timeout:设置为 15 分钟。如果客户端设备进入睡眠状态或离开场所,AP 将终止会话并回收网络资源 [1]。

故障排除与风险缓解

在 Cisco Meraki 上部署外部 Captive Portal 时,工程师通常会遇到三种主要的故障模式。使用此诊断矩阵可快速隔离并解决问题:

现象 根本原因 诊断步骤 解决办法
Splash page 无法加载;浏览器显示“连接超时”。 上游防火墙正在阻止指向 Purple 的 CDN 的出站 DNS 或 HTTP/HTTPS 流量 [1]。 尝试从同一 VLAN 上的有线设备解析 login.venuewifi.com 确保访客 VLAN 具有访问公共 DNS (UDP 53) 和 HTTP/HTTPS (TCP 80/443) 的出站权限。
Splash page 已加载,但用户凭据认证失败。 上游防火墙正在阻止源自 Meraki Cloud 的 RADIUS 流量 [1]。 使用 Meraki Dashboard 中 Access Control 下的 RADIUS Test 工具 [1]。 将 Meraki Dashboard 的出站 IP 范围(可在 Help > Firewall info 下找到)添加到防火墙针对 UDP 端口 1812 和 1813 的出站允许列表中 [1]。
社交登录(例如 Google OAuth)失败,并出现重定向错误。 缺少所需的 OAuth 辅助域名 Meraki Walled Garden 中的 ns [1]。 检查客户端设备上的浏览器控制台,查看是否有被拦截的资源加载。

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

将 Cisco Meraki 与 Purple 集成,可将访客 WiFi 从成本中心转变为战略性业务资产。通过将企业级硬件与先进的分析技术相结合,企业可以在多个维度上实现可衡量的回报:

  • 数据变现与营销触达:通过获取经验证的电子邮件地址和社交账号信息,场所可以构建一个干净、合规的第一方客户数据库 [2]。这些数据可直接导入客户关系管理 (CRM) 和营销自动化系统,从而实现高度精准、本地化的营销活动。
  • 运营效率:通过 Purple 实现的自动化入网流程减轻了前台和 IT 支持人员的负担。在酒店及餐饮环境中,这意味着更少关于 WiFi 连接的客户投诉,以及更低的运营开销。
  • 先进的人流量分析:通过将 Meraki 的位置 API 与 Purple 的分析引擎相结合,场所运营商可以深入了解访客行为,包括人流量、停留时间、回头率和客流高峰时段 [2]。这些数据有助于在人员配置、店铺布局和房地产估值方面做出明智的决策。

参考资料

關鍵定義

Captive Portal

在向新連線的 Wi-Fi 網路使用者授予更廣泛的網路資源存取權限之前,向其顯示的網頁。

場所(場域)用於強制執行服務條款、收集使用者資料,並在允許存取網際網路之前透過 RADIUS 驗證訪客身分。

RADIUS (遠端驗證撥入使用者服務)

一種網路協定,為連線和使用網路服務的使用者提供集中式的驗證、授權和計費 (AAA) 管理。

Meraki AP 會查詢 Purple 的 Cloud RADIUS 伺服器,以驗證訪客憑證並授權網路存取。

Walled Garden (圍牆花園)

一組受限制的 IP 位址或網域名稱,允許未經驗證的訪客用戶端在完成 Captive Portal 登入流程之前進行存取。

這對於允許用戶端到達託管的歡迎頁面(Splash Page)、從 CDN 下載 CSS/JS 資產以及與社群登入 OAuth 端點進行通訊至關重要。

Session-Timeout (工作階段逾時)

一個 RFC 2865 RADIUS 屬性,指定使用者工作階段在需要重新驗證之前可以保持作用狀態的最大秒數。

由 Purple RADIUS 在 Access-Accept 封包中傳回,以控制訪客保持登入狀態的時間(例如,飯店旅客為 24 小時)。

Idle-Timeout (閒置逾時)

一個 RADIUS 屬性,定義在終止使用者工作階段之前允許的最大非作用期(無資料傳輸)。

用於在體育場或零售店等高密度環境中斷開閒置裝置的連線並回收 IP 位址。

PAP (密碼驗證協定)

RADIUS 用於驗證使用者憑證的一種簡單、未加密的驗證協定。

Cisco Meraki 進行外部歡迎頁面 RADIUS 驗證時所需。安全性是透過 HTTPS 加密用戶端到入口網站的傳輸,並使用共用金鑰加密 RADIUS 封包密碼欄位來維護。

Passpoint (Hotspot 2.0)

由 Wi-Fi 聯盟開發的產業標準,可實現類似行動網路的自動漫遊以及與 Wi-Fi 網路的安全連線。

由 Meraki MR 存取點和 Purple 支援,以實現無縫、基於憑證的訪客上網,而無需 Captive Portal。

CMX (Cisco Meraki 位置 API)

一個 API 框架,允許 Meraki 存取點將即時位置和存在資料(探測請求)匯出到第三方分析平台。

與 Purple 整合,為實體場所提供詳細的客流量、停留時間和回訪率分析。

範例

一家擁有 350 間客房、使用 Cisco Meraki MR46 存取點的奢華飯店需要部署安全的訪客 WiFi 網路。他們希望收集訪客電子郵件、將每位訪客的頻寬限制為 5 Mbps,並確保訪客每 7 天只需登入一次。網路架構師應如何設定 Meraki 儀表板和 RADIUS 設定?

  1. SSID 設定:設定一個名為「Hotel_Guest」的開放式 SSID,並將 Splash Page 設定為「Sign-on with」和「my RADIUS server」。\n2. RADIUS 設定:輸入 Purple 的主要(116.203.120.121)和次要(195.201.123.149)RADIUS IP。將驗證連接埠設定為 1812,計費連接埠設定為 1813。設定共用金鑰。\n3. 逾時參數:在 RADIUS 伺服器設定檔或 Purple 儀表板中,將 Session-Timeout 屬性設定為 604800 秒(7 天),並將 Idle-Timeout 設定為 1800 秒(30 分鐘),以回收閒置的 DHCP 租約。\n4. 流量塑形:在 Meraki 儀表板的 Wireless > Configure > Firewall & traffic shaping 下,選擇該 SSID,啟用流量塑形,並將每位用戶端的限制設定為下行 5 Mbps 和上行 2 Mbps。\n5. Walled Garden:啟用 Walled Garden 並新增 *.purple.ai*.venuewifi.com 以及必要的 CDN 萬用字元(如 *.cloudfront.net),以允許在驗證前轉譯 Splash Page。
考官評語: 此解決方案成功在使用者體驗與網路效能之間取得平衡。使用 7 天的 Session-Timeout 可避免長期住宿訪客頻繁登入的疲勞感,而 30 分鐘的 Idle-Timeout 則可防止 DHCP 位址池中的 IP 位址耗盡。相較於依賴 RADIUS 屬性(如 Maximum-Data-Rate-Downstream),直接在 Meraki AP 上設定流量塑形是較佳的做法,因為這能減少 AP 的處理開銷,並提供更一致的強制執行機制。

一家擁有 45 家分店的連鎖零售商希望使用 Meraki MR33 AP 在所有位置部署訪客 WiFi。他們需要確保設定一致、阻擋對企業網路的存取,並收集客流量分析數據。這該如何大規模實施?

  1. 設定範本:在 Meraki 儀表板中建立單一的網路設定範本。使用 Purple 的 RADIUS 設定、Walled Garden 網域和自訂 Splash URL(https://login.venuewifi.com/ip/v2/meraki)設定訪客 SSID。將所有 45 家分店的網路綁定到此範本。\n2. VLAN 區隔:在每家分店的本機交換器和防火牆上,設定專用的訪客 VLAN(例如 VLAN 50)。在 Meraki SSID 設定中,將 Client IP Assignment 設定為「External DHCP server」並指定 VLAN 50。確保防火牆阻擋從 VLAN 50 到企業子網路的所有路由。\n3. 位置分析:在 Meraki 儀表板的 Network-wide > Configure > General 下啟用 Meraki Scanning API (CMX)。輸入 Purple Post URL 和金鑰驗證器。這使 Meraki AP 能夠將即時探測請求數據串流傳輸到 Purple 的分析引擎,以進行客流量和停留時間報告。
考官評語: 大規模部署需要自動化和基於範本的管理。藉由將所有網路綁定到單一範本,未來任何 Walled Garden 的更新(例如新增社群登入提供商)都可以立即推送到所有 45 家分店,從而消除手動設定錯誤。在啟用 RADIUS 計費的同時啟用 Meraki Scanning API,可確保零售商同時擷取主動訪客工作階段分析和被動訪客客流量指標,從而將部署的商業價值最大化。

練習題

Q1. 網路工程師部署了具有 Purple Captive Portal 的全新 Meraki 訪客 SSID。未經驗證的用戶端已成功重新導向至登入頁面,但當他們嘗試使用「使用 Google 登入」時,頁面會一直旋轉,最終因 DNS 或逾時錯誤而失敗。其他登入方式(如電子郵件表單)運作完全正常。此問題最可能的原因是什麼,應如何解決?

提示:請考慮在 RADIUS 驗證完成之前,用戶端的瀏覽器必須連線到哪些外部網域才能完成 Google OAuth 握手。

查看標準答案

最可能的原因是 Meraki SSID 的 Walled Garden 設定中遺漏了 Google OAuth 輔助網域。雖然核心 Purple 網域和 CDN 網域已被允許(這就是 Splash 頁面能載入的原因),但 Google 驗證伺服器正被 AP 的預先驗證防火牆規則阻擋。要解決此問題,請導覽至 Wireless > Configure > Access control,選擇訪客 SSID,並將以下 Google OAuth 網域新增至 Walled Garden 清單:accounts.google.com*.googleapis.com*.gstatic.com*.googleusercontent.com。儲存後,AP 將允許用戶端完成 Google 驗證握手,並重新導向回 Purple 以完成 RADIUS 登入。

Q2. 在對高密度體育場 WiFi 網路進行部署後稽核期間,IT 團隊發現訪客 VLAN(具有 2048 個 IP 的 /21 子網路)的 DHCP 核心集在活動開始的前 2 小時內就已完全耗盡,即使活動中的並行連線數從未超過 800 個。RADIUS 計費已啟用。網路架構師應如何調整 Meraki 和 RADIUS 設定以緩解此問題?

提示:分析高密度暫態環境中用戶端工作階段逾時、閒置逾時和 DHCP 租約時間之間的關係。

查看標準答案

DHCP 核心集耗盡是由暫態用戶端(短暫路過或進入體育場的使用者)連線、取得 IP 位址然後離開場地所致。由於預設的 Meraki Session-Timeout 或 DHCP 租約時間過長,即使實體裝置已不在現場,這些 IP 位址仍保持保留狀態。為解決此問題,架構師應實施三項協調變更:1) 縮短 DHCP 租約時間:在 DHCP 伺服器(或處理 DHCP 的 Meraki 安全設備)上,將租約時間縮短至 10 或 15 分鐘。2) 設定閒置逾時:確保在連接埠 1813 上啟用了 RADIUS 計費,並在 RADIUS Access-Accept 設定檔中設定 10 分鐘(600 秒)的 Idle-Timeout。這會通知 Meraki AP 終止任何閒置 10 分鐘的用戶端工作階段。3) 縮短工作階段逾時:將體育場設定檔的全域 Session-Timeout 縮短至 120 分鐘(7200 秒),以強制定期重新評估作用中裝置。

Q3. MSP 正在設定具有 Purple Captive Portal 的 Meraki 訪客 SSID。他們已在 Meraki Dashboard 中輸入了正確的 Purple RADIUS 伺服器 IP 和連接埠 (1812/1813),但在使用內建的 RADIUS「測試」工具進行測試時,所有存取點都無法連線到該伺服器。MSP 確認 RADIUS 共用金鑰正確無誤,且 Purple 雲端處於線上狀態。MSP 很可能忽略了哪項路由或防火牆設定?

提示:回想在 Cisco Meraki 雲端管理架構中,RADIUS 驗證請求是從何處發起的。

查看標準答案

MSP 很可能將其本機網路防火牆設定為允許來自本機 AP 子網路的輸出 RADIUS 流量,但忘記了在 Meraki Splash 頁面部署中,RADIUS Access-Request 是直接源自 Cisco Meraki Dashboard Cloud Infrastructure,而非本機 AP。要解決此問題,MSP 必須取得 Meraki Dashboard 的輸出 IP 範圍(可在 Meraki Dashboard 的 Help > Firewall info 中找到),並設定其上游企業防火牆,以允許在這些 Meraki Dashboard IP 範圍與 Purple 的 Cloud RADIUS 伺服器之間的連接埠 1812(驗證)和 1813(計費)上進行輸入和輸出 UDP 流量。此外,他們必須確保將 Meraki Dashboard IP 作為有效的 RADIUS 用戶端新增至 Purple 入口網站設定中。