Introducción
Este documento describe cómo configurar una CWA Wireless LAN en un Catalyst 9800 WLC e ISE.
Prerequisites
Requirements
Cisco recomienda que conozca la configuración de 9800 Wireless LAN Controllers (WLC).
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- 9800 WLC Cisco IOS® XE Gibraltar v17.3.x
- Identity Service Engine (ISE) v2.4
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. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
El proceso de CWA se muestra aquí donde puede ver como ejemplo el proceso de CWA de un dispositivo Apple:

Configurar
Diagrama de la red

Configuración AAA en el WLC 9800
Paso 1. Agregue el servidor ISE a la configuración del WLC 9800 y cree una lista de métodos de autenticación.
Navegue hasta Configuration > Security > AAA > Servers/Groups > RADIUS > Servers > + Add e ingrese la información del servidor RADIUS como se muestra en la imagen.

Asegúrese de que la compatibilidad con CoA esté activada si tiene previsto utilizar la autenticación Web central (o cualquier tipo de seguridad que requiera CoA) en el futuro.

Paso 2. Cree una lista de métodos de autorización.
Vaya a Configuration > Security > AAA > AAA Method List > Authorization > + Add como se muestra en la imagen.

Paso 4 (opcional). Cree una lista de métodos de contabilidad como se muestra en la imagen.


Nota: CWA no funciona si decide balancear la carga (desde la configuración CLI IOS® XE de Cisco) de sus servidores radius debido al ID de bug de Cisco CSCvh03827. El uso de equilibradores de carga externos está bien.
Paso 5 (opcional).
Puede definir la política AAA para enviar el nombre SSID como un atributo Called-station-id, lo que puede ser útil si desea aprovechar esta condición en ISE más adelante en el proceso.
Navegue hasta Configuration > Security > Wireless AAA Policy y edite la política AAA predeterminada o cree una nueva.

Puede elegir SSID como opción 1. Tenga en cuenta que incluso cuando elige SSID solamente, el ID de la estación llamada todavía anexa la dirección MAC del AP al nombre SSID como se muestra en la imagen.

Configuración de WLAN
Paso 1. Creación de la WLAN
GUI
Navegue hasta Configuration > Tags & Profiles > WLANs > + Add y configure la red según sea necesario.
Paso 2. Introduzca la información de WLAN.

Paso 3. Navegue hasta la ficha Seguridad y seleccione el método de seguridad necesario. En este caso, solo "MAC Filtering" y la lista que creó en el Paso 2. en la sección Configuración AAA.
CLI:
# config t
(config)#wlan cwa-ssid 2 cwa-ssid
(config-wlan)#mac-filtering CWAauthz
(config-wlan)#no security wpa
(config-wlan)#no security wpa wpa2 ciphers aes
(config-wlan)#no security wpa akm dot1x
(config-wlan)#no shutdown
Configuración del perfil de política
Dentro de un perfil de política, puede decidir a qué VLAN asignar los clientes, entre otras opciones (como Lista de controles de acceso [ACL], Calidad de servicio [QoS], Anclaje de movilidad, Temporizadores, etc.).
Puede utilizar su perfil de política predeterminado o puede crear uno nuevo.
GUI:
Paso 1. Cree un nuevo perfil de política.
Navegue hasta Configuration > Tags & Profiles > Policy y configure su default-policy-profile o cree uno nuevo.
Asegúrese de que el perfil esté habilitado.

Paso 2. Seleccione la VLAN.
Navegue hasta la pestaña Políticas de acceso y seleccione el nombre de VLAN en el desplegable o escriba manualmente el ID de VLAN. No configure una ACL en el perfil de política.

Paso 3. Configure el perfil de política para aceptar las anulaciones de ISE (Permitir anulación de AAA) y el cambio de autorización (CoA) (Estado de NAC). Opcionalmente, también puede especificar un método de contabilidad.

