WLC EAP-TLS VLAN and DACL Troubleshooting
Executive Summary
This runbook documents the troubleshooting process for wireless EAP-TLS authentication issues where:
-
EAP authentication succeeds at ISE
-
WLC receives VLAN/DACL attributes from RADIUS
-
Client gets disconnected immediately after EAP success
Root Causes Identified
| Issue | Symptom | Resolution |
|---|---|---|
VLAN Naming Mismatch |
|
Rename WLC VLAN to match ISE attribute |
VLAN Not in Policy Profile |
WLC ignores dynamic VLAN, uses hardcoded |
Add VLAN to policy profile’s allowed VLANs |
DACL Download Disabled |
|
Enable VSA and AAA authorization commands |
MGMT VLAN = Static IPs |
DHCP timeout after successful auth |
Configure static IP on client WiFi connection |
Prerequisites
-
SSH access to WLC (10.50.1.40)
-
ISE admin access for policy verification
-
Linux client with EAP-TLS configured
Phase 1: Diagnostics
1.1 Verify ISE Authentication Result
Query ISE DataConnect for recent authentications:
dsource d000 dev/ise
netapi ise dc query "
SELECT
TO_CHAR(acs_timestamp, 'HH24:MI:SS') as time,
calling_station_id as mac,
selected_azn_profiles as profile,
passed as status
FROM mnt.radius_auth_48_live
WHERE user_name LIKE '%evanusmodestus%'
ORDER BY acs_timestamp DESC
FETCH FIRST 5 ROWS ONLY"
Expected: PASSED=1 with correct authorization profile
1.2 Check wpa_supplicant Logs
On Linux client:
journalctl -u wpa_supplicant -f --since "5 minutes ago"
Key patterns:
| Log Pattern | Meaning |
|---|---|
|
EAP authentication passed (ISE accepted) |
|
WLC rejected session (VLAN/DACL issue) |
|
Successfully associated |
1.3 Check WLC Logging
ssh admin@{wlc-ip}
show logging | include VLAN|ACL|Failed
Error patterns:
! VLAN naming mismatch
*ewlc-infra-capwapEventTrace: VLAN Failure. Failed attribute name MANAGEMENT_VLAN
! DACL download disabled
*ewlc-infra-capwapEventTrace: ACL Failure. Failed attribute name xACSACLx-IP-DACL_ADMIN_FULL-696eef58
Phase 2: VLAN Configuration
2.1 Check Existing VLANs
show vlan summary
VLAN ID Name Shutdown
100 MGMT_VLAN No ! <-- ISE sends MANAGEMENT_VLAN
10 DATA_VLAN No
40 IOT_VLAN No
Problem: ISE authorization profile sends MANAGEMENT_VLAN but WLC has MGMT_VLAN.
2.3 Add VLAN to Policy Profile
Check current policy:
show wireless profile policy detailed POLICY-DOMUS_SECURE | include vlan|VLAN
If only one VLAN (e.g., vlan 10), you need to add the management VLAN:
configure terminal
wireless profile policy POLICY-DOMUS_SECURE
shutdown
exit
| Shutting down the policy briefly disconnects all clients on that SSID. |
wireless profile policy POLICY-DOMUS_SECURE
vlan MANAGEMENT_VLAN
no shutdown
exit
end
write memory
Phase 3: DACL Configuration
3.1 Check DACL Requirements
9800 WLC DACL download requires IOS XE 17.10.1 or later.
show version | include IOS
3.2 Enable VSA for DACL Download
CRITICAL: Without this, WLC ignores DACL attributes from RADIUS.
show run all | include radius-server vsa
If VSA is not enabled:
configure terminal
radius-server vsa send authentication
end
Phase 4: Client Configuration
4.1 MANAGEMENT_VLAN Uses Static IPs
The MANAGEMENT_VLAN (10.50.1.0/24) uses static IP addressing by design - no DHCP server.
If your ISE policy assigns MANAGEMENT_VLAN to admin workstations, configure static IP:
nmcli conn modify "Domus-WiFi-EAP-TLS" \
ipv4.method manual \
ipv4.addresses "10.50.1.200/24" \
ipv4.gateway "{gateway-infra}" \
ipv4.dns "{bind-ip}"
nmcli conn up "Domus-WiFi-EAP-TLS"
Phase 5: Verification
5.1 WLC Client Status
show wireless client summary
MAC Address AP Name WLAN State Protocol Method
7015.fbf8.47ec AP4800 4 Run 11ac Dot1x
Quick Reference
WLC Commands Summary
| Task | Command |
|---|---|
List VLANs |
|
Show policy detail |
|
Check VSA status |
|
Check AAA authz |
|
Show client detail |
|
Show downloaded DACLs |
|
Clear exclusion (if client stuck) |
|
Session Log (2026-03-08)
Incident Timeline
| Time | Event |
|---|---|
00:00 |
Linux laptop (modestus-razer) fails to connect to Domus-Secure |
+5min |
wpa_supplicant shows |
+10min |
ISE DataConnect confirms |
+15min |
WLC logs show |
+20min |
VLAN 100 renamed from |
+25min |
VLAN added to policy profile (required brief shutdown) |
+30min |
WLC logs show |
+35min |
Enabled |
+40min |
Added |
+45min |
Authentication works, DHCP fails (MGMT VLAN = static IPs) |
+50min |
Static IP configured on WiFi connection |
+55min |
Success - Client connected, VLAN 100, DACL downloaded |
Configuration Changes Applied
! VLAN rename
vlan 100
name MANAGEMENT_VLAN
! Policy profile VLAN
wireless profile policy POLICY-DOMUS_SECURE
vlan MANAGEMENT_VLAN
! DACL enablement
radius-server vsa send authentication
aaa authorization network default group radius
Key Learnings
-
VLAN names must match exactly - ISE sends
MANAGEMENT_VLAN, WLC must have that exact name -
Policy profile needs all possible VLANs - Can’t dynamically assign a VLAN not in the policy
-
VSA is required for DACL download - Without
radius-server vsa send authentication, WLC ignores DACL -
AAA authorization enables attribute processing - Without
aaa authorization network default, no VLAN/DACL -
Infrastructure VLANs may use static IPs - Design decision for MGMT network