Saltar para o conteúdo principal

Captive Portal para Cisco Meraki

Um guia de referência técnica de nível intermédio e autoritário para integrar pontos de acesso Cisco Meraki MR com o Captive Portal na nuvem da Purple. Abrange configurações passo a passo do Meraki Dashboard, definições de servidor RADIUS (portas 1812/1813), exceções de domínio wildcard de walled garden e parâmetros de limite de tempo de sessão para implementações de WiFi de convidados de alto desempenho.

📖 8 min de leitura📝 1,892 palavras🔧 2 exemplos práticos3 perguntas de prática📚 8 definições principais

Ouça este guia

Ver transcrição do podcast
Bem-vindo à Série de Briefings Técnicos da Purple. Sou o vosso anfitrião e hoje vamos abordar algo que surge em quase todas as implementações de WiFi de convidados empresariais em que trabalhamos: configurar um Captive Portal em pontos de acesso Cisco Meraki MR e, especificamente, como integrar isso com a plataforma na nuvem da Purple utilizando autenticação RADIUS. Quer seja um MSP a integrar um novo cliente de hotelaria ou um arquiteto de rede interno numa cadeia de retalho, este episódio dar-lhe-á os passos de configuração precisos e a lógica por trás de cada um deles. Vamos contextualizar. Tem um espaço — pode ser um hotel, um centro de conferências, um estádio ou um parque de retalho — equipado com pontos de acesso Cisco Meraki MR geridos através do Meraki Dashboard. O objetivo é implementar uma experiência de WiFi de convidados personalizada que recolha dados primários (first-party data), imponha a aceitação dos termos de serviço e envie análises para uma plataforma de marketing. É exatamente para isso que a Purple foi criada, e a Meraki é uma das nossas implementações de hardware mais comuns a nível global. Agora, o ponto arquitetónico fundamental a compreender antes de alterar qualquer definição é este: na Cisco Meraki, a autenticação RADIUS para uma splash page não é processada localmente pelo ponto de acesso. O RADIUS Access-Request provém da nuvem da Meraki — da infraestrutura do Dashboard — e não do AP na sua LAN. Esta é uma distinção crítica que surpreende muitos engenheiros na sua primeira implementação Meraki. Significa que o seu servidor RADIUS, neste caso o endpoint de RADIUS na nuvem da Purple, precisa de estar acessível a partir da Internet, e as suas regras de firewall precisam de permitir o tráfego proveniente dos intervalos de IP do Meraki Dashboard, e não apenas da sub-rede do seu AP local. Encontrará os intervalos de IP atuais do Dashboard em Help e, depois, em Firewall Info no seu Meraki Dashboard. Muito bem, vamos entrar na configuração. Vou guiar-vos por este processo na ordem em que o faria numa implementação real. Passo um: configuração do SSID. No Meraki Dashboard, navegue até Wireless, depois Configure e, em seguida, SSIDs. Selecione o slot de SSID que pretende utilizar para o acesso de convidados. Dê-lhe um nome claro — algo como GuestWiFi ou NomeDoEspaço_Guest. Nas condições de associação (Association requirements), defina a Segurança (Security) para Aberta (Open), sem encriptação. Isto está correto e é intencional — a camada de segurança para os convidados é gerida pelo Captive Portal e pela autenticação RADIUS, e não pela encriptação WPA. Se estiver a implementar num ambiente PCI DSS, vai querer garantir que o tráfego de convidados está isolado na sua própria VLAN, o que abordaremos em breve. Passo dois: Splash page e autenticação. Ainda na página de Controlo de Acesso (Access Control) do seu SSID, desça até à secção Splash page. Defina-a para 'Sign-on with' e, no menu suspenso, selecione 'my RADIUS server'. Esta é a definição crítica que indica à Meraki para autenticar os utilizadores num servidor RADIUS externo antes de conceder acesso à rede. Abaixo disso, verá a opção de força do Captive Portal (Captive portal strength). Defina-a para 'Block all access until sign-on is complete'. Isto é o que impõe o walled garden — sem isso, os convidados poderiam contornar o portal por completo. Passo três: configuração do servidor RADIUS. Na secção RADIUS, clique em Add server. Irá precisar de três informações da sua conta Purple: o endereço IP ou FQDN do servidor RADIUS, a porta de autenticação que é UDP 1812 e o segredo partilhado. A Purple fornece estas informações na secção de configuração de espaços do portal. Para redundância em implementações de produção, deve adicionar um servidor RADIUS secundário — a Purple fornece um endpoint de failover. Defina a porta de accounting para UDP 1813 se pretender que os dados de sessão sejam enviados para o motor de análise da Purple, o que recomendo vivamente para qualquer espaço onde o tempo de permanência e a duração da sessão sejam métricas significativas. Uma nota rápida sobre os atributos RADIUS. A Meraki respeita o atributo Session-Timeout retornado na resposta RADIUS Access-Accept. A Purple utiliza isto para controlar a duração de uma sessão de convidado antes que seja necessária uma nova autenticação. Para um hotel, pode definir isto para 86.400 segundos — ou seja, 24 horas. Para um café, algo como 3.600 segundos (uma hora) é mais apropriado. O atributo Idle-Timeout também é respeitado, mas apenas se o accounting de RADIUS estiver ativado. Isto desliga as sessões inativas, o que é importante para a gestão de capacidade em espaços de alta densidade. Passo quatro: URL da splash page. Navegue até Wireless, depois Configure e, em seguida, Splash page. Selecione o seu SSID de convidados no menu suspenso. Defina o URL de splash personalizado (Custom splash URL) para o URL do portal da Purple para o seu espaço. Este é o URL para o qual a Meraki irá redirecionar os clientes não autenticados. A Meraki anexa parâmetros de consulta a este URL — incluindo um parâmetro login_url — que a Purple utiliza para concluir o handshake de autenticação. Não modifique nem remova estes parâmetros. Passo cinco: o walled garden. É aqui que a maioria das implementações encontra problemas. O walled garden é a lista de domínios e intervalos de IP que um dispositivo de convidado pode aceder antes de se autenticar. Sem as entradas corretas, a própria página do Captive Portal não irá carregar, porque o navegador será bloqueado de aceder à CDN da Purple e aos fornecedores de início de sessão social. Navegue de volta para Access Control para o seu SSID de convidados. Defina o Walled garden para 'Walled garden is enabled'. No campo de intervalos do Walled garden, precisa de adicionar o seguinte. Primeiro, os domínios da plataforma Purple: star ponto purple ponto ai e star ponto venuewifi ponto com. Segundo, os domínios de CDN que a Purple utiliza para disponibilizar os recursos do portal: star ponto cloudfront ponto net e star ponto akamaihd ponto net. Terceiro, a infraestrutura de redirecionamento da Meraki: star ponto network-auth ponto com. Quarto, se estiver a oferecer opções de início de sessão social, precisa dos domínios OAuth relevantes. Para a Google: accounts ponto google ponto com, star ponto googleapis ponto com, star ponto gstatic ponto com. Para o Facebook: star ponto facebook ponto com, star ponto fbcdn ponto net e connect ponto facebook ponto net. Para o Twitter ou X: star ponto twitter ponto com e star ponto twimg ponto com. Uma nota importante sobre como a Meraki gere domínios wildcard no walled garden. A Meraki suporta entradas wildcard utilizando o prefixo de asterisco, por exemplo, star ponto cloudfront ponto net. No entanto, esta é uma correspondência baseada em DNS — a Meraki resolve o domínio e permite os endereços IP resultantes. Isto significa que para fornecedores de CDN como a CloudFront ou a Akamai, onde os IPs resolvidos podem mudar frequentemente, deve utilizar o wildcard de domínio em vez de intervalos de IP estáticos. As entradas de IP estático são adequadas para os endpoints de RADIUS da Purple, que são estáveis, mas não para o tráfego de CDN. Agora vamos falar sobre dois cenários do mundo real em que trabalhei diretamente. O primeiro é um hotel de 350 quartos no Reino Unido. O cliente tinha pontos de acesso Meraki MR46 em três edifícios, com cerca de 400 dispositivos de convidados simultâneos no pico. A implementação inicial utilizava uma splash page de clique simples — sem RADIUS, apenas aceitação de termos. O problema era que tinham zero visibilidade sobre quem se estava a ligar, nenhuma recolha de e-mails e nenhuma forma de realizar campanhas de marketing pós-estadia. Migrámo-los para a Purple com início de sessão baseado em RADIUS. A configuração foi simples, mas o obstáculo foi que a firewall a montante estava a bloquear o tráfego UDP de saída na porta 1812 para qualquer destino fora da sub-rede local. Assim que adicionámos os intervalos de IP do Meraki Dashboard à lista de permissões da firewall, a autenticação funcionou imediatamente. Após a implementação, o hotel recolheu endereços de e-mail de aproximadamente 68% dos convidados que se ligaram no primeiro mês, e a sua equipa de marketing realizou uma campanha de reativação que gerou um aumento mensurável nas reservas diretas. O segundo cenário é uma cadeia de retalho com 45 lojas, cada uma equipada com pontos de acesso Meraki MR33. O desafio aqui era a escala e a consistência. Configurar manualmente 45 SSIDs com as definições de RADIUS e listas de walled garden corretas seria propício a erros e demorado. A solução foi utilizar a configuração baseada em modelos da Meraki. Criámos um único modelo de rede com as definições corretas de SSID, RADIUS e walled garden e, em seguida, vinculámos todas as 45 redes de lojas a esse modelo. Qualquer alteração — por exemplo, adicionar um novo fornecedor de início de sessão social ao walled garden — é feita uma vez no modelo e propaga-se automaticamente para todas as lojas. As análises da Purple agregaram depois os dados de afluência e tempo de permanência de todas as lojas, oferecendo à equipa de operações de retalho uma visão única em dashboard do comportamento dos convidados por loja, por região e por hora do dia. Permita-me partilhar três regras práticas que lhe pouparão tempo em todas as implementações de Captive Portal Meraki. Regra um: Verifique sempre os intervalos de IP do Meraki Dashboard antes de configurar o RADIUS. Os intervalos mudam ocasionalmente e, se a sua firewall os estiver a bloquear, a autenticação falhará silenciosamente do ponto de vista do utilizador — este verá apenas a página do portal ficar bloqueada. Utilize a ferramenta de teste de RADIUS integrada no Dashboard, em Access Control, para verificar a conectividade antes de avançar para o ambiente de produção. Regra dois: Utilize wildcards de domínio no walled garden, e não intervalos de IP, para qualquer conteúdo alojado em CDN. Os intervalos de IP de CDN são extensos e mudam frequentemente. Uma entrada de domínio wildcard é mais fácil de manter e mais fiável. Regra três: Ative o accounting de RADIUS na porta 1813, mesmo que ache que ainda não precisa dele. Os dados de sessão são valiosos para a resolução de problemas de desligamento e para fornecer métricas precisas de tempo de permanência na sua plataforma de análise. Não custa nada ativar e é muito difícil de implementar retroativamente. Agora, algumas perguntas rápidas que me fazem regularmente. Posso utilizar a splash page integrada da Meraki em vez da Purple? Sim, mas perde a recolha de dados, as análises, a automação de marketing e a gestão de consentimento em conformidade com o GDPR. A splash integrada é adequada para um clique simples básico, mas não é uma plataforma de inteligência de convidados. Esta configuração funciona em firewalls Meraki MX tão bem como em pontos de acesso MR? A configuração de splash page RADIUS é suportada em pontos de acesso MR. Os dispositivos MX gerem a autenticação de VPN de cliente de forma diferente. Especificamente para WiFi de convidados, está a configurar os SSIDs dos MR. E quanto ao WPA3? Os pontos de acesso Meraki MR suportam WPA3 em SSIDs empresariais. Para implementações de Captive Portal de convidados, o SSID é normalmente Aberto (Open), pelo que o WPA3 não se aplica diretamente. No entanto, se estiver a implementar um SSID Passpoint ou OpenRoaming em conjunto com o seu SSID de Captive Portal — o que a Purple suporta —, esse SSID utiliza WPA3-Enterprise com 802.1X, e é aí que o WPA3 se torna relevante. Para concluir: a integração entre a Cisco Meraki e a Purple está amplamente testada e é fiável, mas requer atenção a três aspetos: encaminhamento de IP de origem do RADIUS, integridade do walled garden e configuração do limite de tempo de sessão. Acerte nestes três pontos e a implementação será simples. O caso de negócio é claro — os espaços que implementam uma plataforma de WiFi de convidados devidamente configurada com recolha de dados obtêm consistentemente retornos mensuráveis no envolvimento de marketing e na visão operacional. Se quiser aprofundar o assunto, consulte o guia da Purple sobre a implementação de autenticação 802.1X com Cloud RADIUS e o nosso guia de implementação de APs sem fios Cisco no blogue da Purple. Ambos estão ligados nas notas do episódio. Obrigado por ouvir. Se tiver um cenário de implementação específico que gostaria que abordássemos, entre em contacto com a equipa técnica da Purple. Vemo-nos no próximo episódio.