CLI:
# config
# wireless profile policy <policy-profile-name>
# aaa-override
# nac
# vlan <vlan-id_or_vlan-name>
# accounting-list <acct-list>
# no shutdown
Configuración de la etiqueta de política
Dentro de la etiqueta de política se encuentra el enlace del SSID con su perfil de política. Puede crear una nueva etiqueta de política o utilizar la etiqueta de política predeterminada.
Nota: La etiqueta de política predeterminada asigna automáticamente cualquier SSID con un ID de WLAN entre 1 y 16 al perfil de política predeterminado. No se puede modificar ni eliminar. Si tiene una WLAN con ID 17 o superior, no se puede utilizar la etiqueta de política predeterminada.
GUI:
Navegue hasta Configuration > Tags & Profiles > Tags > Policy y agregue uno nuevo si es necesario, como se muestra en la imagen.
Enlace el perfil WLAN al perfil de política deseado.



CLI:
# config t
# wireless tag policy <policy-tag-name>
# wlan <profile-name> policy <policy-profile-name>
Asignación de etiqueta de política
Asigne la etiqueta de política a los AP necesarios.
GUI:
Para asignar la etiqueta a un AP, navegue a Configuration > Wireless > Access Points > AP Name > General Tags, realice la asignación necesaria y luego haga clic en Update & Apply to Device .
Nota: Tenga en cuenta que después de cambiar la etiqueta de política en un AP, pierde su asociación con el WLC 9800 y se une en aproximadamente 1 minuto.
Para asignar la misma etiqueta de política a varios AP, navegue hasta Configuration > Wireless > Wireless Setup > Start Now > Apply.
Seleccione los AP a los que desea asignar la etiqueta y haga clic en + Tag APs como se muestra en la imagen.
Seleccione la etiqueta blanca y haga clic en Guardar y aplicar al dispositivo como se muestra en la imagen.
CLI:
# config t
# ap <ethernet-mac-addr>
# policy-tag <policy-tag-name>
# end
Redirigir configuración ACL
Paso 1. Navegue hasta Configuration > Security > ACL > + Add para crear una nueva ACL.
Seleccione un nombre para la ACL, hágalo con el tipo IPv4 Extended y agregue cada regla como una secuencia, como se muestra en la imagen.

Debe denegar el tráfico a los nodos PSN de ISE, así como denegar DNS y permitir todo el resto. Esta ACL de redirección no es una ACL de seguridad, sino una ACL de puerto que define qué tráfico va a la CPU (en los permisos) para un tratamiento adicional (como la redirección) y qué tráfico permanece en el plano de datos (en denegación) y evita la redirección.
La ACL debe tener este aspecto (reemplace 10.48.39.28 por la dirección IP de su ISE):

Nota: Para la ACL de redirección, piense en la acción deny como una redirección deny (no deny traffic) y permit action como redirección permit. El WLC sólo busca el tráfico que puede redirigir (puerto 80 y 443 de forma predeterminada).
CLI:
ip access-list extended REDIRECT
deny ip any host 10.48.39.28
deny ip host 10.48.39.28 any
deny udp any any eq domain
deny udp any eq domain any
permit tcp any any eq 80
Nota: Si usted termina la ACL con un permit ip any any en lugar de un permiso enfocado en el puerto 80, el WLC también redirige HTTPS, que a menudo es indeseable pues tiene que proporcionar su propio certificado y siempre crea una violación del certificado.
Puede mejorar la ACL con la acción de denegar solamente el puerto de invitado 8443 hacia el servidor ISE.
Habilitar redirección para HTTP o HTTPs
La configuración del portal de administración web está vinculada con la configuración del portal de autenticación web y necesita escuchar en el puerto 80 para redirigir. Asegúrese de que tiene el comando "ip http server" para la redirección en HTTP.
Si desea ser redirigido cuando intente acceder a una URL HTTPs, agregue el comando "intercept-https-enable" bajo el mapa de parámetros:
parameter-map type webauth global
type webauth
intercept-https-enable
trustpoint xxxxx
También puede hacerlo a través de la GUI con la opción "Web Auth Intercept HTTPs" marcada en el mapa de parámetro:

