Created on
‎01-30-2024
08:44 AM
Edited on
‎07-22-2025
10:16 PM
By
Anthony_E
Description | This article provides step-by-step instructions for implementing a guest network solution based on FortiOS, utilizing a tunnel mode SSID with HPE Aruba ClearPass v6.11.6 as a captive portal. |
Scope | FortiGate v7.0 and above. |
Solution |
Configuration on FortiGate:
In the CLI:
config user group set member "ClearPass-Radius-SRV" edit 1 set server-name "ClearPass-Radius-SRV" set group-name "Guest-Users" next end next end
In the GUI:
In the CLI:
config wireless-controller vap edit "FortinetGuest" set ssid "FortinetGuest" set security captive-portal set external-web "https://fqdn-to-clearpass-guest-portal/guest/pagename.php" <- The URL of the web server hosting login page. It requires a valid certificate on the clearpass server. set mac-auth-bypass enable <- This is to allow MAC Caching (MAC authentication bypass). set selected-usergroups "Guest-Users" set security-exempt-list "FortinetGuest-exempt-list" <- This should allow DNS to resolve and access the ClearPass server and any other exempt destinations/services being allowed before signing on to the guest network. set auth-cert "name-of-ssl-cert" set auth-portal-addr "fqdn-to-dns-name-of-fortigate-guest-ssid-ip" <- local setting relevant for this firewall policy only. set schedule "always" next end
Login/splash page hosted on an External Web Server:
config user setting set auth-type http https <- Supported firewall policy authentication protocols/methods. Usually must include HTTP as captive portal detection by clients is based on unencrypted HTTP. set auth-cert "name-of-ssl-cert" <- HTTPS server certificate for policy authentication. set auth-secure-http enable <- Enable/disable redirecting HTTP user authentication to secure HTTPS. set auth-ssl-allow-renegotiation enable <- Allow/forbid SSL re-negotiation for HTTPS authentication. set auth-on-demand always <- Always/implicitly trigger firewall authentication on demand. end
config firewall auth-portal set portal-addr "fqdn-to-dns-name-of-fortigate-ssid-ip" <- Address (or FQDN) of the FortiGate. end
Note: For HTTPS, 'config firewall auth-portal' is required to be set with a resolvable FQDN for the FortiGate and a global setting.
Related article:
If more SSIDs would require different FDQNs, it may be better to configure this on the SSID itself as above (see step 3).
Here, an exemption has been configured for the top policy (‘To the ClearPass’) so that users can connect to the login page portal without authentication. If needed, some allowed websites can also be configured as exemptions.
config firewall policy edit 7 set name "To the ClearPass" set srcintf "FortinetGuest" set dstintf "port7" set action accept set srcaddr "all" set dstaddr "to-clearpass-guest-portal-login-page" set schedule "always" set service "ALL" set logtraffic all set nat enable set captive-portal-exempt enable next end
An exemption can also be configured as described in the following articles: Technical Tip: Captive Portal Exempt list
Note: It is a prerequisite to have proper certificates signed by a public CA (Certificate Authority) installed on both the FortiGate and the ClearPass guest portal to avoid warnings when users connect to the guest network. The certificate may be a wildcard certificate or unique to the two devices. Failing to use a publicly signed certificate may cause connection warnings and failure to successfully connect to the guest network.
Refer to the following articles for certificate-warning-related issues: Technical Tip: Preventing certificate warnings using captive portal
Configuration on the ClearPass policy server: Two services (MAC Caching and then Guest Registration) must be configured on the ClearPass Policy Server.
The 'Guest-Users' being sent need to match with the user-group (Guest-Users) created on the FortiGate earlier. Additionally, send the User-Name to see it on the FortiGate when looking at the users.
The NAS-IP-Address where the FortiGate is included in the group.
It is still possible to use the previously used 'Custom' settings, but it is necessary to add the details in the 'Extra Fields' settings like this:
The 'Submit URL:' section is the IP or FQDN of the FortiGate Guest Interface. It is highly recommended to use https port 1003 for the captive portal (implied by auth-secure-http enable). However, when using HTTP, ensure that the port number being entered is 1000.
If a different port needs to be configured, change it using the following commands and the relevant article linked below:
config system global set auth-http-port X <-- Default value is port 1000 for HTTP. set auth-https-port Y <-- Default value is port 1003 for HTTPS. end
Related article: Technical Tip: Change the captive portal port
Troubleshooting steps:
diagnose sniffer packet any 'host xxx.xxx.xxx.xxx' 6 0 a <--- Replace the xxx.xxx.xxx.xxx with the Host IP address.
Otherwise, Packet Capture (PCAP) from FortiGate GUI shows the DNS and handshakes towards FortiGate and the external Captive portal subsequently. |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.