Skip to main contentSkip to search
Skip to main content

FortiGate

Integrate Fortinet FortiGate wireless controllers with IronWiFi's RADIUS authentication and external captive portal. This guide covers RADIUS server configuration, user group creation, external captive portal setup, firewall policy configuration, exempt list (walled garden) setup, WPA-Enterprise deployment, and optional RadSec for encrypted RADIUS communications.

Prerequisites

In FortiGate:

  • FortiGate device with wireless capability
  • Admin access to FortiGate web interface or CLI
  • Network configured for guest WiFi

In IronWiFi Console (complete these first):

  1. Create a Network in IronWiFi Console
  2. Create a Captive Portal with vendor Fortinet
  3. Note your RADIUS settings (Primary IP, Backup IP, Secret) and Splash Page URL

FortiGate Configuration

Step 1: Configure RADIUS Server

  1. Navigate to User & AuthenticationRADIUS Servers
  2. Click Create New
  3. Configure:
    • Name: IronWiFi
    • Primary Server IP:
      {Primary IP}
    • Primary Server Secret:
      {Secret}
    • Secondary Server IP:
      {Backup IP}
    • Authentication Scheme: Use default

Step 2: Test RADIUS Connection

tip

Always test RADIUS connectivity before proceeding with portal configuration. If the test fails here, the captive portal will not work regardless of other settings.

  1. Click Test Connectivity
  2. Enter test user credentials
  3. Verify "Access-Accept" response

Step 3: Create User Group

  1. Navigate to User & AuthenticationUser Groups
  2. Click Create New
  3. Configure:
    • Name: IronWiFi-Users
    • Type: Firewall
    • Remote Groups: Add IronWiFi RADIUS

Step 4: Configure Captive Portal

  1. Navigate to WiFi & Switch ControllerWiFi
  2. Select your SSID
  3. Configure Security:
    • Security Mode: Captive Portal
    • Portal Type: External
    • External Captive Portal URL:
      {Splash Page URL}

Step 5: Configure Firewall Policy

warning

The firewall policy order matters. Place the exemption policy (allowing pre-auth access to IronWiFi) above the captive portal policy, or unauthenticated users will not be able to reach the splash page.

Create policy for guest network:

  1. Navigate to Policy & ObjectsFirewall Policy
  2. Create new policy:
    • Incoming Interface: WiFi interface
    • Outgoing Interface: WAN
    • Source: Guest network
    • Destination: All
    • Service: ALL
    • Action: Accept
    • Security Profiles: As needed

Step 6: Exempt List (Walled Garden)

Configure addresses that guests can access before authentication:

  1. Navigate to Policy & ObjectsAddresses

  2. Create address for IronWiFi:

    • Name: IronWiFi-Splash
    • IP/Netmask:
      107.178.250.42/32
  3. Create exemption policy allowing pre-auth access

If you're using social login or payment providers, add these domains to your walled garden:

ProviderRequired Entries
Google
*.google.com
,
*.googleapis.com
,
*.gstatic.com
,
accounts.google.com
Facebook
*.facebook.com
,
*.fbcdn.net
,
connect.facebook.net
,
facebook.com
LinkedIn
*.linkedin.com
,
*.licdn.com
,
linkedin.com
Twitter/X
*.twitter.com
,
*.twimg.com
,
twitter.com
,
*.x.com
,
x.com
Apple
*.apple.com
,
*.icloud.com
,
appleid.apple.com
Microsoft Entra ID
*.microsoft.com
,
*.microsoftonline.com
,
*.msftauth.net
,
login.microsoftonline.com
Stripe
*.stripe.com
,
js.stripe.com
PayPal
*.paypal.com
,
*.paypalobjects.com
Twilio (SMS)
*.twilio.com

CLI Configuration

RadSec Configuration

tip

RadSec (RADIUS over TLS) encrypts all authentication traffic between FortiGate and IronWiFi. This is recommended for production deployments and required for OpenRoaming federation compliance.

For RADIUS over TLS:

  1. Enable RadSec in IronWiFi
  2. Download certificates
  3. In FortiGate:

WPA-Enterprise

For 802.1X:

Troubleshooting

If you encounter issues after configuration, use this table to diagnose and resolve common problems:

SymptomCauseSolution
RADIUS connection failedIncorrect server settings or firewall blockingVerify server IP and port, check shared secret, test firewall rules, use
diagnose test authserver radius
command
Captive portal not showingIncorrect portal configurationVerify portal type is external, check external URL is correct, confirm exempt list allows splash page access
Authentication issuesUser group or RADIUS misconfigurationCheck user group configuration, verify RADIUS server association, review authentication logs with
diagnose debug application radius -1

For this vendor

Shared configuration

Was this page helpful?