Configuración de ISE
Agregar 9800 WLC a ISE
Paso 1. Vaya a Administration > Network Resources > Network Devices como se muestra en la imagen.

Paso 2. Haga clic en +Add e ingrese la configuración del WLC 9800 como se muestra en la imagen.

Opcionalmente, puede ser un nombre de modelo especificado, versión de software, descripción y asignar grupos de dispositivos de red basados en tipos de dispositivos, ubicación o WLC.
a.b.c.d corresponde a la interfaz del WLC que envía la autenticación solicitada.


Para obtener más información sobre Grupos de Dispositivos de Red, consulte la guía de administración de ISE: ISE - Grupos de Dispositivos de Red
Crear nuevo usuario en ISE
Paso 1. Vaya a Administration > Identity Management > Identities > Users > Add como se muestra en la imagen.

Paso 2. Introduzca la información.
En este ejemplo, este usuario pertenece a un grupo denominado ALL_ACCOUNTS, pero se puede ajustar según sea necesario, como se muestra en la imagen.

Crear perfil de autorización
El perfil de política es el resultado asignado a un cliente en función de sus parámetros (como dirección mac, credenciales, WLAN usada, etc.). Puede asignar configuraciones específicas como Virtual Local Area Network (VLAN), Access Control Lists (ACL), Uniform Resource Locator (URL), etc.
Estos pasos muestran cómo crear el perfil de autorización necesario para redirigir el cliente al portal de autenticación. Tenga en cuenta que en las versiones recientes de ISE, ya existe un resultado de autorización de Cisco_Webauth. Aquí, puede editarlo para modificar el nombre de ACL de redirección para que coincida con lo que configuró en el WLC.
Paso 1. Vaya a Policy > Policy Elements > Results > Authorization > Authorization Profiles . Haga clic en agregar para crear el suyo propio o editar el resultado predeterminado de Cisco_Webauth.

Paso 2. Introduzca la información de redirección. Asegúrese de que el nombre de ACL sea el mismo que se configuró en el WLC 9800.

Configurar regla de autenticación
Paso 1. Navegue hasta Política > Conjuntos de Políticas. Seleccione los conjuntos de políticas adecuados (si ya tiene varios configurados) o la flecha View predeterminada a la derecha de la pantalla.

Paso 2. Expanda la política de autenticación. Para la regla MAB (coincidencia en MAB por cable o inalámbrico), expanda Opciones y elija la opción CONTINUAR en el caso de que no se encuentre el usuario.

Paso 3. Haga clic en Guardar para guardar los cambios.
Configurar reglas de autorización
La regla de autorización es la encargada de determinar qué permisos (qué perfil de autorización) se aplican al cliente.
Paso 1. En la misma página del conjunto de políticas, cierre la política de autenticación y expanda la política de autorización como se muestra en la imagen.

Paso 2. Las versiones recientes de ISE comienzan con una regla precreada llamada Wifi_Redirect_to_Guest_Login que coincide principalmente con nuestras necesidades. Gire el signo gris a la izquierda para habilitar.

Paso 3. Esa regla coincide sólo con Wireless_MAB y devuelve los atributos de redirección de CWA. Ahora, opcionalmente agregamos un pequeño giro y hacemos que coincida sólo en nuestro SSID específico. Seleccione la condición (Wireless_MAB a partir de ahora) para que aparezca el estudio de condiciones. Agregue una condición a la derecha y elija el diccionario Radius con el atributo Called-Station-ID. Haga que coincida con su nombre de SSID. Valide con la selección de "Usar" en la parte inferior de la pantalla como se muestra en la imagen.

Paso 4. Ahora necesita una segunda regla, definida con una prioridad más alta, que coincida con la condición Guest Flow para devolver los detalles de acceso a la red una vez que el usuario se haya autenticado en el portal. Puede utilizar la regla Wifi Guest Access, que también se crea de forma predeterminada en las versiones ISE recientes. A continuación, sólo tiene que activar la regla con una marca verde a la izquierda. Puede devolver el PermitAccess predeterminado o configurar restricciones más precisas de las listas de acceso.

