Skip to main content

Captive Portal for Cisco Meraki

An authoritative, intermediate-level technical reference guide for integrating Cisco Meraki MR access points with Purple's cloud captive portal. Covers step-by-step Meraki Dashboard configurations, RADIUS server settings (ports 1812/1813), walled garden wildcard domain exceptions, and session timeout parameters for high-performance guest WiFi deployments.

📖 8 min read📝 1,892 words🔧 2 worked examples3 practice questions📚 8 key definitions

Listen to this guide

View podcast transcript
Welcome to the Purple Technical Briefing Series. I'm your host, and today we're covering something that comes up on almost every enterprise guest WiFi deployment we work on: configuring a captive portal on Cisco Meraki MR access points, and specifically how to integrate that with Purple's cloud platform using RADIUS authentication. Whether you're an MSP onboarding a new hospitality client or an in-house network architect at a retail chain, this episode will give you the precise configuration steps and the reasoning behind each one. Let's set the scene. You've got a venue — could be a hotel, a conference centre, a stadium, or a retail park — running Cisco Meraki MR access points managed through the Meraki Dashboard. The brief is to deploy a branded guest WiFi experience that captures first-party data, enforces terms of service acceptance, and feeds analytics back into a marketing platform. That's exactly what Purple is built to do, and Meraki is one of our most common hardware deployments globally. Now, the key architectural point to understand before you touch a single setting is this: on Cisco Meraki, RADIUS authentication for a splash page is not processed locally by the access point. The RADIUS Access-Request is sourced from the Meraki cloud — from the Dashboard infrastructure — not from the AP on your LAN. This is a critical distinction that catches out a lot of engineers on their first Meraki deployment. It means your RADIUS server, in this case Purple's cloud RADIUS endpoint, needs to be reachable from the internet, and your firewall rules need to permit traffic from Meraki's Dashboard IP ranges, not just from your local AP subnet. You'll find the current Dashboard IP ranges under Help, then Firewall Info in your Meraki Dashboard. Right, let's get into the configuration. I'll walk you through this in the order you'd actually do it in a live deployment. Step one: SSID configuration. In the Meraki Dashboard, navigate to Wireless, then Configure, then SSIDs. Select the SSID slot you want to use for guest access. Give it a clear name — something like GuestWiFi or VenueName underscore Guest. Under the Association requirements, set Security to Open, no encryption. This is correct and intentional — the security layer for guests is handled by the captive portal and the RADIUS authentication, not by WPA encryption. If you're deploying in a PCI DSS environment, you'll want to ensure guest traffic is isolated on its own VLAN, which we'll cover shortly. Step two: Splash page and authentication. Still on the Access Control page for your SSID, scroll down to the Splash page section. Set it to Sign-on with, and from the dropdown, select my RADIUS server. This is the critical setting that tells Meraki to authenticate users against an external RADIUS server before granting network access. Below that, you'll see the Captive portal strength option. Set this to Block all access until sign-on is complete. This is what enforces the walled garden — without it, guests could bypass the portal entirely. Step three: RADIUS server configuration. Under the RADIUS section, click Add server. You'll need three pieces of information from your Purple account: the RADIUS server IP address or FQDN, the authentication port which is UDP 1812, and the shared secret. Purple provides these in the venue configuration section of the portal. For redundancy in production deployments, you should add a secondary RADIUS server — Purple provides a failover endpoint. Set the accounting port to UDP 1813 if you want session data fed back into Purple's analytics engine, which I'd strongly recommend for any venue where dwell time and session duration are meaningful metrics. A quick note on RADIUS attributes. Meraki honours the Session-Timeout attribute returned in the RADIUS Access-Accept response. Purple uses this to control how long a guest session lasts before re-authentication is required. For a hotel, you might set this to 86,400 seconds — that's 24 hours. For a coffee shop, something like 3,600 seconds, one hour, is more appropriate. The Idle-Timeout attribute is also honoured, but only if RADIUS accounting is enabled. This disconnects idle sessions, which is important for capacity management in high-density venues. Step four: Splash page URL. Navigate to Wireless, then Configure, then Splash page. Select your guest SSID from the dropdown. Set the Custom splash URL to the Purple portal URL for your venue. This is the URL that Meraki will redirect unauthenticated clients to. Meraki appends query parameters to this URL — including a login_url parameter — which Purple uses to complete the authentication handshake. Do not modify or strip these parameters. Step five: the walled garden. This is where most deployments run into trouble. The walled garden is the list of domains and IP ranges that a guest device can reach before they've authenticated. Without the correct entries, the captive portal page itself won't load, because the browser will be blocked from reaching the Purple CDN and the social login providers. Navigate back to Access Control for your guest SSID. Set Walled garden to Walled garden is enabled. In the Walled garden ranges field, you need to add the following. First, the Purple platform domains: star dot purple dot ai, and star dot venuewifi dot com. Second, the CDN domains that Purple uses to serve portal assets: star dot cloudfront dot net, and star dot akamaihd dot net. Third, the Meraki redirect infrastructure: star dot network-auth dot com. Fourth, if you're offering social login options, you need the relevant OAuth domains. For Google: accounts dot google dot com, star dot googleapis dot com, star dot gstatic dot com. For Facebook: star dot facebook dot com, star dot fbcdn dot net, and connect dot facebook dot net. For Twitter or X: star dot twitter dot com and star dot twimg dot com. One important note on how Meraki handles wildcard domains in the walled garden. Meraki does support wildcard entries using the asterisk prefix, for example star dot cloudfront dot net. However, this is a DNS-based match — Meraki resolves the domain and allows the resulting IP addresses. This means that for CDN providers like CloudFront or Akamai, where the resolved IPs can change frequently, you should use the domain wildcard rather than static IP ranges. Static IP entries are fine for Purple's RADIUS endpoints, which are stable, but not for CDN traffic. Now let's talk about two real-world scenarios I've worked on directly. The first is a 350-room hotel in the UK. The client was running Meraki MR46 access points across three buildings, with about 400 concurrent guest devices at peak. The initial deployment used a click-through splash page — no RADIUS, just terms acceptance. The problem was they had zero insight into who was connecting, no email capture, and no way to run post-stay marketing campaigns. We migrated them to Purple with RADIUS-based sign-on. The configuration was straightforward, but the gotcha was that their upstream firewall was blocking outbound UDP on port 1812 to anything outside the local subnet. Once we added the Meraki Dashboard IP ranges to the firewall allow-list, authentication worked immediately. Post-deployment, the hotel captured email addresses from approximately 68 percent of connecting guests in the first month, and their marketing team ran a re-engagement campaign that drove a measurable uplift in direct bookings. The second scenario is a retail chain with 45 stores, each running Meraki MR33 access points. The challenge here was scale and consistency. Manually configuring 45 SSIDs with the correct RADIUS settings and walled garden lists would be error-prone and time-consuming. The solution was to use Meraki's template-based configuration. We built a single network template with the correct SSID, RADIUS, and walled garden settings, then bound all 45 store networks to that template. Any change — say, adding a new social login provider to the walled garden — is made once in the template and propagates to all stores automatically. Purple's analytics then aggregated footfall and dwell time data across all stores, giving the retail operations team a single dashboard view of guest behaviour by store, by region, and by time of day. Let me give you three rules of thumb that will save you time on every Meraki captive portal deployment. Rule one: Always check the Meraki Dashboard IP ranges before you configure RADIUS. The ranges change occasionally, and if your firewall is blocking them, authentication will fail silently from the user's perspective — they'll just see the portal page hang. Use the built-in RADIUS test tool in the Dashboard under Access Control to verify connectivity before you go live. Rule two: Use domain wildcards in the walled garden, not IP ranges, for any CDN-hosted content. CDN IP ranges are large and change frequently. A wildcard domain entry is more maintainable and more reliable. Rule three: Enable RADIUS accounting on port 1813 even if you think you don't need it yet. Session data is valuable for troubleshooting disconnection issues and for feeding accurate dwell time metrics into your analytics platform. It costs nothing to enable and is very hard to retrofit after the fact. Now, a few rapid-fire questions I get asked regularly. Can I use Meraki's built-in splash page instead of Purple? Yes, but you lose the data capture, the analytics, the marketing automation, and the GDPR-compliant consent management. The built-in splash is fine for a basic click-through, but it's not a guest intelligence platform. Does this configuration work on Meraki MX firewalls as well as MR access points? The RADIUS splash page configuration is supported on MR access points. MX appliances handle client VPN authentication differently. For guest WiFi specifically, you're configuring the MR SSIDs. What about WPA3? Meraki MR access points support WPA3 on enterprise SSIDs. For guest captive portal deployments, the SSID is typically Open, so WPA3 doesn't apply directly. However, if you're deploying a Passpoint or OpenRoaming SSID alongside your captive portal SSID — which Purple supports — that SSID uses WPA3-Enterprise with 802.1X, and that's where WPA3 becomes relevant. To wrap up: the Cisco Meraki and Purple integration is well-tested and reliable, but it requires attention to three things: RADIUS source IP routing, walled garden completeness, and session timeout configuration. Get those three right and the deployment is straightforward. The business case is clear — venues that deploy a properly configured guest WiFi platform with data capture consistently see measurable returns in marketing engagement and operational insight. If you want to go deeper, check out Purple's guide on implementing 802.1X authentication with cloud RADIUS, and our Cisco Wireless AP deployment guide on the Purple blog. Both are linked in the show notes. Thanks for listening. If you've got a specific deployment scenario you'd like us to cover, get in touch with the Purple technical team. We'll see you in the next episode.

