How to Set Up a Captive Portal on Starlink: A Guide for Remote & Maritime Venues
This guide details how to bypass the native Starlink hardware and integrate a cloud-managed captive portal using enterprise routing equipment. You will learn how to overcome the CGNAT limitation, enforce VLAN segmentation, manage satellite bandwidth constraints, and ensure regulatory compliance.
Listen to this guide
View podcast transcript
- Executive Summary
- Technical Deep-Dive
- The CGNAT Constraint
- Reverse Tunnel Architecture
- Bandwidth Constraints and Traffic Shaping
- Implementation Guide
- Step 1: Enable Bypass Mode
- Step 2: Configure VLAN Segmentation
- Step 3: Deploy the Cloud Captive Portal
- Step 4: Test the User Flow
- Best Practices
- Troubleshooting & Risk Mitigation
- ROI & Business Impact

Executive Summary
Starlink delivers 220 Mbps connectivity to locations where fibre cannot reach, fundamentally altering the networking landscape for remote and maritime venues. However, raw connectivity is insufficient for public-facing environments. When you deploy Starlink for guests, passengers, or crew, you must implement authentication, access control, GDPR-compliant consent, and bandwidth management. The native Starlink router provides none of these capabilities.
This guide details how to bypass the native Starlink hardware and integrate a cloud-managed captive portal using enterprise routing equipment. You will learn how to overcome the Carrier Grade NAT (CGNAT) limitation, enforce VLAN segmentation, manage satellite bandwidth constraints, and ensure regulatory compliance.
By implementing this architecture, venue operators convert an unmanaged internet pipe into a secure, segmented network that captures first-party data and protects the core business infrastructure.
Technical Deep-Dive
The CGNAT Constraint
The primary technical hurdle when deploying a captive portal on Starlink is Carrier Grade NAT (CGNAT). The standard Starlink dish connects to a proprietary router that handles DHCP and NAT. By default, the WAN IP address assigned to your equipment falls within the 100.64.0.0/10 range. Because this is not a public IP address, your router cannot receive inbound connections from the internet.
Standard captive portal architectures often assume the cloud portal can reach back into your network to authenticate users or update access control lists. With CGNAT, inbound connections fail.
To resolve this, you must configure the Starlink dish in Bypass Mode (often called bridge mode). In Bypass Mode, the Starlink router functions are disabled, and the dish passes the CGNAT address directly to your enterprise router's WAN port. Your enterprise router then takes full control of the routing layer.

Reverse Tunnel Architecture
With the enterprise router handling traffic, the CGNAT inbound restriction remains. The solution is a reverse tunnel architecture. Your router establishes an outbound connection to the cloud portal and maintains it persistently. All authentication traffic flows through this established tunnel. The cloud infrastructure never needs to initiate an inbound connection.
Purple's cloud overlay architecture handles this natively. You do not need to configure manual VPN tunnels. If your deployment requires a static IP for legacy on-premise RADIUS servers or strict IP allowlisting, Starlink Business and Maritime plans offer a static IP as a paid add-on.
Bandwidth Constraints and Traffic Shaping
Satellite bandwidth is a shared, constrained resource. A single user streaming 4K video can consume 25 Mbps continuously. On a vessel with 50 passengers sharing a 220 Mbps Starlink connection, one user can consume 11% of the total capacity.
You must address this at the captive portal and router level through aggressive traffic shaping:
- Per-Device Caps: Restrict individual guest devices to 5 Mbps download and 2 Mbps upload.
- Fair-Use Policies: Implement daily data allowances (e.g., 2GB per 24 hours).
- Application Control: Prioritise web browsing and messaging protocols over video streaming and peer-to-peer file sharing.
- Tiered Access: Offer a free tier for basic connectivity and a paid premium tier for streaming, converting the WiFi infrastructure from a cost centre into a revenue stream.