Paso 5. Guarde las reglas.
Haga clic en Guardar en la parte inferior de las reglas.
SÓLO Puntos de Acceso de Switching Local Flexconnect
¿Qué sucede si dispone de puntos de acceso de switching locales y WLAN de Flexconnect? Las secciones anteriores siguen siendo válidas. Sin embargo, necesitamos un paso adicional para enviar la ACL de redirección a los AP por adelantado.
Navegue hasta Configuración > Etiquetas y perfiles > Flex y seleccione su perfil Flex. Vaya a la pestaña Política ACL.
Haga clic en Agregar como se muestra en la imagen.

Elija su nombre de ACL de redirección y active "Autenticación web central". Esta casilla de verificación invierte automáticamente la ACL en el propio AP (esto se debe a que una sentencia "deny" significa "no redirigir a esta IP" en el WLC en Cisco IOS® XE; sin embargo, en el AP la sentencia "deny" significa lo contrario, por lo que esta casilla de verificación automáticamente intercambia todos los permisos y rechaza cuando realiza la pulsación al AP. Puede verificar esto con una lista de acceso show ip desde la CLI de AP).
Nota: En el escenario de switching local de Flexconnect, la ACL DEBE mencionar específicamente las sentencias de retorno (que no se requieren necesariamente en el modo local) para asegurarse de que todas sus reglas de ACL cubran ambos modos de tráfico (hacia y desde el ISE, por ejemplo).
No olvide pulsar Guardar y, a continuación, Actualizar y aplicar al dispositivo.

Certificados
Para que el cliente confíe en el certificado de autenticación web, no es necesario instalar ningún certificado en el WLC pues el único certificado presentado es el certificado ISE (que debe ser confiable por el cliente).
Verificación
Puede utilizar estos comandos para verificar la configuración actual.
# show run wlan
# show run aaa
# show aaa servers
# show ap config general
# show ap name <ap-name> config general
# show ap tag summary
# show ap name <AP-name> tag detail
# show wlan { summary | id | nme | all }
# show wireless tag policy detailed <policy-tag-name>
# show wireless profile policy detailed <policy-profile-name>
Esta es la parte relevante de la configuración del WLC que corresponde a este ejemplo:
aaa new-model
!
aaa authentication dot1x CWA group radius
aaa authorization network default group radius
aaa authorization credential-download wcm_loc_serv_cert local
aaa accounting identity CWAacct start-stop group radius
!
aaa server radius dynamic-author
client 10.48.39.28 server-key cisco123
!
aaa session-id common
!
!
radius server nicoISE
address ipv4 10.48.39.28 auth-port 1812 acct-port 1813
key cisco123
!
!
wireless aaa policy default-aaa-policy
wireless cts-sxp profile default-sxp-profile
wireless profile policy central-switching-NAC
aaa-override
no central association
no central switching
nac
vlan 1468
no shutdown
wireless tag policy flexpolicy
wlan Nico9800flex policy central-switching-NAC
wlan cwa-ssid 2 cwa-ssid
mac-filtering default
no security wpa
no security wpa wpa2 ciphers aes
no security wpa akm dot1x
no shutdown
ap a46c.2a75.fb80
policy-tag flexpolicy
site-tag FlexSite
ap f80b.cbe4.7f40
policy-tag flexpolicy
site-tag FlexSite
ip http server
ip http secure-server
Troubleshoot
Lista de Verificación
-Asegúrese de que el cliente se conecte y obtenga una dirección IP válida.
- Si el redireccionamiento no es automático, abra un explorador e intente una dirección IP aleatoria. Por ejemplo 10.0.0.1. Si la redirección funciona, es posible que tenga un problema de resolución de DNS. Compruebe que dispone de un servidor DNS válido proporcionado a través de DHCP y que puede resolver los nombres de host.
- Asegúrese de que el comando "ip http server" esté configurado para que funcione la redirección en HTTP. La configuración del portal de administración web está ligada a la configuración del portal de autenticación web y necesita ser escuchada en el puerto 80 para redirigir.
- Si no se le redirige cuando intenta acceder a una URL HTTPs y eso es necesario, verifique que tenga el comando "intercept-https-enable" bajo el mapa de parámetros:
parameter-map type webauth global
type webauth
intercept-https-enable
trustpoint xxxxx
También puede verificar a través de la GUI que tiene la opción "Web Auth interceptar HTTPs" marcada en el mapa de parámetro:

Recopilar depuraciones
El WLC 9800 proporciona capacidades de seguimiento SIEMPRE ACTIVO. Esto garantiza que todos los mensajes de nivel de aviso, advertencia y errores relacionados con la conectividad del cliente se registren constantemente y puede ver los registros de una condición de incidente o falla después de que se haya producido.
Nota: Puede retroceder algunas horas a varios días en los registros, pero depende del volumen de registros generados.
Para ver los seguimientos que el WLC 9800 recolectó de forma predeterminada, puede conectarse a través de SSH/Telnet con el WLC 9800 y seguir estos pasos (asegúrese de registrar la sesión en un archivo de texto).
Paso 1. Verifique la hora actual del controlador para que pueda rastrear los registros en el tiempo de regreso al momento en que ocurrió el problema.
# show clock
Paso 2. Recopile los registros del sistema del buffer del controlador o del syslog externo según lo dictado por la configuración del sistema. Esto proporciona una vista rápida del estado del sistema y de los errores, si los hubiera.
# show logging
Paso 3. Verifique si hay alguna condición de depuración habilitada.
# show debugging
Cisco IOS XE Conditional Debug Configs:
Conditional Debug Global State: Stop
Cisco IOS XE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
Nota: Si ve alguna condición enumerada, significa que los seguimientos están registrados en el nivel de depuración para todos los procesos que encuentran las condiciones activadas (dirección mac, dirección ip, etc). Esto aumentaría el volumen de registros. Por lo tanto, se recomienda borrar todas las condiciones cuando no se realiza la depuración activa
Paso 4. Con la suposición de que la dirección mac en prueba no se enumeró como condición en el Paso 3, recopile los rastros de nivel de aviso siempre activos para la dirección mac específica.
# show logging profile wireless filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file always-on-<FILENAME.txt>
Puede mostrar el contenido en la sesión o copiar el archivo a un servidor TFTP externo.
# more bootflash:always-on-<FILENAME.txt>
or
# copy bootflash:always-on-<FILENAME.txt> tftp://a.b.c.d/path/always-on-<FILENAME.txt>
Debugging condicional y Rastreo Activo de Radio
Si los seguimientos siempre activos no le proporcionan suficiente información para determinar el desencadenador del problema que se está investigando, puede habilitar la depuración condicional y capturar el seguimiento de Radio Activo (RA), que proporciona seguimientos de nivel de depuración para todos los procesos que interactúan con la condición especificada (dirección mac del cliente en este caso). Para habilitar la depuración condicional, siga estos pasos.
Paso 5. Asegúrese de que no haya condiciones de depuración habilitadas.
# clear platform condition all
Paso 6. Habilite la condición de depuración para la dirección MAC del cliente inalámbrico que desea monitorear.
Estos comandos comienzan a monitorear la dirección mac proporcionada durante 30 minutos (1800 segundos). Opcionalmente, puede aumentar este tiempo hasta 2085978494 segundos.
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
Nota: Para monitorear más de un cliente a la vez, ejecute el comando debug wireless mac <aaaa.bbb.cccc> por dirección mac.
Nota: No se ve el resultado de la actividad del cliente en la sesión de terminal, ya que todo se almacena en la memoria intermedia interna para visualizarlo más adelante.
Paso 7. Reproduzca el problema o comportamiento que desea supervisar.
Paso 8. Detenga las depuraciones si el problema se reproduce antes de que se active la hora de monitor predeterminada o configurada.
# no debug wireless mac <aaaa.bbbb.cccc>
Una vez que ha transcurrido el tiempo de monitoreo o se ha detenido el debug wireless, el WLC 9800 genera un archivo local con el nombre:
ra_trace_MAC_aaabbbcccc_HMMSS.XXX_timezone_Day_Week_Month_Day_year.log
Paso 9. Recopile el archivo de la actividad de la dirección mac. Puede copiar el archivo ra trace .log en un servidor externo o mostrar el resultado directamente en la pantalla.
Verifique el nombre del archivo de seguimientos de RA.
# dir bootflash: | inc ra_trace
Copie el archivo a un servidor externo:
# copy bootflash: ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log tftp://a.b.c.d/ra-FILENAME.txt
Mostrar el contenido:
# more bootflash: ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
Paso 10. Si la causa raíz todavía no es obvia, recopile los registros internos que son una vista más detallada de los registros de nivel de depuración. No es necesario que vuelva a depurar el cliente, ya que sólo le echamos un vistazo más detallado a los registros de depuración que ya se han recopilado y almacenado internamente.
# show logging profile wireless internal filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file ra-internal-<FILENAME>.txt
Nota: Este resultado del comando devuelve seguimientos para todos los niveles de registro para todos los procesos y es bastante voluminoso. Póngase en contacto con el TAC de Cisco para que le ayude a analizar estos seguimientos.
Puede copiar ra-internal-FILENAME.txt en un servidor externo o mostrar el resultado directamente en la pantalla.
Copie el archivo a un servidor externo:
# copy bootflash:ra-internal-<FILENAME>.txt tftp://a.b.c.d/ra-internal-<FILENAME>.txt
Mostrar el contenido:
# more bootflash:ra-internal-<FILENAME>.txt
Paso 11. Elimine las condiciones de depuración.
# clear platform condition all
Nota: Asegúrese de quitar siempre las condiciones de depuración después de una sesión de resolución de problemas.
Examples
Si el resultado de la autenticación no es lo que espera, es importante navegar a la página ISE Operations > Live logs y obtener los detalles del resultado de la autenticación.
Se le presenta la razón de la falla (si hay una falla) y todos los atributos de Radius recibidos por ISE.
En el siguiente ejemplo, ISE rechazó la autenticación porque ninguna regla de autorización coincidía. Esto se debe a que vemos el atributo Called-station-ID enviado como nombre SSID agregado a la dirección MAC de AP, mientras que la autorización era una coincidencia exacta con el nombre SSID. Se fija con el cambio de esa regla a "contiene" en lugar de "igual".