📚 Part of our core series: Multi-Tenant WiFi

header_image.png

Executive Summary

This authoritative reference guide provides a comprehensive, step-by-step configuration framework for integrating Cisco Meraki wireless networks with Purple’s cloud-based captive portal. Designed for IT managers, network architects, and managed service providers (MSPs), this document details the exact configurations required within the Meraki Dashboard to deploy a secure, high-performance guest WiFi solution [1].

By decoupling the guest intelligence layer from the hardware, enterprise venues can leverage Purple's certified Guest WiFi and WiFi Analytics platforms to capture rich, GDPR-compliant first-party data while ensuring network integrity and regulatory compliance [2]. This guide addresses critical integration parameters, including RADIUS authentication (ports 1812/1813), walled garden domain exceptions, CDN wildcard resolution, and guest redirection mechanics across diverse physical venues such as Retail , Healthcare , Hospitality , and Transport hubs.


Technical Deep-Dive

To successfully integrate Cisco Meraki MR Access Points (APs) with an external captive portal like Purple, network engineers must understand the underlying control and data plane architecture. Unlike traditional on-premise wireless controllers where RADIUS authentication requests are sourced from the physical controller or individual APs, Cisco Meraki employs a cloud-managed architecture [1].

Control Plane and Data Plane Separation

