The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how to configure three guest cases in Identity Services engine with Cisco AireOS and Next Generation Wireless LAN Controllers.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on these software and hardware versions:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Steps covered in this document describe the typical configuration on both Unified and Converged Access WLCs to support any Guest flow with ISE.
Regardless of the use case configured in ISE, from the WLC perspective it all starts with a wireless endpoint that connects to an Open SSID with MAC filtering enabled (Plus AAA override and RADIUS NAC) that points to ISE as the authentication and accounting server. This ensures that ISE can dynamically push the necessary attributes to the WLC for successful enforcement of a redirect to ISE’s Guest Portal.
1. Add ISE globally as an Authentication and Accounting server.
Note: This particular configuration example includes 2 ISE instances
2. Fallback configuration.
In unified environment once the server timeout is triggered the WLC moves to the next configured server. Next in line from WLAN. If no other is available then the WLC selects the next one in the global servers list. When multiple servers are configured on the SSID (Primary, Secondary) once the failover occurs the WLC by default continues to send authentication and (or) accounting traffic permanently to the Secondary instance even if the primary server is back online.
In order to mitigate this behavior enable fallback. Navigate to Security > AAA > RADIUS > Fallback. The default behavior is off. The only way to recover from a server-down event requires admin intervention (globally bounce the server's admin status).
To enable fallback you have two options:
In this mode the WLC requires you to enter a username and a probe interval in seconds (180 to 3600).
Note: WLC probe does not require a successful authentication. Either way, a successful or failed authentications are considered a server response which is enough to promote the server to the Active queue.
Disabled: The feature is completely disabled.
Enabled with 0 Interval: The WLC sends accounting updates to ISE every time there is a change in the client's Mobile Station Control Block(MSCB) entry ( ie. IPv4 or IPv6 address assignment or change, client roaming event.) No additional periodic updates are sent out.
Enabled with a configured Interim Interval: In this mode the WLC sends notifications to ISE upon client's MSCB entry changes and it also sends additional periodic accounting notifications at the configured interval (regardless of any changes).
This ACL is referenced by ISE and it determines what traffic gets redirected and what traffic is allowed through.
This ACL must allow access to and from DNS services and ISE nodes over TCP port 8443. There is an implicit deny at the bottom that means the rest of the traffic gets redirected to ISE’s Guest Portal URL.
This feature is supported in AireOS versions 8.0.x and up but it is turned off by default. To enable HTTPS support go to the WLC Management > HTTP-HTTPS > HTTPS Redirection and set it to Enabled or apply the this command in CLI:
(Cisco Controller) >config network web-auth https-redirect enable
Certificate Warnings after HTTPS redirect is enabled
After https-redirect is enabled, the user can experience certificate trust issues during the redirect. This is seen even if there is a valid chained certificate on the controller and even if this certificate is signed by a 3rd party trusted Certificate Authority. The reason is that the certificate installed on the WLC is issued to its Virtual interface hostname or IP address. When the client tries https://cisco.com, the browser expects the certificate to be issued to cisco.com. However, for the WLC to be able to intercept the GET issued by the client, it first needs to establish the HTTPS session for which the WLC presents its Virtual Interface Certificate during SSL handshake phase. This causes the browser to display a warning as the certificate presented during the SSL handshake has not been issued to the original web site the client is trying to access (ie. cisco.com opposed to WLC's Virtual interface hostname). You can see different certificate error messages in different browsers but all relate to the same problem.
This feature is enabled by default in AireOS WLCs. When aggressive failover is enabled, the WLC marks the AAA server as unresponsive and it moves to the next configured AAA server after a RADIUs timeout event affects one client.
When the feature is disabled the WLC fails over to the next server only if the RADIUS timeout event occurs with at least 3 client sessions. This feature can be disabled by this command (No reboot is required for this command):
(Cisco Controller) >config radius aggressive-failover disable
To verify the current status of the feature:
(Cisco Controller) >show radius summary Vendor Id Backward Compatibility................. Disabled Call Station Id Case............................. lower Acct Call Station Id Type........................ Mac Address Auth Call Station Id Type........................ AP's Radio MAC Address:SSID Extended Source Ports Support.................... Enabled Aggressive Failover.............................. Disabled
The endpoints that support a Captive Network Assistant (CNA) mechanism to discover a captive-portal and auto-launch a logon page usually do this through a pseudo-browser in a controlled window while other endpoints launch a fully capable browser to trigger this. For endpoints where the CNA launches a pseudo-browser, this can break the flow when redirected to an ISE captive portal. This typically affect Apple IOS devices and it has especially negative effects in flows that require device registration, VLAN DHCP-Rlease, compliance check.
Hinge on on the complexity of the flow in use it can be recommended to enable Captive Bypass. In such scenario, the WLC ignores the CNA portal discovery mechanism and the client needs to open a browser to initiate the redirect process.
Verify the status of the feature:
(Cisco Controller) >show network summary Web Auth CMCC Support ...................... Disabled Web Auth Redirect Ports .................... 80,3128 Web Auth Proxy Redirect ................... Disable Web Auth Captive-Bypass .................. Disabled Web Auth Secure Web ....................... Enable Web Auth Secure Redirection ............... Enable
To enable this feature type this command:
(Cisco Controller) >config network web-auth captive-bypass enable Web-auth support for Captive-Bypass will be enabled. You must reset system for this setting to take effect.
The WLC alerts the user that for changes to take effect a reset-system (restart) is needed.
At this point a show network summary shows the feature as enabled, but for changes to take effect the WLC needs to be restarted.
1. Add ISE globally as an Authentication and Accounting server
2. Create ISE’s server group
3. Globally Enable Dot1x
4. Configure Method Lists
5. Create the authorization MAC-filter method.
This is called from the SSID settings later.
1. Create the Guest SSID
This ACL is referenced by ISE later in the access-accept in response to the initial MAB request. The NGWC uses it to determine what traffic to redirect and what traffic must be allowed through.
Note: Line 10 is optional. This is usually added for troubleshooting proposes. This ACL must allow access to DHCP, DNS services and also to ISE servers port TCP 8443(Deny ACEs). HTTP and HTTPS traffic gets redirected (Permit ACEs).
All the configuration discussed in previous steps can also be applied through the CLI.
802.1x Globally enabled
dot1x system-auth-control
Global AAA configuration
aaa new-model ! aaa authentication dot1x ISE_Method group ISE_Group aaa authorization network ISE_Method group ISE_Group aaa authorization network MacFilterMethod group ISE_Group aaa accounting Identity ISE_Method start-stop group ISE_Group ! aaa server radius dynamic-author client 172.16.157.210 server-key ***** client 172.16.157.21 server-key ***** auth-type any ! radius server ISE1 address ipv4 172.16.157.210 auth-port 1812 acct-port 1813 timeout 5 retransmit 2 key ***** ! radius server ISE2 address ipv4 172.16.157.21 auth-port 1812 acct-port 1813 timeout 5 retransmit 2 key ***** ! ! aaa group server radius ISE_Group server name ISE2 server name ISE1 deadtime 10 mac-delimiter colon !
Wlan Configuration
wlan Guest 1 Guest aaa-override accounting-list ISE_Method client vlan VLAN0301 mac-filtering MacFilterMethod nac no security wpa no security wpa akm dot1x no security wpa wpa2 no security wpa wpa2 ciphers aes security dot1x authentication-list ISE_Method no security ft over-the-ds session-timeout 28800 no shutdown
Redirect ACL Example
3850#show ip access-lists Guest_Redirect Extended IP access list Guest_Redirect 10 deny icmp any any 20 deny udp any any eq bootps 30 deny udp any any eq bootpc 40 deny udp any any eq domain 50 deny tcp any host 172.16.157.210 eq 8443 60 deny tcp any host 172.16.157.21 eq 8443 70 permit tcp any any eq www 80 permit tcp any any eq 443
HTTP and HTTPS support
3850#show run | inc http ip http server ip http secure-server
Note: If you apply an ACL to restrict access to the WLC over HTTP, it affects redirection.
This section describes the configuration required on ISE to support the all uses cases discussed in this document.
4. Navigate to Policy > Authentication and under MAB click Edit and ensure that under Use: Internal Endpoints the option If user is not found is set to Continue (It must be there by default).
Flow Overview
This process repeats itself every time the user connects to the SSID.
Configuration
3. Navigate to Policy > Policy Elements > Results > Authorization > Authorization Profiles. Click Add.
4. This profile is pushed down to the WLC the Redirect-URL and the Redirect-URL-ACL in response to the initial Mac authentication bypass (MAB) request.
The Profile must look similar the one in this picture. Then click Save.
Attribute Details at the bottom of the page the Attribute Value Pairs(AVPs) as they are be pushed to the WLC
5. Navigate to Policy > Authorization and insert a new rule. This rule is the one that triggers the redirect process in response to the initial MAC authentication request from WLC. (In this case called Wireless_Guest_Redirect).
6. Under Conditions choose Select Existing Condition from Library, then under condition name select Compound condition. Select a pre-defined compound condition called Wireless_MAB.
Note: This condition consists of 2 Radius Attributes expected in the Access Request originated form the WLC (NAS-Port-Type= IEEE 802.11 <present in all wireless requests> and Service-Type = Call Check< which refers to an specific request for a mac authentication bypass> )
7. Under results, select Standard > CWA_Redirect (Authorization profile created in previous step). Then click Done and Save
8. Navigate to the end of the CWA_Redirect rule and click the arrow next to Edit. Then select duplicate above.
9. Modify the name as this is the policy that the endpoint matches once the session is re-authenticated upon ISE’s CoA (In this case Wireless_Guest_Access).
10. Next to Wireless_MAB compound condition click the + symbol to expand the conditions and by the end of the Wireless_MAB condition click Add Attribute/Value.
11. Under “Select Attribute” chose Network Access > UseCase Equals Guest flow
12. Under Permissions select PermitAccess. Then click Done and Save
The two policies must look similar to this:
Flow Overview
In this lab scenario, authentication is enforced once a day. Re-authentication trigger is Endpoint Purge Policy that removes all the endpoints of the used Endpoint Identity Group every day.
Note: It is possible to enforce the guest authentication event based on Elapsed time since last AUP acceptance. This canbe an option if you need to enforce Guest Logon more often that once a day (in example every 4 hours).
Configuration
3. Navigate to Work center > Guest Access > Configure > Guest Types or just click on the shortcut specified under Guest Device Registration Settings in the portal.
4. When the Sponsor User creates a guest account, he assigns a guest type to it. Each individual Guest Type can have a registered endpoint that belongs to a different Endpoint Identity Group.To assign the Endpoint Identity Group the device must be added to, select the Guest Type the sponsor uses for these guest users (This use case is based on Weekly (default)).
5. Once in the guest type, under Login Options select the Endpoint Group from the drop down menu Endpoint Identity group for guest device registration
6. Navigate to Policy > Policy Elements > Results > Authorization > Authorization Profiles. Click Add.
7. This profile is pushed down to the WLC the Redirect-URL and the Redirect-URL-ACL in response to the initial Mac authentication bypass (MAB) request.
8. Navigate to Policy > Authorization and insert a new rule. This rule is the one that triggers the redirect process in response to the initial MAC authentication request from WLC. (In this case called Wireless_Guest_Redirect).
9. Under Conditions chose Select Existing Condition from Library, then under condition name select Compound condition. Select a pre-defined compound condition called Wireless_MAB.
10. Under results, select Standard > CWA_DeviceRegistration (Authorization profile created in previous step). Then click Done and Save
11. Duplicate the policy above, modify its name as this is the policy the endpoint hits after it returns from the re-authentication event (called Wireless_Guest_Access).
12. Under Identity Group Details box, select Endpoint Identity Group and select the group you referenced under the Guest Type(GuestEndpoints).
13. Under Results select PermitAccess. Click Done and Save the changes.
14. Create and endpoint purge policy that clears the GuestEndpoint Group daily.
In this case the condition is Members of GuestEndpoints with Elapsed Days less than 1 day
Flow Overview
Configuration
2. Navigate to Work Centers > Guest Access > Configure > Guest Portals > select Hotspot Portal (default).
3. Expand Portal Settings and under Endpoint Identity Group select HostSpot_Endpoints group under Endpoint Identity Group. This sends the registered devices to the specified group.
4. Save the changes.
5. Create the Authorization profile that calls the HotSpot Portal upon MAB authentication originated by the WLC.
6. Create the Authorization Policy that triggers the HotSpotRedirect result upon initial MAB request from WLC.
7. Create the second Authorization Policy.
8. Configure the purge policy that clears endpoints with an Elapsed time greater than 5 days.
Flow from ISE RADIUS Live logs:
Flow from ISE RADIUS Live logs:
When FlexConnect local switching is configured the Network Admin needs to ensure that:
Or by adding the Policy ACL to the FlexConnect Group belongs to (Wireless > FlexConnect Groups > Select the correct group > ACL Mapping > Policies Select the Redirect ACL and click Add)
Policy ACL addition triggers the WLC to push configured ACL down to the AP(s) members of the FlexConnect Group. Failure to do this results in a web redirect issue.
In auto-anchor (Foreign–Anchor) scenarios it is important to highlight these facts:
A “show client detailed xx:xx:xx:xx:xx:xx” reveals that the client is stuck in START. Usually this is an indicator of the WLC unable to apply an attribute that the AAA server returns.
Verify that the Redirect ACL name pushed by ISE matches exactly the name of the pre-defined ACL on the WLC.
The same principle applies to any other attribute that you have configured ISE to push down to the WLC (VLAN IDs, Interface Names, Airespace-ACLs). The client must then transition to DHCP and then CENTRAL_WEB_AUTH.
Verify that the client's policy manager state is CENTRAL_WEB_AUTH with a valid IP address aligned to the configured dynamic interface for the SSID and also that the Redirect ACL and URL-Redirect attributes are applied to the client's session.
Redirect ACL
In AIreOS WLCs the redirect ACL must explicitly allow the traffic that must not be redirected, like DNS and ISE on TCP Port 8443 in both directions and the implicit deny ip any any triggers the rest of the traffic to be redirected.
In Converged access the logic is the opposite. Deny ACEs bypasses redirect while permit ACEs triggers the redirect. This is why it is recommended to explicitly permit TCP port 80 and 443.
Verify access to ISE over port 8443 from guest VLAN. If everything looks good from configuration perspective the easiest way to move forward is to grab a capture behind the client's wireless adapter and verify where the redirect breaks.
Once the client grabbed an IP address at the beginning of the flow (Pre Redirect state), if a VLAN change is pushed down after Guest authentication happens (post CoA re-authenticate), the only way to force a DHCP release / renew in Guest flow (without posture agent) is through a java applet that in mobile devices do not work.
This leaves the client black-holed in VLAN X with an IP address of VLAN Y. This must be considered while planning the solution.
This is usually an indicator of session loss on ISE (session has been terminated). The most common reason for this is accounting configured on the Anchor WLC when Foreign-Anchor has been deployed. To fix this disable accounting on the Anchor and leave the Foreign handle Authentication and Accounting.
5. Client disconnects and remains disconnected or connects to a different SSID after accepting AUP in ISE’s HotSpot portal.
This canbe expected in HotSpot due to the Dynamic Change of Authorization (CoA) involved in this flow (CoA Admin Reset) that causes the WLC to issue a deauth to the wireless station. The majority of wireless endpoints do not have any issues to come back to the SSID after the de-authenticate happens, but in some cases the client connects to another preferred SSID in response to the de-authenitcate event. Nothing can be done from ISE or WLC to prevent this as it is up to the wireless client to stick to the original SSID, or to connect to another available (preferred) SSID.
In this case the wireless user must manually connect back to the HotSpot SSID.
(Cisco Controller) >debug client <MAC addr>
Debug client sets to DEBUG a set of components involved in Client State Machine changes.
(Cisco Controller) >show debug MAC Addr 1.................................. AA:AA:AA:AA:AA:AA Debug Flags Enabled: dhcp packet enabled. dot11 mobile enabled. dot11 state enabled dot1x events enabled. dot1x states enabled. mobility client handoff enabled. pem events enabled. pem state enabled. 802.11r event debug enabled. 802.11w event debug enabled. CCKM client debug enabled.
Debug AAA components
(Cisco Controller) >debug aaa {events, detail and packets} enable
This canbe impact resources depending on the amount of users that connect through MAB or Dot1X SSID. These components in DEBUG level record AAA transactions between WLC and ISE and print the RADIUS packets on the screen.
This is critical if you that ISE cannot deliver the expected attributes, or if the WLC does not process them correctly.
Web-Auth redirect
(Cisco Controller) >debug web-auth redirect enable mac aa:aa:aa:aa:aa:aa
This can be used to verify that the WLC is successfully triggering the redirect. This is an example of how the redirect must look like from debugs:
*webauthRedirect: Jul 07 19:18:08.035: 68:7f:74:72:18:2e- parser host is 10.10.10.10 *webauthRedirect: Jul 07 19:18:08.035: 68:7f:74:72:18:2e- parser path is / *webauthRedirect: Jul 07 19:18:08.035: 68:7f:74:72:18:2e- added redirect=, URL is now https://TORISE21A.RTPAAA.NET:8443/portal/gateway?sessionId=0e249a0500000682577ee2a2&portal=9fc44212-2da2-11e6-a5e2-005056a15f11&action=cwa&to *webauthRedirect: Jul 07 19:18:08.035: 68:7f:74:72:18:2e- str1 is now https://TORISE21A.RTPAAA.NET:8443/portal/gateway?sessionId=0e249a0500000682577ee2a2&portal=9fc44212-2da2-11e6-a5e2-005056a15f11&action=cwa&token=c455b075d20c *webauthRedirect: Jul 07 19:18:08.035: 68:7f:74:72:18:2e- clen string is Content-Length: 430 *webauthRedirect: Jul 07 19:18:08.035: 68:7f:74:72:18:2e- Message to be sent is HTTP/1.1 200 OK Location: https://TORISE21A.RTPAAA.NET:8443/portal/gateway?sessionId=0e249a0500000682577ee2a2&portal=9fc44212-2da2-11e6-a5e2-0050
Debug client sets to DEBUG a set of components involved in Client State Machine changes.
3850#debug client mac-address <client MAC>
This component prints the RADIUS packets (Authentication and Accounting) on the screen. This is handy when you need to verify that ISE delivers the right AVPs and also to verify that CoA is sent and processed correctly.
3850#debug radius
This will all AAA transitions (authentication, authorization and accounting) where wireless clients are involved. This is critical to verify that WLC parses correctly the AVPs and applies them to the client session.
3850#debug aaa wireless all
This can enabled when you suspect a redirect issue on the NGWC.
3850#debug epm plugin redirect all 3850#debug ip http transactions 3850#debug ip http url
RADIUS Live logs
Verify initial MAB request has been processed correctly in ISE and that ISE pushes back the expected attributes. Navigate to Operations > RADIUS > Live logs and filter the output using the client MAC under Endpoint ID. Once the authentication event is found, click on details and then verify the Results pushed as part of the accept.
TCPDump
This feature can be used when a deeper look into the RADIUS packet exchange between ISE and the WLC is needed. This way you can prove that ISE sends the correct attributes in the access-accept without the need to enable debugs on the WLC side. To start a capture using TCDDump navigate to Operations > Troubleshoot > Diagnostic Tools >General Tools > TCPDump.
This is an example of a correct flow captured through TCPDump
Here are the AVPs sent in response to the initial MAB request (second packet in the screenshot above).
RADIUS Protocol Code: Access-Accept (2) Packet identifier: 0x0 (0) Length: 401 Authenticator: f1eaaffcfaa240270b885a9ba8ccd06d [This is a response to a request in frame 1] [Time from request: 0.214509000 seconds] Attribute Value Pairs AVP: l=19 t=User-Name(1): 00-05-4E-41-19-FC AVP: l=40 t=State(24): 52656175746853657373696f6e3a30653234396130353030... AVP: l=55 t=Class(25): 434143533a30653234396130353030303030616130353536... AVP: l=37 t=Vendor-Specific(26) v=ciscoSystems(9) VSA: l=31 t=Cisco-AVPair(1): url-redirect-acl=Gues_Redirect AVP: l=195 t=Vendor-Specific(26) v=ciscoSystems(9) VSA: l=189 t=Cisco-AVPair(1): url-redirect=https://ise21a.rtpaaa.net:8443/portal/gateway?sessionId=0e249a0500000aa05565e1c9&portal=194a5780-5e4e-11e4-b905-005056bf2f0a&action=cwa&token=c6c8a6b0d683ea0c650282b4372a7622 AVP: l=35 t=Vendor-Specific(26) v=ciscoSystems(9)
Endpoint Debugs:
If you need to dive deeper into ISE processes that involve policy decisions, portal selection, guest authentication, CoA handling the easiest way to approach this is to enable Endpoit Debugs instead of having to set complete components to debug level.
To enable this, navigate to Operations > Troubleshooting > DiagnosticTools > General Tools > EndPoint Debug.
Once in the Endpoint debug page, enter the endpoint MAC address and click start when ready to recreate the issue.
Once the debug has been stopped click on the link that identifies the endpoint ID to download the debug output.
Cisco Wireless Controller Configuration Guide, Release 8.0.
Cisco Identity Services Engine Administrator Guide, Release 2.1
Universal NGWC Wireless Configuration with Identity services Engine
Revision | Publish Date | Comments |
---|---|---|
2.0 |
19-Oct-2022 |
Aligned document with RFC 1918 , 5737, and 6761 |
1.0 |
12-Jul-2016 |
Initial Release |