Articles

Deploying Meraki Client VPN for Stable Remote Access


10 minute read

Table of Contents

We have all seen the shift away from complex, third-party VPN clients toward native OS integration.

IT teams are moving toward native tools to simplify the user experience, but that simplicity often hides configuration challenges.

Your goal is a reliable, low-maintenance connection for remote users that does not break every time an operating system updates.

You need a setup that just works, allowing you to focus on other priorities.

Configuring the Meraki VPN client correctly ensures stability and prevents common helpdesk tickets.

Establishing the VPN Backend and Identity Source

The first decision you face is choosing between Meraki Cloud Authentication and a RADIUS or AD integration.

Meraki Cloud Auth is simpler to deploy for smaller teams. RADIUS provides a centralized identity source that scales better for larger organizations.

Regardless of which you choose, the security of your preshared key is paramount. It governs the initial handshake between the client and the Meraki MX appliance.

You must note that Meraki Client VPN uses L2TP or IPsec (IKEv1) with a pre-shared key by default; Meraki also supports IKEv2 with certificates for RADIUS authentication on MX firmware 26.1+; references to IKEv2 mismatches only apply if using IKEv2 mode.

You must also select encryption protocols that match modern OS defaults to avoid connection errors.

Another critical decision is "Send all traffic," also known as split-tunneling.

This choice impacts both security and performance, determining whether user traffic flows through your security appliance or goes directly to the internet.

Choosing Your Authentication Strategy

Selecting the right authentication method sets the stage for your user management workflow.

  • Meraki Cloud Authentication: Best for environments without a central AD server; users are managed directly in the dashboard.

  • RADIUS or Active Directory: Enables centralized policy enforcement and allows for attribute mapping to specific Meraki group policies.

Defining the Client Subnet and DNS Settings

Properly sizing your client VPN subnet ensures you do not run out of IP addresses during peak usage.

You need a subnet that does not overlap with any local subnets at your remote users' locations, which commonly use 192.168.0.x or 192.168.1.x ranges.

  • Subnet Sizing: Choose a range large enough to accommodate concurrent users but unique enough to avoid routing conflicts.

  • DNS Configuration: Specify internal DNS servers if users need to resolve internal hostnames.

Advanced Security Layering and Access Control

Once the tunnel is established, the Meraki MX must handle the traffic effectively.

Simply getting a user connected is not enough. You must ensure they only access what is necessary for their role.

This requires a shift in thinking from port-level security to user-level security.

Group Policies allow you to restrict VPN connection access to specific VLANs or resources.

Unlike a blanket firewall rule that applies to an entire subnet, these policies follow the user session.

This logic ensures that a finance user and a contractor can be on the same Meraki VPN subnet but have vastly different access rights.

Applying Group Policies to VPN Users

The mechanism for securing remote access relies on assigning a specific policy via the dashboard once a user authenticates.

This layering of firewall rules is what ensures remote users only see the servers they need.

You must understand the distinction between "Network-wide" ACLs and "VPN-specific" ACLs.

Network-wide rules apply to all traffic flowing through the MX. VPN-specific rules are applied dynamically based on the identity of the user connecting to the network.

1: Create the Policy

You start by defining the ruleset that will govern the user's access.

  • Navigate to Group Policies: Go to Network-wide > Configure > Group Policies.

  • Name the Policy: Create a policy named "VPN - Restricted" or a similar clear identifier.

  • Define Layer 3 Rules: Set the "Layer 3 Firewall" rules within this policy to deny access to sensitive subnets (like 10.0.50.0-24) while explicitly allowing shared resources (like 10.0.10.5).

2: Apply to the User

If you are using Meraki Cloud Authentication, you apply the policy directly to the user profile.

This manual step ensures the policy is enforced the next time they connect.

  • Configure Client VPN: Navigate to Security & SD-WAN > Configure > Client VPN.

  • Edit User: In the "User Management" section, find the specific user name you want to restrict.

  • Assign Policy: Change the "Policy" dropdown from "Normal" to "VPN - Restricted".

3: RADIUS Attribute Mapping (If Applicable)

When using RADIUS, you cannot simply click a dropdown menu in the dashboard.

Instead, the RADIUS server must tell the Meraki MX which policy to apply during the authentication handshake.

  • Filter-Id Attribute: You must send the Filter-Id attribute from the RADIUS server, such as Windows NPS.

  • Exact Naming Match: The attribute value must match the exact name of the Group Policy in the Meraki dashboard.

  • Avoid Typos: A discrepancy like "VPN-Restricted" versus "VPN - Restricted" means the policy will not apply, and the user will default to full access.

OS Specific Configuration and Handshake Tuning

Configuring the device is where most deployments encounter friction.

While native L2TP or IPsec is the standard, modern operating systems have specific requirements that can block connections if missed.

For IKEv2 deployments, settings may differ and require certificate-based authentication and RADIUS configuration.

You often need to tune settings to handle common IKEv2 mismatches or NAT traversal issues.