📚 Parte da nossa série principal: WiFi Multi-Tenant

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]。这些数据有助于在人员配置、店铺布局和房地产估值方面做出明智的决策。

参考资料

Definições Principais

Captive Portal

Uma página web que é apresentada a utilizadores recém-conectados a uma rede Wi-Fi antes de lhes ser concedido um acesso mais amplo aos recursos da rede.

Utilizado por espaços para impor termos de serviço, recolher dados de utilizadores e autenticar convidados via RADIUS antes de permitir o acesso à Internet.

RADIUS (Remote Authentication Dial-In User Service)

Um protocolo de rede que fornece gestão centralizada de Autenticação, Autorização e Contabilização (AAA) para utilizadores que se ligam e utilizam um serviço de rede.

Os APs Meraki consultam os servidores Cloud RADIUS da Purple para verificar as credenciais dos convidados e autorizar o acesso à rede.

Walled Garden

Um conjunto restrito de endereços IP ou nomes de domínio aos quais os clientes convidados não autenticados têm permissão para aceder antes de concluírem o processo de início de sessão no Captive Portal.

Crucial para permitir que os clientes acedam à splash page alojada, transfiram recursos CSS/JS de CDNs e comuniquem com endpoints OAuth de início de sessão social.

Session-Timeout

Um atributo RADIUS RFC 2865 que especifica o número máximo de segundos que uma sessão de utilizador pode permanecer ativa antes de exigir uma nova autenticação.