When a guest client associates with an open SSID configured for an external captive portal, the Meraki MR AP places the client in a pre-authentication state. In this state, all traffic is blocked except for DNS queries, DHCP, and traffic destined for IP addresses or hostnames explicitly defined in the Walled Garden [3].

The actual RADIUS Access-Request messages are not generated by the local Meraki MR AP. Instead, they are sourced from the Cisco Meraki Dashboard Cloud Infrastructure [1]. This is a crucial architectural distinction:

> "RADIUS access request messages for a splash page will be sourced from the dashboard, not from the local Meraki devices. As such, the RADIUS server's private LAN IP address cannot be specified here." [1]

Consequently, the upstream firewalls protecting your RADIUS servers must permit inbound traffic from the entire block of Meraki Dashboard outbound IP ranges, which are dynamic and region-specific [1]. These ranges can be retrieved dynamically via the Meraki Dashboard under Help > Firewall info [1].

architecture_overview.png

RADIUS Authentication Protocol (PAP)

For sign-on splash page authentication, Meraki utilises the Password Authentication Protocol (PAP) [1]. While PAP is historically unencrypted, the Meraki-Purple integration mitigates security risks through multi-layered encryption:

  1. Client-to-Cloud Encryption: The guest client establishes a secure HTTPS (SSL/TLS) session directly with Purple's hosted captive portal. The credentials (e.g., social login tokens, email forms) are encrypted in transit from the client's browser to Purple's servers [1].
  2. RADIUS Shared Secret Encryption: When the Meraki Cloud sends the RADIUS Access-Request to Purple's Cloud RADIUS server, it encrypts the user's password using the configured RADIUS Shared Secret and a standard XOR function in accordance with RFC 2865 [1]. This ensures that cleartext credentials are never transmitted over the public internet.

Supported RADIUS Attributes