Addressing these proactively prevents the frustration of users claiming they "can't connect" despite having the correct credentials.

Windows 10/11

Windows requires specific protocol adjustments and a registry edit if the client is behind a NAT device.

Without these changes, the connection will often fail with an error message like Error 809.

  • VPN Type: Set the VPN type to "L2TP/IPsec with Pre-shared Key".

  • Protocol Settings: Use MS-CHAPv2 where possible; "Unencrypted password (PAP)" is not strictly required.

  • Data Encryption: Set this to "Require encryption (disconnect if server declines)".

  • The "Error 809" NAT Fix: Create a DWORD (32-bit) key named AssumeUDPEncapsulationContextOnIPsecVPN with a Value of 2 at the path HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSe/Services/PolicyAgent.

  • Reboot Required: A reboot is necessary for this registry change to take effect.

macOS L2TP and Routing Logic

Apple’s implementation of L2TP is generally smoother but handles authentication and routing differently than Windows.

You must ensure the service order is correct if you want traffic to prioritize the VPN.

  • Connection Type: Choose "VPN" and then select "L2TP over IPsec".

  • Authentication Split: macOS separates "User Authentication" (Password) and "Machine Authentication" (Shared Secret) into the "Authentication Settings" menu.

  • Routing Traffic: Check "Send all traffic over VPN connection" in the advanced settings to force traffic through the MX.

  • Split-Tunneling Risk: Unchecking this enables split-tunneling but may break access to local resources if you do not manage static routes manually.

Android and iOS Parameter Requirements

Mobile devices have their own constraints, particularly with newer Android versions deprecating older protocols.

  • iOS/iPad: Select "L2TP" as the type, enter the Secret (PSK), and toggle "Send All Traffic" on for security.

  • Android: Native L2TP/IPSec PSK is not supported on Android 12+ for new configurations; IKEv2 is required for newer Android devices.

  • Hostname vs. IP: Always use the DDNS hostname (e.g., dynamic-m.com) instead of the IP address to handle WAN failover automatically.

Verifying the Tunnel and Monitoring Health

A "connected" status on the network icon or client device does not always mean traffic is flowing.

You need to verify the connection from the network side to ensure stability.

  • Source of Truth: Use the Security & SD-WAN > Monitor > VPN Status page in the dashboard.

  • Active Sessions: This view shows active sessions, usage data, and the public IP of the connected client.

  • Verification: This data is crucial for verifying that the user is not just cached or stuck in a local retry loop.

Interpreting Dashboard Event Logs

When connections fail, the event log is your primary diagnostic tool.

  • Filter Logs: Go to Network-wide > Monitor > Event Log.

  • Set Filter: Filter by "Event type: VPN" to cut through the noise.

  • Phase 1 Failure (IKE): Typically indicates a mismatch in the pre-shared key or IP restrictions.

  • Phase 2 Failure (IPsec): Usually points to encryption protocol mismatches or subnet configuration errors.

Validating Throughput and Policy Enforcement

Once users are connected, you must verify that your Cisco Meraki configuration effectively enforces the policies you designed.

It is critical to confirm that a specific connected user is actually receiving the "Contractor" or "Full Access" policy you assigned.

A practical test involves having the remote users attempt to access a blocked resource, like a specific internal server or a high-bandwidth site.

This confirms that the MX is actually filtering the tunnel traffic and not just routing it.

You should also monitor the Usage column in the VPN status page.

If a user is connected for two hours but shows 0 KB usage, it is likely a routing issue or split-tunneling gone wrong rather than a connection drop.

Checking for MTU and Fragmentation Issues

MTU mismatches are a common "silent killer" of VPN connection performance.

If the connection is stable but large files or RDP sessions freeze, an MTU issue is often the culprit.

  • Ping Test: Test this via ping by running ping -f -l 1300 <internal_ip> to see if packets traverse without fragmentation.

  • ISP Limitations: Some ISPs, especially cellular or DSL providers, have lower MTU ceilings that can fragment VPN packets.

  • Resolution: This may require an adjustment on the client's virtual adapter settings to match the lower MTU.

Real-Time Connection Testing with Packet Capture

For advanced troubleshooting, the packet capture tool is invaluable.

  • Locate Tool: Navigate to Network-wide > Monitor > Packet Capture.

  • Filter Traffic: Capture on the WAN interface filtered by udp port 500 or udp port 4500.

  • Analyze Results: Seeing only outgoing packets means the ISP is blocking return traffic. Seeing two-way traffic but no connection suggests a crypto mismatch.

  • Rule Out ISP: This step immediately validates whether traffic is reaching the MX, ruling out ISP blocking.

Trust, But Verify (and Then Verify Again)

The dashboard might say "connected," but the user experience is what truly matters.

Virtual private networks are sensitive to OS updates and network changes, so staying proactive is key.

Be the first to test new OS updates before your CEO does to ensure your configuration holds up.

Choosing the right Cisco Meraki hardware is the foundation of a stable remote access strategy.

« Back to Articles