Retornado pelo RADIUS da Purple no pacote Access-Accept para controlar quanto tempo um convidado permanece com a sessão iniciada (ex. 24 horas para hóspedes de hotel).

Idle-Timeout

Um atributo RADIUS que define o período máximo de inatividade (sem transferência de dados) permitido antes que a sessão do utilizador seja terminada.

Utilizado para desligar dispositivos inativos e recuperar endereços IP em ambientes de alta densidade, como estádios ou lojas de retalho.

PAP (Password Authentication Protocol)

Um protocolo de autenticação simples e não encriptado utilizado pelo RADIUS para validar credenciais de utilizador.

Exigido pela Cisco Meraki para autenticação RADIUS de splash page externa. A segurança é mantida encriptando o trânsito do cliente para o portal via HTTPS e encriptando o campo de palavra-passe do pacote RADIUS utilizando o segredo partilhado.

Passpoint (Hotspot 2.0)

Um padrão da indústria desenvolvido pela Wi-Fi Alliance que permite roaming automático semelhante ao celular e ligação segura a redes Wi-Fi.

Suportado pelos pontos de acesso Meraki MR e pela Purple para permitir uma integração de convidados fluida e baseada em certificados, sem necessidade de Captive Portals.

CMX (Cisco Meraki Location APIs)

