11-27-2018 01:13 PM - edited 04-07-2021 11:24 PM
Content
Cisco Catalyst 9800 (C9800) series wireless controller configuration is different from AireOS and this document shows how to configure C9800 to work with ISE. For more information on Cisco Catalyst 9800 series, please go to: https://www.cisco.com/c/en/us/products/wireless/catalyst-9800-series-wireless-controllers/index.html
WLC: Catalyst 9800-CL running 16.10.1
AP: Cisco 1815i
ISE: 2.4p3 (Previous versions of ISE should work with C9800 as well)
The document does not cover details on how to bootstrap the ISE, C9800, and AP. The document assumes the C9800 is accessible from the management PC and AP is associated to the C9800. The document also assumes underlying network elements are already configured, which includes, VLANs, SVIs, Subnets, DHCP, routing, and DNS. The following diagram and table shows settings for the components.
C9800 IP | 192.168.201.61 |
ISE IP | 192.168.201.93 |
DNS IP | 192.168.201.71 |
OPEN SSID | OPEN |
SECURE SSID | SECURE |
Guest VLAN | 30 |
Guest Subnet | 192.168.30.0/24 |
User VLAN | 10 |
User Subnet | 192.168.10.0/24 |
Following diagram shows the C9800 configuration at a high level. Each box represents individual configuration profile with relevant options shown and how each profile feeds into other profiles to make a working configuration. The bullet points within the profile that are in bold represents sub profile being fed into the profile. It also includes the suggested order to create the profiles that maps to the main section of the document.
Name |
ISE01 |
IP | 192.168.201.93 |
Key | ***** (Match with ISE) |
Support for CoA | Checked |
Name |
ISE |
Available Servers | ISE01 |
Name |
default |
Type | dot1x |
Group-Type | Group |
Available Server Groups | ISE |
Note: If clients are failing to associate and authentication request does not show up on ISE Live Log, try setting the authentication list name to 'default' as shown above.
Go to Configuration > Security > AAA > AAA Method List > Authorization, Click Add
Name |
default |
Type | Network |
Group-Type | Group |
Available Server Groups | ISE |
Name |
default |
Type | Identity |
Available Server Groups | ISE |
This will only be used in the SECURE SSID to suppress Apple CNA (AKA mini browser) from popping up upon association to the WLAN. This is required as the Apple CNA is unable to fulfill the BYOD onboarding flow.
VLAN ID | 10 | 30 |
Name | User | Guest |
State | Activated | Activated |
Port Members | Gi2 |
Gi2 |
General | Profile Name | OPEN | SECURE |
SSID | OPEN | SECURE | |
Status | Enabled | Enabled | |
Security > Layer 2 | Layer 2 Security Mode | None | WPA + WPA2 |
MAC Filtering | Enabled | ||
Authorization List | default | ||
Security > Layer 3 | Webauth Parameter Map | Captive-Bypass-Portal | |
Security > AAA | Authentication List | default | default |
General | Name | Guest | User |
Status | Enabled | Enabled | |
Access Policies | HTTP TLV Caching | Checked | Checked |
RADIUS Profiling | Checked | Checked | |
DHCP TLV Caching | Checked | Checked | |
VLAN/VLAN Group | Guest | User | |
Advanced | Allow AAA Override | Checked | Checked |
NAC State | Checked | Checked | |
Accounting List | default | default |
WLAN Profile | Policy Profile |
OPEN | Guest |
SECURE | User |
Finally, apply the tag to the AP. This section shows instructions on tying it to a single AP. Using Advanced Wireless Setup Wizard on C9800, same tag can be applied to multiple APs at the same time.
Sequence | Action | Source IP | Destination IP | Protocol | Source Port | Destination Port |
10 | deny | any | 192.168.201.93 | tcp | eq 8443 | |
20 | deny | any | 192.168.201.71 | udp | eq domain (53) | |
30 | permit | any | any | tcp | eq www (80) |
Sequence | Action | Source IP | Destination IP | Protocol | Source Port | Destination Port |
10 | deny | any | 192.168.201.93 | tcp | eq 8443 | |
20 | deny | any | 192.168.201.93 | tcp | eq 8905 | |
30 | deny | any | 192.168.201.71 | udp | eq domain (53) | |
40 | permit | any | any | tcp | eq www (80) |
Unlike AireOS which allows DNS entries to be part of redirect ACL, separate URL filter have to be created and be called upon via RADIUS attribute from ISE to permit access to Internet hosts using FQDNs.
Name | BYOD-URL-Filter |
Type | PRE-AUTH |
Action | Permit |
URLs | *.google.com accounts.youtube.com gstatic.com *.googleapis.com *.appspot.com ggpht.com gvt1.com market.android.com android.pool.ntp.org *.googleusercontent.com *.google-analytics.com |
Name | Guest-URL-Filter |
Type | PRE-AUTH |
Action | Permit |
URLs | *.facebook.com *.akamai.com *.fbcdn.net *.akamaihd.net |
This section describes additional configuration needed to configure the WLAN as FlexConnect Local switching and integrate it with ISE. This section will utilize existing configurations made above.
General | Name | Flex | |
Policy ACL | ACL Name | ACL_WEBAUTH_REDIRECT | |
Central WebAuth | Checked | ||
Pre Auth URL Filter | (If this is for BYOD, select BYOD-URL-Filter, else blank) | ||
VLAN | VLAN Name | User | Guest |
VLAN Id | 10 | 30 |
Name | Branch |
Flex Profile | Flex |
Enable Local Site | Unchecked |
When ACL is translated to the FlexConnect ACL, it requires return traffic to be allowed for it to work. If deny is missing for return traffic the endpoint in Central_WebAuth state will not be able to finish the redirect flow. Following changes to the existing ACL will make ACL wotk for both local mode and FlexConnect mode.
Sequence | Action | Source IP | Destination IP | Protocol | Source Port | Destination Port |
10 | deny | any | 192.168.201.93 | tcp | eq 8443 | |
11 | deny | 192.168.201.93 | any | tcp | eq 8443 | |
20 | deny | any | 192.168.201.71 | udp | eq domain (53) | |
21 | deny | 192.168.201.71 | any | udp | eq domain (53) | |
30 | permit | any | any | tcp | eq www (80) |
For more information on the C9800/ISE integration and troubleshooting, please go to: https://www.cisco.com/c/en/us/support/wireless/catalyst-9800-series-wireless-controllers/products-configuration-examples-list.html
Thanks, this is a very good and helpful write-up.
Something also to note is that the http server must be enabled on the controller to process the redirects. It may be on by default, but I had a customer disable it and we spent some time troubleshooting why the redirects were not happening.
ip http server
ip http active-session-modules none
@jj27 Yes, it is enabled by default. And much of the configuration is done via GUI which assumes it is enabled. But, I've added it in the notes section.
So Helpful, Thanks
This is excellent as usual @howon!
Hi Howon
in the article u dont mention how u apply ACL_WEBAUTH_REDIRECT in case of centrally switched WLAN. So it's difficult to conclude how it works finally. There is though n article written by one of wifininjas (https://wifininjas.net/2019/08/13/wn-blog-009-c9800-wlc-guest-mab-cwa-ise/ ) where he describes case where he applies his redirect ACL on global level. It's not possible to comment n article though (to ask the Q :0). Could u pls kindly explain it?
Hello @andy!doesnt!like!uucp , when using centrally switched WLAN there is no need to configure the ACL on the Policy Profile, we just need to configure the ACL on the 9800 WLC, and ISE will send the ACL name as an attribute. When locally switched we need to specify the ACL on the flex profile, so the 9800 WLC pushes this ACL to the AP, but will be the same, ISE needs to send the ACL name in the flow for the usage of it. Hope this can help you to better understand.
I haven't seen much regarding RADIUS configuration on the 9800 and "aaa accounting update". In AireOS it's a best practice to configure accounting interim update with a timer value of 0, but that's not accepted on the 9800. The lowest value that is accepted is 1, which is definitely not what I'm after. I found a suggestion for "aaa accounting update newinfo periodic 2880" recommended elsewhere (Not specific to 9800). That seems pretty much the same as interim update with a value of 0 with the benefit that it also updates every 2 days if the device stayed connected for longer than that. Would you suggest that command for 9800 as well?
Very helpful.
Note that dACL is NOT supported on Cat 9800 WLC, no matter where you read that it is.
@jasond Can you somehow prove your statement?
It is very important note.
Where is it mentioned (NOT supported) ?
@stayd DACL is not official supported until IOS-XE 17.10.1. See What's New in Cisco IOS XE Dublin 17.10.1
Downloadable ACL (Central Switching Only) |
The Downloadable ACL (dACL) feature defines and updates ACLs in one place (Cisco ISE) and allows ACL download to all the applicable controllers. For more information, see the Chapter Downloadable ACL (dACL). |
It has worked previously in some small-scale lab, such as our demo lab in Cisco dCloud.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: