To set up RADIUS for Fortinet, add a RADIUS server in FortiGate under User & Authentication pointing to the IronWiFi server IP on port 1812 with a shared secret. Create a WPA2-Enterprise SSID on the FortiAP wireless controller referencing the RADIUS server, then configure a firewall policy allowing RADIUS traffic (UDP 1812/1813) from FortiGate to the IronWiFi server IPs. FortiGate proxies 802.1X authentication requests from FortiAP clients to the Cloud RADIUS server.
Fortinet's FortiGate firewalls serve as both network security appliances and wireless controllers for FortiAP access points. This integrated architecture means RADIUS authentication for wireless clients passes through the FortiGate, which adds a layer of control but also requires specific firewall policy configuration. This guide covers the complete setup of IronWiFi Cloud RADIUS with the Fortinet wireless stack.
Why Use RADIUS with Fortinet?
FortiGate supports WPA2-Personal (PSK) out of the box, but enterprise environments need stronger authentication. RADIUS with Fortinet provides:
- Individual user credentials - Every person authenticates with their own identity instead of a shared password
- Certificate-based authentication - Deploy EAP-TLS for passwordless device authentication
- Dynamic VLAN assignment - Place users into different VLANs based on role or device type via RADIUS attributes
- Integration with FortiGate security - Combine RADIUS identity with FortiGate firewall policies for identity-based access control
- Centralized access management - Grant or revoke WiFi access from the IronWiFi console without touching FortiGate
- Identity provider integration - Authenticate against Azure AD, Google Workspace, Okta, or LDAP directories
Prerequisites
Before starting the configuration, ensure you have:
- FortiGate admin access - GUI or CLI access with super_admin or equivalent privileges
- FortiAP access points - Connected to and managed by the FortiGate
- IronWiFi account - Sign up for a free trial if you do not have one
- Firewall access - Ability to create policies allowing outbound UDP on ports 1812 and 1813
- A test client device - Laptop or phone that supports WPA2-Enterprise
FortiGate as Wireless Controller
When FortiAP access points are managed by FortiGate, the FortiGate sends RADIUS requests on behalf of the APs using its own WAN IP address. This means you register the FortiGate WAN IP (not the FortiAP IP) as the authorized client in IronWiFi.
Step 1: Create a RADIUS Profile in IronWiFi
Start by configuring the RADIUS server in IronWiFi.
- Log into the IronWiFi Console at console.ironwifi.io and navigate to Networks.
- Create a new Network by clicking Add Network. Name it descriptively (e.g., "Fortinet Corporate WiFi").
-
Note the RADIUS server details:
- Primary server: 35.174.127.31
- Secondary server: 44.199.225.113
- Authentication port: 1812
- Accounting port: 1813
- Shared secret: YOUR_SHARED_SECRET
- Add your FortiGate WAN IP as an authorized client. Since FortiGate proxies RADIUS requests for FortiAP, use the FortiGate's public-facing IP address.
- Configure authentication sources - Connect Azure AD, Google Workspace, Okta, or create local user accounts.
Step 2: Add RADIUS Server in FortiGate
Configure FortiGate to communicate with the IronWiFi RADIUS server.
Using the FortiGate GUI
- Log into the FortiGate web interface and navigate to User & Authentication > RADIUS Servers.
- Click Create New.
-
Enter the following:
- Name: IronWiFi-Primary
- Primary Server IP/Name: 35.174.127.31
- Primary Server Secret: YOUR_SHARED_SECRET
- Secondary Server IP/Name: 44.199.225.113
- Secondary Server Secret: YOUR_SHARED_SECRET
- Under Authentication method, select Specify and choose PAP, MSCHAP, MSCHAP2 (or leave as Default for auto-negotiation).
- Click OK to save.
Using FortiGate CLI
Alternatively, configure via CLI:
config user radius
edit "IronWiFi-Primary"
set server "35.174.127.31"
set secret YOUR_SHARED_SECRET
set secondary-server "44.199.225.113"
set secondary-secret YOUR_SHARED_SECRET
set radius-port 1812
set acct-interim-interval 600
next
end
Shared Secret Must Match Exactly
The RADIUS shared secret configured in FortiGate must match the secret in IronWiFi character-for-character. A mismatch causes RADIUS packets to be silently dropped with no error in the FortiGate GUI. Use the CLI test command to verify connectivity.
Step 3: Create SSID with WPA2-Enterprise
Create a wireless SSID on FortiGate that uses the IronWiFi RADIUS server.
- Navigate to WiFi & Switch Controller > SSIDs and click Create New > SSID.
-
Configure the interface:
- Name: CorpNet-Secure
- Traffic Mode: Tunnel (recommended for RADIUS)
- IP/Network Mask: Assign a subnet for wireless clients or use DHCP relay
-
Under WiFi Settings:
- SSID: CorpNet-Secure
- Security Mode: WPA2-Enterprise
- Authentication: RADIUS Server
- RADIUS Server: Select "IronWiFi-Primary"
- Enable RADIUS Accounting and point it to the same server.
- Under FortiAP Profiles, assign this SSID to the appropriate AP profile.
- Click OK to save.
Step 4: Configure Firewall Policies
FortiGate requires explicit firewall policies for RADIUS traffic. This is a step that other vendor platforms handle implicitly, but FortiGate's security-first architecture means you must allow it.
RADIUS Traffic Policy
- Navigate to Policy & Objects > Firewall Policy and click Create New.
-
Configure the policy:
- Name: Allow-RADIUS-IronWiFi
- Incoming Interface: any (or the FortiGate loopback)
- Outgoing Interface: WAN interface
- Source: FortiGate address
- Destination: Create address objects for 35.174.127.31 and 44.199.225.113
- Service: RADIUS (UDP 1812, 1813)
- Action: Accept
- Click OK to save.
Wireless Client Traffic Policy
You also need a policy allowing authenticated wireless clients to access the network:
-
Create a second firewall policy with:
- Incoming Interface: The SSID interface (CorpNet-Secure)
- Outgoing Interface: WAN or internal LAN interfaces
- Source: all
- Destination: all
- Action: Accept
- Apply security profiles (web filter, antivirus, IPS) as needed.
Dynamic VLAN with FortiGate
To enable RADIUS-based VLAN assignment, set the SSID traffic mode to "Bridge" with dynamic VLAN enabled. Configure Tunnel-Type (64), Tunnel-Medium-Type (65), and Tunnel-Private-Group-ID (81) RADIUS attributes in IronWiFi for each user group. FortiGate applies the VLAN from the RADIUS Access-Accept response.
Step 5: Test Authentication
FortiGate RADIUS Test Tool
Use the FortiGate CLI to test RADIUS connectivity before trying with a client device:
diagnose test authserver radius IronWiFi-Primary pap testuser testpassword
A successful test returns "authenticate response: Access-Accept". If it returns "timeout", check your firewall policy and shared secret.
Test with a Client Device
- On a test laptop or phone, search for the configured SSID and select it.
- Enter the username and password (for PEAP) or select the certificate (for EAP-TLS).
- Accept the server certificate prompt on first connection.
- Once connected, verify the IP address and VLAN assignment.
- Check logs on both FortiGate (Log & Report > WiFi Events) and IronWiFi (Logs > Authentication).
Troubleshooting
RADIUS Timeout (No Response)
- Missing firewall policy - The most common issue on FortiGate. Verify a policy exists allowing UDP 1812/1813 from FortiGate to the IronWiFi server IPs.
- Source IP mismatch - FortiGate sends RADIUS from its WAN IP. Ensure this IP is registered in IronWiFi as an authorized client.
- NAT translation - If FortiGate is behind another NAT device, the source IP seen by IronWiFi may differ from FortiGate's WAN IP. Check with a packet capture.
- Wrong server IP - Verify the RADIUS server IP in FortiGate matches what IronWiFi provided.
Authentication Rejected (Access-Reject)
- Wrong credentials - Verify username and password in IronWiFi. Authentication is case-sensitive.
- Shared secret mismatch - Re-enter the secret in both FortiGate and IronWiFi.
- Authentication method - Ensure the FortiGate RADIUS server configuration uses a compatible authentication method. Default or MSCHAP2 works for PEAP.
- Disabled account - Check the user account status in IronWiFi.
FortiGate Diagnostic Commands
Useful CLI commands for debugging:
# Test RADIUS authentication
diagnose test authserver radius IronWiFi-Primary pap testuser testpassword
# Show RADIUS server status
get user radius
# Debug RADIUS communication
diagnose debug application radiusd -1
diagnose debug enable
Remember the Firewall Policy
Unlike most wireless vendors, FortiGate requires an explicit firewall policy for RADIUS traffic. This is the number one cause of RADIUS timeouts on Fortinet deployments. Always verify the policy exists and is positioned correctly in the policy order.
Ready to Secure Your Fortinet Network?
Set up Cloud RADIUS with IronWiFi in minutes. No on-premises servers required.
Start Free Trial Schedule a DemoTrusted by 1,000+ organizations across 108 countries
Frequently Asked Questions
In the FortiGate GUI, navigate to User & Authentication > RADIUS Servers and click Create New. Enter a name for the server, the IronWiFi RADIUS server IP address, and the shared secret. Set the authentication port to 1812 and accounting port to 1813. You can also configure this via CLI using the 'config user radius' command.
All current FortiOS versions (6.x and 7.x) support external RADIUS servers for wireless authentication. The GUI path for RADIUS server configuration may vary slightly between versions, but the functionality is consistent. FortiOS 7.0+ provides an improved wireless controller interface with better RADIUS integration options.
Yes. FortiGate requires an explicit firewall policy to allow RADIUS traffic from the FortiAP interface to the IronWiFi RADIUS server IPs. Create a policy allowing UDP ports 1812 and 1813 from the FortiAP source interface to the RADIUS server destination. Without this policy, RADIUS packets are dropped by the FortiGate firewall.
Yes. When FortiAP access points are managed by a FortiGate controller, the FortiGate handles RADIUS communication on behalf of the APs. Configure the RADIUS server in FortiGate's User & Authentication section, then reference it in the SSID profile. The FortiGate sends RADIUS requests using its own IP, so register the FortiGate's WAN IP as the authorized client in IronWiFi.
RADIUS timeouts on FortiGate usually have these causes: (1) Missing firewall policy allowing UDP 1812/1813 from FortiGate to the RADIUS server. (2) Incorrect RADIUS server IP or shared secret. (3) The FortiGate WAN IP is not registered as an authorized client in IronWiFi. (4) NAT is modifying the source IP of RADIUS packets. Check FortiGate diagnose commands: 'diagnose test authserver radius <server-name> <user> <password>' to test connectivity.