Uma estrutura de API que permite aos pontos de acesso Meraki exportar dados de localização e presença em tempo real (pedidos de sonda) para plataformas de análise de terceiros.

Integrado com a Purple para fornecer análises detalhadas de afluência (footfall), tempo de permanência e taxa de retorno para espaços físicos.

Exemplos Práticos

Um hotel de luxo com 350 quartos equipado com pontos de acesso Cisco Meraki MR46 necessita de implementar uma rede WiFi de convidados segura. Pretendem recolher os e-mails dos convidados, limitar a largura de banda a 5 Mbps por convidado e garantir que os convidados apenas precisam de iniciar sessão uma vez a cada 7 dias. Como deve o arquiteto de rede configurar o Meraki Dashboard e as definições de RADIUS?

  1. Configuração do SSID: Configure um SSID aberto com o nome 'Hotel_Guest' com a splash page definida para 'Sign-on with' e 'my RADIUS server'.\n2. Configuração do RADIUS: Introduza os IPs de RADIUS primário (116.203.120.121) e secundário (195.201.123.149) da Purple. Defina a porta de autenticação para 1812 e a porta de accounting para 1813. Configure o segredo partilhado.\n3. Parâmetros de Timeout: No perfil do servidor RADIUS ou no dashboard da Purple, defina o atributo Session-Timeout para 604800 segundos (7 dias) e o Idle-Timeout para 1800 segundos (30 minutos) para recuperar concessões DHCP inativas.\n4. Modelação de Tráfego (Traffic Shaping): No Meraki Dashboard em Wireless > Configure > Firewall & traffic shaping, selecione o SSID, ative a modelação de tráfego e defina um limite por cliente de 5 Mbps de downstream e 2 Mbps de upstream.\n5. Walled Garden: Ative o walled garden e adicione *.purple.ai, *.venuewifi.com e os wildcards de CDN necessários, como *.cloudfront.net, para permitir a renderização da splash page antes da autenticação.
