Introduzione
In questo documento viene descritto come connettere i client wireless IoT meno recenti che non supportano le versioni 802.1X più recenti.
Requisiti
Componenti usati
Si basa sul controller LAN wireless Catalyst 9800 con qualsiasi versione di Cisco IOS® XE 17.x.
Contesto
Fino ad ora il protocollo 802.1X ha fino a 3 versioni. 802.1X-2001 è la versione 1, 802.1X-2004 è la versione 2, 802.1X-2010 e tutte le revisioni successive utilizzano l'identificatore versione 3.
Lo standard IEEE è molto chiaro: ogni dispositivo deve annunciare la versione massima supportata e quindi concordare una versione comune in quanto tutte le versioni sono compatibili con le versioni precedenti.
Catalyst 9800 WLC annuncia la versione 802.1X e l'eapol la versione 3.
In molti casi, il client wireless risponde con 802.1X versione 1 e l'autenticazione può continuare utilizzando, ad esempio, l'implementazione della versione 1.
Tuttavia, alcuni client IoT meno recenti si aspettano di vedere una versione 802.1X specifica sull'altro lato e non tollerano la visualizzazione di una versione più recente che non sono in grado di comprendere. Questa è una violazione dello standard. Tuttavia, a volte non è possibile aggiornare facilmente il dispositivo IoT e deve convivere con esso. È quindi possibile regolare la versione 802.1X sul controller per creare questi client.
Non ci sono buoni motivi per modificare questa versione a meno che non si abbia la prova che si sta affrontando questo problema con un insieme specifico di client!
Verificare che il problema sia stato risolto
Di seguito è riportato un esempio di traccia radioattiva funzionante in cui il controller annuncia la versione 3 ma il client risponde correttamente con una versione inferiore e l'autenticazione può continuare:
{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 output non funzionante sarà simile fino al messaggio di richiesta di identità EAP inviato dal WLC/AP e quindi il client non risponderà in alcun modo.
Modifica della versione di 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