The Meraki Cloud and Purple Cloud RADIUS exchange several key attributes during the authentication handshake to enforce session parameters and policies:

RADIUS Attribute Type Direction Description & Practical Context
User-Name String Request The identifier of the guest user (e.g., email address, MAC address) [1].
User-Password String Request The encrypted user password or session token [1].
Called-Station-ID String Request Formatted as AP_MAC:SSID_NAME (e.g., AA-BB-CC-DD-EE-FF:GuestWiFi). Crucial for location-based policy routing [1].
Calling-Station-ID String Request The client's physical MAC address (e.g., 11-22-33-44-55-66). Used for device tracking and session resumption [1].
Session-Timeout Integer Accept The maximum session duration in seconds. After expiry, the client is redirected back to the captive portal [1].
Idle-Timeout Integer Accept The maximum idle time in seconds. If no data is transferred, the session is terminated. Requires RADIUS Accounting [1].
Filter-Id String Accept Conveys a specific Meraki Group Policy name to apply to the client (e.g., limiting bandwidth or blocking specific categories) [1].

Implementation Guide

This step-by-step configuration walkthrough outlines how to integrate Cisco Meraki MR access points with Purple's external captive portal.

Step 1: Configure SSID Access Control

Navigate to Wireless > Configure > Access control in the Meraki Dashboard [1]. Select your target guest SSID and configure the following parameters:

  • Association Requirements: Set to Open (no encryption) [1]. This ensures a frictionless onboarding experience. If you require encrypted guest transit, consider implementing Passpoint / Hotspot 2.0 with Cloud RADIUS [4].
  • Splash Page: Select Sign-on with and choose my RADIUS server from the drop-down menu [1].
  • RADIUS Servers: Click Add server and input Purple's Cloud RADIUS primary and secondary endpoints [1]:
    • Host IP: 116.203.120.121 (Primary) and 195.201.123.149 (Secondary)
    • Port: 1812 (Authentication) [1]
    • Secret: [Your Purple Shared Secret]
  • RADIUS Accounting: Set to RADIUS accounting is enabled and add the accounting servers:
    • Host IP: 116.203.120.121 (Primary) and 195.201.123.149 (Secondary)
    • Port: 1813 (Accounting)
    • Secret: [Your Purple Shared Secret]
  • Captive Portal Strength: Select Block all access until sign-on is complete [1]. This strictly enforces that clients cannot access the internet without passing through the splash page.

Step 2: Configure the Custom Splash Page URL

