Introducción
Este documento describe cómo ayudar a conectar antiguos clientes inalámbricos de IoT que no admiten versiones más recientes de 802.1X.
Requirements
Componentes Utilizados
Se basa en el controlador de LAN inalámbrica Catalyst 9800 que ejecuta cualquier versión Cisco IOS® XE 17.x.
Contexto
El protocolo 802.1X tiene hasta 3 versiones hasta ahora. 802.1X-2001 es la versión 1, 802.1X-2004 es la versión 2, 802.1X-2010 y todas las revisiones posteriores utilizan el identificador de la versión 3.
El estándar IEEE es muy claro que cada dispositivo debe anunciar su versión máxima admitida y luego acordar una versión común ya que todas las versiones son compatibles con versiones anteriores.
El WLC Catalyst 9800 anuncia 802.1X y eapol versión 3.
En muchos casos, el cliente inalámbrico responde con la versión 1 de 802.1X y la autenticación puede continuar utilizando la implementación de la versión 1, por ejemplo.
Sin embargo, algunos clientes específicos de IoT más antiguos esperan ver una versión específica de 802.1X en el otro extremo y no toleran ver una versión más reciente que no entienden. Esto es una violación de la norma. Sin embargo, a veces no puede actualizar fácilmente su dispositivo IoT y debe vivir con él. Por lo tanto, es posible ajustar la versión 802.1X en el controlador para crear estos clientes.
No hay buenas razones para modificar esta versión a menos que tenga pruebas de que está enfrentando este problema con un conjunto específico de clientes.
Compruebe que está dando con este problema
A continuación se muestra un ejemplo de seguimiento radiactivo en funcionamiento en el que el controlador anuncia la versión 3, pero el cliente responde correctamente con una versión inferior y la autenticación puede continuar:
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Posting RESTART on Client
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Entering init state
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Entering idle state
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Posting !AUTH_ABORT on Client
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Entering restart state
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Resetting the client 0xD8000002
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Override cfg - MAC <MAC> - profile (none)
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Override cfg - SuppTimeout 30s, ReAuthMax 2, MaxReq 2, TxPeriod 30s
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Sending create new context event to EAP for 0xD8000002 (7a9d.d7f6.710f)
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Posting !EAP_RESTART on Client
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Enter connecting state
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Restart connecting
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Posting RX_REQ on Client
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Authenticating state entered
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Connecting authenticating action
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Entering request state
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Setting EAPOL eth-type to 0x888e, destination mac to
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [0000.0000.0000:capwap_9000002c] Sending out EAPOL packet
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] Sent EAPOL packet - Version : 3,EAPOL Type : EAP, Payload Length : 5, EAP-Type = Identity
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] EAP Packet - REQUEST, ID : 0x1
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [0000.0000.0000:unknown] Pkt body: 01 01 00 05 01
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] EAPOL packet sent to client
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>] Received EAPOL packet - Version : 1,EAPOL Type : EAP, Payload Length : 12, EAP-Type = Identity
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [<MAC>:capwap_9000002c] EAP Packet - RESPONSE, ID : 0x1
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [0000.0000.0000:unknown] Pkt body: 02 01 00 0c 01 34 34 37 33 36 34 35
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [0000.0000.0000:capwap_9000002c] Queuing an EAPOL pkt on Authenticator Q
{wncd_x_R0-0}{1}: [dot1x] [25076]: (info): [0000.0000.0000:capwap_9000002c] Dequeued pkt: CODE = 2,TYPE = 1,LEN = 12
(...) RADIUS authentication follows
Un resultado que no funciona se ve similar hasta que el mensaje de solicitud de identidad EAP enviado por el WLC/AP y luego el cliente no responde nada a él.
Cambio de la versión EAPOL/802.1X
WLC#show dot1x all
Sysauthcontrol Disabled
Dot1x Protocol Version 3
WLC#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
WLC(config)#service internal
WLC(config)#dot1x eapol version 2
WLC(config)#exit
WLC#show dot1x all
Sysauthcontrol Disabled
Dot1x Protocol Version 2