Implementation Guide
Follow these steps to deploy a secure captive portal over Starlink using enterprise hardware.
Step 1: Enable Bypass Mode
- Install the Starlink hardware and verify connectivity using the native router.
- Open the Starlink mobile application and navigate to Settings.
- Select Bypass Starlink WiFi router and confirm.
- Connect the Starlink Ethernet adapter to the WAN port of your enterprise router (Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme, or Fortinet).
Note: If the Starlink dish is factory reset, Bypass Mode is disabled automatically. Document this in your site runbook and configure a monitoring alert on your router's WAN interface.
Step 2: Configure VLAN Segmentation
You must isolate guest traffic from your core business systems. Configure at least three VLANs on your core switch and access points:
- VLAN 10 (Staff): Carries POS systems, back-office applications, and management traffic.
- VLAN 20 (Guest): The internet-only segment that redirects to the captive portal.
- VLAN 30 (IoT): Isolated network for cameras, smart thermostats, and building management systems.
Configure firewall rules to block all inter-VLAN routing. A guest device on VLAN 20 must never be able to ping a POS terminal on VLAN 10. This segmentation is a strict requirement for PCI DSS compliance.
Step 3: Deploy the Cloud Captive Portal
- Configure your access points to broadcast the Guest SSID on VLAN 20.
- Set the authentication method to external RADIUS or use the vendor's API integration.
- Point the authentication servers to Purple's cloud infrastructure.
- Configure the walled garden (allowlist) to permit traffic to Purple's domains before authentication completes.
- Design the splash page in the Purple portal, ensuring the branding aligns with your venue and the terms of service are clearly visible.
Step 4: Test the User Flow
Test the authentication flow on both iOS and Android devices. Apple's Captive Network Assistant (CNA) and Android's network probe behave differently. Verify that the splash page loads within 10 seconds and that the device receives internet access immediately after authentication.
Best Practices
- HTTPS Intercept: Ensure your router handles HTTPS interception correctly. Modern devices default to HTTPS. If the router cannot redirect HTTPS requests cleanly, guests will encounter certificate errors before reaching the portal.
- Session Keepalive: Starlink's Low Earth Orbit (LEO) constellation delivers 20 to 40 millisecond latency, but brief spikes occur during satellite handovers. Set your captive portal session keepalive intervals to 60 seconds or less to prevent premature disconnects.
- Offline Caching: Configure your router to cache active sessions locally. If the Starlink connection drops temporarily, guests who are already authenticated will stay online when connectivity restores, rather than being forced to log in again.
Troubleshooting & Risk Mitigation
| Failure Mode | Root Cause | Mitigation |
|---|---|---|
| Captive portal fails to load | Walled garden misconfiguration | Verify that all required Purple domains and CDN endpoints are added to the pre-authentication allowlist on the router. |
| Double NAT errors | Bypass Mode disabled | Check the Starlink app to confirm Bypass Mode is active. A power surge or manual reset may have reverted the dish to default settings. |
| Slow guest speeds | Unrestricted bandwidth | Enforce per-device bandwidth limits (e.g., 5 Mbps) and block high-bandwidth applications like BitTorrent at the firewall. |
| Security audit failure | Inter-VLAN routing enabled | Audit firewall rules to ensure traffic from the Guest VLAN cannot route to the Staff or Management VLANs. |
ROI & Business Impact
Deploying a managed captive portal on Starlink transforms a raw internet connection into a measurable business asset.
For a 120-cabin cruise vessel running Starlink Maritime at 220 Mbps, raw access provides no commercial return. By deploying Cisco Meraki access points and Purple's captive portal, the operator can enforce a 2GB daily allowance for standard passengers while upselling a 10GB premium tier. The resulting WiFi revenue covers the $250+ monthly Starlink subscription cost. Furthermore, the portal collects fully compliant first-party email data, expanding the operator's direct marketing list for future voyages.
In a remote hotel environment, deploying a portal with strict bandwidth policies reduces guest complaints regarding slow WiFi by up to 60%, as heavy users are prevented from monopolising the satellite link.
Key Definitions
Bypass Mode
A configuration setting that disables the native Starlink router's DHCP and NAT functions, passing the WAN IP directly to a third-party enterprise router.
Required when integrating enterprise networking equipment with a Starlink dish to avoid double NAT and routing conflicts.
CGNAT (Carrier Grade NAT)
A method used by ISPs to share a single public IP address among multiple customers. The customer's router receives a private IP address (typically 100.64.0.0/10).
Starlink uses CGNAT by default, which prevents inbound connections from the internet and requires reverse tunnel architectures for cloud management.
VLAN (Virtual Local Area Network)
A logical subnetwork that groups a collection of devices from different physical LANs.
Used to isolate guest WiFi traffic from staff and IoT networks, ensuring security and compliance.
Captive Portal
A web page that a user of a public access network is obliged to view and interact with before access is granted.
Used to enforce terms of service, collect marketing data, and authenticate users on guest WiFi networks.
Walled Garden
A limited environment that controls the user's access to web content and services before they have fully authenticated.
Required to allow guest devices to reach the cloud captive portal and authentication servers before they are granted full internet access.
RADIUS
A networking protocol that provides centralized Authentication, Authorization, and Accounting management for users who connect and use a network service.
The underlying protocol used by enterprise access points to communicate with the cloud captive portal to verify user credentials.
Traffic Shaping
The manipulation and prioritization of network traffic to reduce the impact of heavy users or latency-sensitive applications.
Essential on Starlink networks to prioritize web browsing over high-bandwidth activities like video streaming.
First-Party Data
Information a company collects directly from its customers and owns.
Captured via the captive portal login process (e.g., email addresses) and used for direct marketing and loyalty campaigns.
Worked Examples
A 120-cabin cruise vessel running Starlink Maritime at 220 Mbps needs to provide passenger WiFi without degrading ship operations. They require a mechanism to monetise the connection and collect marketing data.
The operator deploys Cisco Meraki access points throughout the vessel with three strict VLANs: crew, passenger, and ship systems. Purple's captive portal handles passenger authentication via email or a cabin number lookup integrated with the PMS. Each passenger receives a 2GB daily allowance. Premium tier passengers can purchase a 10GB allocation. The portal collects first-party email data for post-voyage marketing.
A remote Highland hotel with no fibre infrastructure runs Starlink Business at 150 Mbps. Guests frequently complain about slow speeds during the evening, and the hotel has no visibility into who is using the network.
The hotel deploys HPE Aruba access points across the main building and outbuildings. They configure the Starlink dish in Bypass Mode and connect it to an Aruba gateway. Guests authenticate via email on Purple's portal. The hotel enforces a strict 5 Mbps per-device bandwidth cap and uses Purple's analytics to monitor peak usage times.
Practice Questions
Q1. A remote mining camp has deployed Starlink Business. They have connected a Cisco Meraki MX firewall to the Starlink router. Guests can connect to the WiFi, but the captive portal page times out and fails to load. What is the most likely cause?
Hint: Consider how the Starlink hardware handles routing by default and what the Meraki firewall requires to manage traffic effectively.
View model answer
The Starlink dish has not been placed in Bypass Mode. As a result, the network is suffering from double NAT (the Starlink router and the Meraki firewall are both attempting to perform Network Address Translation). The administrator must use the Starlink app to enable Bypass Mode, allowing the Meraki firewall to receive the CGNAT IP directly and manage the routing and captive portal interception.
Q2. You are deploying a captive portal for a hotel using Starlink. You have configured Bypass Mode and VLAN segmentation. During testing, you notice that Apple devices prompt the user to log in immediately, but some Android devices show a certificate error when the user tries to browse to a secure website before authenticating. How do you resolve this?
Hint: Think about how modern browsers handle initial connection requests and what the router must do to intercept them cleanly.
View model answer
The enterprise router is not configured to handle HTTPS interception correctly for the captive portal redirect. Modern browsers default to HTTPS. When the user attempts to visit an HTTPS site before authenticating, the router intercepts the traffic and presents its own certificate, which the browser rejects as invalid. You must ensure the router's captive portal settings are configured to use a valid SSL certificate for the redirect, or rely on the OS-level network probes (like Apple's CNA) which use HTTP endpoints to trigger the portal automatically.
Q3. A maritime operator complains that their Starlink Maritime connection (220 Mbps) becomes unusable every evening. They currently provide an open, password-free guest network. What three specific configurations should you implement on the enterprise router and captive portal to resolve this?
Hint: Focus on controlling how much data individual users can consume and prioritising critical traffic types.
View model answer
- Implement a captive portal requiring authentication to track and manage individual users. 2. Enforce per-device bandwidth caps (e.g., 5 Mbps down / 2 Mbps up) to prevent a single user from monopolising the connection. 3. Apply traffic shaping rules at the firewall to prioritise web browsing and messaging protocols while throttling or blocking high-bandwidth applications like video streaming and P2P file sharing.
Continue reading in this series
Hotel Guest WiFi Management: Integrating PMS, Portals, and Brand Standards
This technical guide details how to architect enterprise-grade hotel WiFi networks, focusing on VLAN segmentation, PMS integration for automated session management, and captive portal optimisation for GDPR-compliant data capture.
Hotel Guest WiFi Management: Integrating PMS, Portals, and Brand Standards
This technical guide details how to architect enterprise-grade hotel WiFi networks, focusing on VLAN segmentation, PMS integration for automated session management, and captive portal optimisation for GDPR-compliant data capture.
Captive Portal Best Practice: Designing for High Conversion and Compliance
This technical guide gives IT managers, network architects, and venue operations directors a complete blueprint for deploying captive portals that balance network security with high user conversion. It covers the full architecture from VLAN segmentation and RADIUS authentication to GDPR-compliant consent design and authentication method selection. Drawn from Purple's operational experience across 80,000+ venues and 440 million logins in 2024, every recommendation is grounded in real deployment data.