Einleitung
In diesem Dokument wird beschrieben, wie Sie alte IoT-Wireless-Clients, die keine neueren 802.1X-Versionen unterstützen, mit dem Internet verbinden können.
Anforderungen
Verwendete Komponenten
Diese Lösung basiert auf dem Wireless LAN Controller Catalyst 9800 mit einer beliebigen Cisco IOS® XE 17.x Version.
Kontext
Das 802.1X-Protokoll hat bis jetzt bis zu drei Versionen. 802.1X-2001 ist Version 1, 802.1X-2004 ist Version 2, 802.1X-2010, und alle nachfolgenden Revisionen verwenden den Bezeichner Version 3.
Der IEEE-Standard macht deutlich, dass jedes Gerät die maximal unterstützte Version angeben und sich dann auf eine gemeinsame Version einigen muss, da alle Versionen abwärtskompatibel sind.
Der Catalyst 9800 WLC kündigt 802.1X und eapol Version 3 an.
In vielen Fällen antwortet der Wireless-Client mit 802.1X Version 1, und die Authentifizierung kann beispielsweise mit der Implementierung von Version 1 fortgesetzt werden.
Einige bestimmte ältere IoT-Clients erwarten jedoch, dass auf dem anderen Ende eine bestimmte 802.1X-Version angezeigt wird, und tolerieren keine neuere Version, die sie nicht verstehen. Dies ist ein Verstoß gegen den Standard. Manchmal ist es jedoch nicht einfach, ein IoT-Gerät zu aktualisieren, und manchmal muss man damit leben. Es ist daher möglich, die 802.1X-Version auf dem Controller anzupassen, um diese Clients zu erstellen.
Es gibt keine guten Gründe, diese Version zu ändern, es sei denn, Sie haben Beweise, dass Sie mit diesem Problem mit einem bestimmten Satz von Clients konfrontiert sind !
Überprüfen Sie, ob Sie dieses Problem haben.
Hier ist ein Beispiel einer funktionierenden radioaktiven Spur, bei der der Controller Version 3 ankündigt, der Client jedoch mit einer niedrigeren Version korrekt antwortet und die Authentifizierung fortgesetzt werden kann:
{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
Eine nicht funktionierende Ausgabe sieht ähnlich aus, bis die vom WLC/AP gesendete EAP-Identitätsanforderungsnachricht vom Client nicht beantwortet wird.
Eapol/802.1X-Version ändern
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