Navigate to Wireless > Configure > Splash page [1]. Select your guest SSID and configure:

  • Custom Splash URL: Select Or point to a custom URL and enter the Purple redirection URL:
    • https://login.venuewifi.com/ip/v2/meraki
  • Splash Page Redirect: Set to The URL they were trying to fetch or redirect them to a specific landing page (e.g., your venue's homepage) [3].

Step 3: Configure Walled Garden Domain Name Exceptions

To ensure guest clients can load the captive portal, download assets from Content Delivery Networks (CDNs), and complete social authentication (e.g., Google or Facebook OAuth), you must enable and configure the Walled Garden [3].

Navigate back to Wireless > Configure > Access control and locate the Walled Garden section [1].

  1. Set Walled Garden to Walled garden is enabled [1].
  2. In the Walled garden ranges field, enter the required FQDNs and wildcard domains [1].

walled_garden_infographic.png

How Meraki Handles Wildcards and CDN Traffic

Cisco Meraki MR access points support wildcard domains in the walled garden using the asterisk prefix (e.g., *.purple.ai) [1]. However, it is vital to understand the underlying mechanics:

  • DNS-Based Whitelisting: The Meraki AP intercepts the client's DNS requests. When the client requests a domain matching an entry in the walled garden, the AP resolves the domain to its current IP address and temporarily permits the client to communicate with that IP [3].
  • Dynamic CDN IPs: CDNs like Amazon CloudFront (*.cloudfront.net) and Akamai (*.akamaihd.net) resolve to highly dynamic, geographically distributed IP addresses that change frequently. Meraki’s DNS-based whitelisting handles this seamlessly by resolving the domains in real-time. Never use static IP addresses for CDN resources in your walled garden, as this will lead to intermittent loading failures of portal assets.

Best Practices

To ensure high availability, security, and optimal user experience, adhere to these industry-standard deployment best practices:

1. Network Segmentation and VLAN Isolation

Never bridge guest traffic directly onto your corporate LAN. Configure your Meraki MR APs to tag guest traffic with a dedicated Guest VLAN (e.g., VLAN 30) [4]. Ensure this VLAN terminates on a DMZ or a separate virtual routing and forwarding (VRF) instance on your upstream firewall. This mitigates lateral movement risks and ensures compliance with security standards like PCI DSS and GDPR [2] [4].

2. Configure Failover and Session Resiliency

Network links can fail. To prevent guests from being locked out of the internet during an authentication server outage, configure the RADIUS Failover Policy in the Meraki Dashboard:

  • Failover Policy: Set to Deny access for maximum security, or Allow access if maintaining guest connectivity is prioritised over data capture during an outage.
  • Secondary Servers: Always configure both primary and secondary RADIUS servers to distribute load and provide automatic failover [1].

3. Implement Session and Idle Timeouts

Manage your wireless spectrum and DHCP pool leases by configuring appropriate timeout parameters [1]:

  • Session Timeout: Set to 1440 minutes (24 hours) for hospitality environments, allowing guests to stay connected throughout their stay without constant re-authentication [1]. For retail or public transport, reduce this to 120 minutes (2 hours) to encourage fresh engagement and free up DHCP leases.
  • Idle Timeout: Set to 15 minutes. If a client device goes to sleep or leaves the venue, the AP terminates the session, reclaiming network resources [1].

Troubleshooting & Risk Mitigation

When deploying external captive portals on Cisco Meraki, engineers commonly encounter three primary failure modes. Use this diagnostic matrix to quickly isolate and resolve issues:

Symptom Root Cause Diagnostic Step Remediation
Splash page does not load; browser displays 'Connection Timed Out'. Upstream firewall is blocking outbound DNS or HTTP/HTTPS traffic to Purple's CDN [1]. Attempt to resolve login.venuewifi.com from a wired device on the same VLAN. Ensure the guest VLAN has outbound access to public DNS (UDP 53) and HTTP/HTTPS (TCP 80/443).
Splash page loads, but user credentials fail to authenticate. Upstream firewall is blocking RADIUS traffic sourced from the Meraki Cloud [1]. Use the RADIUS Test utility in the Meraki Dashboard under Access Control [1]. Add the Meraki Dashboard outbound IP ranges (found under Help > Firewall info) to your firewall's outbound allow-list for UDP ports 1812 and 1813 [1].
Social login (e.g., Google OAuth) fails with a redirect error. Missing required OAuth helper domains in the Meraki Walled Garden [1]. Check the browser console on the client device for blocked resource loads. Append the mandatory OAuth domains (e.g., *.googleapis.com, *.gstatic.com) to the Walled Garden list [1].

ROI & Business Impact

Integrating Cisco Meraki with Purple transforms guest WiFi from a cost-centre into a strategic business asset. By leveraging enterprise-grade hardware alongside advanced analytics, organisations achieve measurable returns across multiple dimensions:

  • Data Monetisation & Marketing Reach: By capturing verified email addresses and social profiles, venues build a clean, compliant database of first-party customer data [2]. This feeds directly into customer relationship management (CRM) and marketing automation systems, enabling highly targeted, hyper-local marketing campaigns.
  • Operational Efficiency: Automated onboarding via Purple reduces the burden on front-desk and IT support staff. In hospitality environments, this translates to fewer guest complaints regarding WiFi connectivity and lower operational overhead.
  • Advanced Footfall Analytics: By combining Meraki's location APIs with Purple's analytics engine, venue operators gain deep insights into visitor behaviour, including footfall, dwell times, return rates, and peak busy hours [2]. This data drives informed decisions regarding staffing, store layouts, and real estate valuation.

References

Key Definitions

Captive Portal

A web page that is displayed to newly connected users of a Wi-Fi network before they are granted broader access to network resources.

Used by venues to enforce terms of service, collect user data, and authenticate guests via RADIUS before allowing internet access.

RADIUS (Remote Authentication Dial-In User Service)

A networking protocol that provides centralized Authentication, Authorization, and Accounting (AAA) management for users who connect and use a network service.

Meraki APs query Purple's Cloud RADIUS servers to verify guest credentials and authorize network access.

Walled Garden

A restricted set of IP addresses or domain names that unauthenticated guest clients are permitted to access before completing the captive portal sign-on process.

Crucial for allowing clients to reach the hosted splash page, download CSS/JS assets from CDNs, and communicate with social login OAuth endpoints.

Session-Timeout

An RFC 2865 RADIUS attribute that specifies the maximum number of seconds a user session can remain active before requiring re-authentication.

Returned by Purple RADIUS in the Access-Accept packet to control how long a guest remains logged in (e.g., 24 hours for hotel guests).

Idle-Timeout

A RADIUS attribute that defines the maximum period of inactivity (no data transferred) allowed before the user's session is terminated.

Used to disconnect stale devices and reclaim IP addresses in high-density environments like stadiums or retail stores.

PAP (Password Authentication Protocol)

A simple, unencrypted authentication protocol used by RADIUS to validate user credentials.

Required by Cisco Meraki for external splash page RADIUS authentication. Security is maintained by encrypting the client-to-portal transit via HTTPS and encrypting the RADIUS packet password field using the shared secret.

Passpoint (Hotspot 2.0)

An industry standard developed by the Wi-Fi Alliance that enables cellular-like automatic roaming and secure connection to Wi-Fi networks.

Supported by Meraki MR access points and Purple to enable seamless, certificate-based guest onboarding without captive portals.

CMX (Cisco Meraki Location APIs)

An API framework that allows Meraki access points to export real-time location and presence data (probe requests) to third-party analytics platforms.

Integrated with Purple to provide detailed footfall, dwell time, and return rate analytics for physical venues.

Worked Examples

A luxury 350-room hotel running Cisco Meraki MR46 access points needs to deploy a secure guest WiFi network. They want to capture guest emails, restrict bandwidth to 5 Mbps per guest, and ensure that guests only need to log in once every 7 days. How should the network architect configure the Meraki Dashboard and RADIUS settings?

  1. SSID Setup: Configure an open SSID named 'Hotel_Guest' with the splash page set to 'Sign-on with' and 'my RADIUS server'.\n2. RADIUS Configuration: Enter Purple's primary (116.203.120.121) and secondary (195.201.123.149) RADIUS IPs. Set the authentication port to 1812 and the accounting port to 1813. Configure the shared secret.\n3. Timeout Parameters: In the RADIUS server profile or Purple dashboard, set the Session-Timeout attribute to 604800 seconds (7 days) and Idle-Timeout to 1800 seconds (30 minutes) to reclaim inactive DHCP leases.\n4. Traffic Shaping: In the Meraki Dashboard under Wireless > Configure > Firewall & traffic shaping, select the SSID, enable traffic shaping, and set a per-client limit to 5 Mbps downstream and 2 Mbps upstream.\n5. Walled Garden: Enable the walled garden and add *.purple.ai, *.venuewifi.com, and necessary CDN wildcards like *.cloudfront.net to allow the splash page to render pre-authentication.
Examiner's Commentary: This solution successfully balances user experience with network performance. Using a 7-day Session-Timeout prevents login fatigue for long-stay guests, while the 30-minute Idle-Timeout prevents IP address exhaustion in the DHCP pool. Configuring traffic shaping directly on the Meraki APs rather than relying on RADIUS attributes (like Maximum-Data-Rate-Downstream) is preferred as it reduces processing overhead on the APs and provides a more consistent enforcement mechanism.

A national retail chain with 45 stores wants to deploy guest WiFi across all locations using Meraki MR33 APs. They need to ensure consistent configuration, block corporate network access, and collect footfall analytics. How should this be implemented at scale?

  1. Configuration Templates: Create a single Network Configuration Template in the Meraki Dashboard. Configure the guest SSID with Purple's RADIUS settings, walled garden domains, and the custom splash URL: https://login.venuewifi.com/ip/v2/meraki. Bind all 45 store networks to this template.\n2. VLAN Segmentation: On each store's local switch and firewall, configure a dedicated Guest VLAN (e.g., VLAN 50). In the Meraki SSID settings, set Client IP Assignment to 'External DHCP server' and specify VLAN 50. Ensure the firewall blocks all routing from VLAN 50 to corporate subnets.\n3. Location Analytics: Enable Meraki Scanning API (CMX) in the Meraki Dashboard under Network-wide > Configure > General. Enter the Purple Post URL and secret validator. This allows Meraki APs to stream real-time probe request data to Purple's analytics engine for footfall and dwell time reporting.
Examiner's Commentary: Deploying at scale requires automation and template-based management. By binding all networks to a single template, any future walled garden updates (such as adding a new social login provider) can be pushed to all 45 stores instantly, eliminating manual configuration errors. Enabling the Meraki Scanning API alongside RADIUS accounting ensures that the retailer captures both active guest session analytics and passive visitor footfall metrics, maximizing the business value of the deployment.

Practice Questions

Q1. A network engineer deploys a new Meraki guest SSID with a Purple captive portal. Unauthenticated clients are successfully redirected to the login page, but when they attempt to use 'Log in with Google', the page spins and eventually fails with a DNS or timeout error. Other login methods (like email form) work perfectly. What is the most likely cause of this issue, and how should it be resolved?

Hint: Consider what external domains the client's browser must reach to complete the Google OAuth handshake before the RADIUS authentication is completed.

View model answer

The most likely cause is that the Google OAuth helper domains are missing from the Meraki SSID's Walled Garden configuration. While the core Purple domains and CDN domains are allowed (which is why the splash page loads), the Google authentication servers are being blocked by the AP's pre-authentication firewall rules. To resolve this, navigate to Wireless > Configure > Access control, select the guest SSID, and append the following Google OAuth domains to the Walled Garden list: accounts.google.com, *.googleapis.com, *.gstatic.com, and *.googleusercontent.com. Once saved, the AP will permit the client to complete the Google authentication handshake and redirect back to Purple to complete the RADIUS login.

Q2. During a post-deployment audit of a high-density stadium WiFi network, the IT team notices that the DHCP pool for the guest VLAN (a /21 subnet with 2048 IPs) is completely exhausted within the first 2 hours of an event, even though active concurrent connections never exceed 800. RADIUS accounting is enabled. How can the network architect adjust the Meraki and RADIUS settings to mitigate this issue?

Hint: Analyze the relationship between client session timeouts, idle timeouts, and DHCP lease times in high-density transient environments.

View model answer

The DHCP pool exhaustion is caused by transient clients (users walking past or entering the stadium briefly) connecting, obtaining an IP address, and then leaving the venue. Because the default Meraki Session-Timeout or DHCP lease time is too long, those IP addresses remain reserved even though the physical devices are no longer present. To resolve this, the architect should implement three coordinated changes: 1) Reduce DHCP Lease Time: On the DHCP server (or Meraki security appliance handling DHCP), reduce the lease time to 10 or 15 minutes. 2) Configure Idle Timeout: Ensure RADIUS accounting is enabled on port 1813 and configure an Idle-Timeout of 10 minutes (600 seconds) in the RADIUS Access-Accept profile. This tells the Meraki AP to terminate the session of any client inactive for 10 minutes. 3) Shorten Session Timeout: Reduce the global Session-Timeout for the stadium profile to 120 minutes (7200 seconds) to force periodic re-evaluation of active devices.

Q3. An MSP is configuring a Meraki guest SSID with a Purple captive portal. They have entered the correct Purple RADIUS server IPs and ports (1812/1813) in the Meraki Dashboard, but when testing with the built-in RADIUS 'Test' tool, all access points fail to reach the server. The MSP verifies that the RADIUS shared secret is correct and that the Purple cloud is online. What routing or firewall configuration did the MSP likely overlook?

Hint: Recall where RADIUS authentication requests are sourced from in a Cisco Meraki cloud-managed architecture.

View model answer

The MSP likely configured their local network firewalls to allow outbound RADIUS traffic from the local AP subnets, but forgot that in a Meraki splash page deployment, RADIUS Access-Requests are sourced directly from the Cisco Meraki Dashboard Cloud Infrastructure, not from the local APs. To resolve this, the MSP must obtain the outbound IP ranges of the Meraki Dashboard (found in the Meraki Dashboard under Help > Firewall info) and configure their upstream corporate firewall to allow inbound and outbound UDP traffic on ports 1812 (Authentication) and 1813 (Accounting) between those Meraki Dashboard IP ranges and Purple's Cloud RADIUS servers. Additionally, they must ensure that the Meraki Dashboard IPs are added as valid RADIUS clients in the Purple portal configuration.