Después de resolver esto, el cliente wifi todavía no puede asociarse al SSID mientras ISE afirma que la autorización es un éxito y devolvió los atributos CWA correctos.
Puede navegar a la página Troubleshooting > Radioactive trace de la interfaz de usuario web del WLC.
en la mayoría de los casos, puede confiar en los registros siempre activos e incluso obtener registros de intentos de conexión anteriores sin reproducir el problema una vez más.
Agregue la dirección mac del cliente y haga clic en Generar como se muestra en la imagen.

En este caso, el problema radica en el hecho de que hicimos un error tipográfico al crear el nombre de ACL y no coincide con el nombre de ACL devuelto por los ISE en el WLC se queja de que no hay tal ACL como la solicitada por ISE:
2019/09/04 12:00:06.507 {wncd_x_R0-0}{1}: [client-auth] [24264]: (ERR): MAC: e836.171f.a162 client authz result: FAILURE
2019/09/04 12:00:06.516 {wncd_x_R0-0}{1}: [ewlc-infra-evq] [24264]: (ERR): SANET_AUTHZ_FAILURE - Redirect ACL Failure username E8-36-17-1F-A1-62, audit session id 7847300A0000012EFC24CD42,
2019/09/04 12:00:06.518 {wncd_x_R0-0}{1}: [errmsg] [24264]: (note): %SESSION_MGR-5-FAIL: Authorization failed or unapplied for client (e836.171f.a162) on Interface capwap_90000005 AuditSessionID 7847300A0000012EFC24CD42. Failure Reason: Redirect ACL Failure. Failed attribute name REDIRECT.
BJB tenía tiempo de espera de conexión con el motor BDB. Asegúrese de que está conectado a la red interna de Cisco.