Comentário do Examinador: Esta solução equilibra com sucesso a experiência do utilizador com o desempenho da rede. A utilização de um Session-Timeout de 7 dias evita a fadiga de início de sessão para hóspedes de estadia longa, enquanto o Idle-Timeout de 30 minutos evita a exaustão de endereços IP no pool de DHCP. É preferível configurar a modelação de tráfego diretamente nos APs Meraki em vez de depender de atributos RADIUS (como Maximum-Data-Rate-Downstream), pois reduz a sobrecarga de processamento nos APs e fornece um mecanismo de aplicação mais consistente.

Uma cadeia de retalho nacional com 45 lojas pretende implementar WiFi de convidados em todas as localizações utilizando APs Meraki MR33. Necessitam de garantir uma configuração consistente, bloquear o acesso à rede corporativa e recolher análises de afluência (footfall). Como deve isto ser implementado à escala?

  1. Modelos de Configuração: Crie um único Modelo de Configuração de Rede (Network Configuration Template) no Meraki Dashboard. Configure o SSID de convidados com as definições de RADIUS da Purple, domínios de walled garden e o URL de splash personalizado: https://login.venuewifi.com/ip/v2/meraki. Vincule todas as 45 redes de lojas a este modelo.\n2. Segmentação de VLAN: No switch local e firewall de cada loja, configure uma VLAN de Convidados dedicada (ex. VLAN 50). Nas definições de SSID da Meraki, defina a Atribuição de IP de Cliente (Client IP Assignment) para 'External DHCP server' e especifique a VLAN 50. Garanta que a firewall bloqueia todo o encaminhamento da VLAN 50 para as sub-redes corporativas.\n3. Análise de Localização: Ative a Meraki Scanning API (CMX) no Meraki Dashboard em Network-wide > Configure > General. Introduza o URL de Post da Purple e o validador de segredo. Isto permite que os APs Meraki transmitam dados de pedidos de sonda (probe requests) em tempo real para o motor de análise da Purple para relatórios de afluência (footfall) e tempo de permanência.
Comentário do Examinador: A implementação à escala requer automação e gestão baseada em modelos. Ao vincular todas as redes a um único modelo, quaisquer atualizações futuras do walled garden (como a adição de um novo fornecedor de início de sessão social) podem ser aplicadas instantaneamente a todas as 45 lojas, eliminando erros de configuração manual. A ativação da Meraki Scanning API em conjunto com o accounting de RADIUS garante que o retalhista recolhe tanto as análises de sessões ativas de convidados como as métricas passivas de afluência de visitantes, maximizando o valor comercial da implementação.

Perguntas de Prática

Q1. Um engenheiro de rede implementa um novo SSID de convidados Meraki com um Captive Portal da Purple. Os clientes não autenticados são redirecionados com sucesso para a página de início de sessão, mas quando tentam utilizar 'Iniciar sessão com o Google', a página fica a carregar e acaba por falhar com um erro de DNS ou de limite de tempo. Outros métodos de início de sessão (como o formulário de e-mail) funcionam perfeitamente. Qual é a causa mais provável deste problema e como deve ser resolvido?

Dica: Considere quais os domínios externos que o navegador do cliente deve alcançar para concluir o handshake do Google OAuth antes que a autenticação RADIUS seja concluída.

Ver resposta modelo

A causa mais provável é que os domínios auxiliares do Google OAuth estão em falta na configuração do Walled Garden do SSID da Meraki. Embora os domínios principais da Purple e os domínios de CDN sejam permitidos (razão pela qual a splash page carrega), os servidores de autenticação da Google estão a ser bloqueados pelas regras de firewall de pré-autenticação do AP. Para resolver isto, navegue até Wireless > Configure > Access control, selecione o SSID de convidados e adicione os seguintes domínios do Google OAuth à lista do Walled Garden: accounts.google.com, *.googleapis.com, *.gstatic.com e *.googleusercontent.com. Uma vez guardado, o AP permitirá que o cliente conclua o handshake de autenticação da Google e redirecione de volta para a Purple para concluir o início de sessão RADIUS.

Q2. Durante uma auditoria pós-implementação de uma rede WiFi de estádio de alta densidade, a equipa de TI nota que o pool de DHCP para a VLAN de convidados (uma sub-rede /21 com 2048 IPs) fica completamente esgotado nas primeiras 2 horas de um evento, embora as ligações simultâneas ativas nunca excedam as 800. O accounting de RADIUS está ativado. Como pode o arquiteto de rede ajustar as definições da Meraki e do RADIUS para mitigar este problema?

Dica: Analise a relação entre os limites de tempo de sessão do cliente, limites de tempo de inatividade (idle timeouts) e tempos de concessão DHCP em ambientes transitórios de alta densidade.

Ver resposta modelo

O esgotamento do pool de DHCP é causado por clientes transitórios (utilizadores que passam a pé ou entram brevemente no estádio) que se ligam, obtêm um endereço IP e depois abandonam o espaço. Como o Session-Timeout padrão da Meraki ou o tempo de concessão DHCP é demasiado longo, esses endereços IP permanecem reservados mesmo que os dispositivos físicos já não estejam presentes. Para resolver isto, o arquiteto deve implementar três alterações coordenadas: 1) Reduzir o Tempo de Concessão DHCP: No servidor DHCP (ou no dispositivo de segurança Meraki que gere o DHCP), reduza o tempo de concessão para 10 ou 15 minutos. 2) Configurar o Idle Timeout: Garanta que o accounting de RADIUS está ativado na porta 1813 e configure um Idle-Timeout de 10 minutos (600 seconds) no perfil RADIUS Access-Accept. Isto indica ao AP Meraki para terminar a sessão de qualquer cliente inativo durante 10 minutos. 3) Encurtar o Session Timeout: Reduza o Session-Timeout global para o perfil do estádio para 120 minutos (7200 segundos) para forçar a reavaliação periódica dos dispositivos ativos.

Q3. Um MSP está a configurar um SSID de convidados Meraki com um Captive Portal da Purple. Introduziram os IPs e portas corretos do servidor RADIUS da Purple (1812/1813) no Meraki Dashboard, mas ao testar com a ferramenta integrada de 'Teste' de RADIUS, todos os pontos de acesso falham ao tentar alcançar o servidor. O MSP verifica que o segredo partilhado de RADIUS está correto e que a nuvem da Purple está online. Que configuração de encaminhamento ou firewall terá o MSP provavelmente negligenciado?

Dica: Lembre-se de onde provêm os pedidos de autenticação RADIUS numa arquitetura gerida na nuvem da Cisco Meraki.

Ver resposta modelo

O MSP provavelmente configurou as firewalls da sua rede local para permitir o tráfego RADIUS de saída das sub-redes dos APs locais, mas esqueceu-se de que, numa implementação de splash page da Meraki, os RADIUS Access-Requests provêm diretamente da Infraestrutura na Nuvem do Cisco Meraki Dashboard, e não dos APs locais. Para resolver isto, o MSP deve obter os intervalos de IP de saída do Meraki Dashboard (encontrados no Meraki Dashboard em Help > Firewall info) e configurar a sua firewall corporativa a montante para permitir tráfego UDP de entrada e saída nas portas 1812 (Autenticação) e 1813 (Accounting) entre esses intervalos de IP do Meraki Dashboard e os servidores Cloud RADIUS da Purple. Adicionalmente, devem garantir que os IPs do Meraki Dashboard são adicionados como clientes RADIUS válidos na configuração do portal da Purple.