<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Cisco_Catalyst_9200%3A_802.1X_mit_IBNS_2.0</id>
	<title>Cisco Catalyst 9200: 802.1X mit IBNS 2.0 - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Cisco_Catalyst_9200%3A_802.1X_mit_IBNS_2.0"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Cisco_Catalyst_9200:_802.1X_mit_IBNS_2.0&amp;action=history"/>
	<updated>2026-10-16T01:30:50Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=Cisco_Catalyst_9200:_802.1X_mit_IBNS_2.0&amp;diff=4402&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Neuer Artikel: 802.1X und MAB mit policy-map type control subscriber, Critical VLAN</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Cisco_Catalyst_9200:_802.1X_mit_IBNS_2.0&amp;diff=4402&amp;oldid=prev"/>
		<updated>2026-10-15T00:00:00Z</updated>

		<summary type="html">&lt;p&gt;Neuer Artikel: 802.1X und MAB mit policy-map type control subscriber, Critical VLAN&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Steckbrief&lt;br /&gt;
| gilt_fuer   = Cisco Catalyst 9200/9200L/9200CX mit IOS XE 17.15/17.18; RADIUS-Server z. B. FreeRADIUS, Windows NPS oder Cisco ISE&lt;br /&gt;
| bereich     = IT-Security&lt;br /&gt;
| dauer       = ca. 1–2 Stunden für den Pilot&lt;br /&gt;
| rechte      = Privileged EXEC (enable), Administrator am RADIUS-Server&lt;br /&gt;
| stand       = Oktober 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;802.1X mit IBNS 2.0 auf dem Cisco Catalyst 9200&amp;#039;&amp;#039;&amp;#039; beschreibt die Netzwerkzugangskontrolle nicht mehr mit vielen einzelnen &amp;lt;code&amp;gt;authentication&amp;lt;/code&amp;gt;-Befehlen am Port, sondern mit einer &amp;#039;&amp;#039;&amp;#039;Richtlinie&amp;#039;&amp;#039;&amp;#039;: Eine &amp;#039;&amp;#039;policy-map&amp;#039;&amp;#039; legt fest, was bei Ereignissen wie „Sitzung beginnt“, „Anmeldung fehlgeschlagen“ oder „RADIUS-Server nicht erreichbar“ passiert. Die Ports verweisen nur noch auf diese Richtlinie. Das ist übersichtlicher, lässt sich zentral ändern und ist die von Cisco empfohlene Syntax für IOS XE. Die Grundlagen von 802.1X, MAB und den Einführungsphasen erklärt der Artikel [[Cisco Catalyst 2960-X: 802.1X mit RADIUS konfigurieren]].&lt;br /&gt;
&lt;br /&gt;
[[Datei:Cisco-9200-8021X-IBNS2.png|thumb|center|750px|802.1X mit IBNS 2.0 auf dem Catalyst 9200: Die policy-map startet 802.1X, wechselt bei Fehlschlag oder fehlender Antwort zu MAB, schaltet bei ausgefallenem RADIUS-Server per service-template in Critical-VLAN und Voice-VLAN und wird am Port mit service-policy type control subscriber angewendet.]]&lt;br /&gt;
&lt;br /&gt;
== IBNS 2.0: die Bausteine ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Baustein !! Aufgabe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;class-map type control subscriber&amp;lt;/code&amp;gt; || Bedingung, z. B. „802.1X fehlgeschlagen“ oder „RADIUS nicht erreichbar“&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;service-template&amp;lt;/code&amp;gt; || Bündel von Aktionen, z. B. „in VLAN 10 schalten“&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;policy-map type control subscriber&amp;lt;/code&amp;gt; || Ablauf: je Ereignis (&amp;#039;&amp;#039;event&amp;#039;&amp;#039;) welche Klasse welche Aktionen auslöst&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;access-session …&amp;lt;/code&amp;gt; || Port-Einstellungen: Host-Modus, Port-Control, offen oder geschlossen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;service-policy type control subscriber&amp;lt;/code&amp;gt; || bindet die Richtlinie an den Port&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Neu einrichten oder umstellen? ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Neuer Switch:&amp;#039;&amp;#039;&amp;#039; direkt mit IBNS 2.0 beginnen (diese Anleitung).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Migrierte Konfiguration mit &amp;lt;code&amp;gt;authentication&amp;lt;/code&amp;gt;-Befehlen:&amp;#039;&amp;#039;&amp;#039; IOS XE versteht die alte Syntax. Die automatische Umwandlung erledigt &amp;lt;code&amp;gt;authentication convert-to new-style&amp;lt;/code&amp;gt; – sie ist praktisch nicht umkehrbar. Vorher die Konfiguration sichern und die Umwandlung zuerst auf einem Test-Switch ausprobieren.&lt;br /&gt;
* Alte und neue Syntax nicht mischen: Nach der Umstellung werden &amp;lt;code&amp;gt;authentication&amp;lt;/code&amp;gt;-Befehle am Port nicht mehr ausgewertet.&lt;br /&gt;
&lt;br /&gt;
== Schritt 1: AAA und RADIUS ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SW-OG-01# configure terminal&lt;br /&gt;
SW-OG-01(config)# aaa new-model&lt;br /&gt;
SW-OG-01(config)# aaa authentication login default local&lt;br /&gt;
SW-OG-01(config)# aaa authorization exec default local&lt;br /&gt;
SW-OG-01(config)# radius server RADIUS-1&lt;br /&gt;
SW-OG-01(config-radius-server)# address ipv4 192.168.99.30 auth-port 1812 acct-port 1813&lt;br /&gt;
SW-OG-01(config-radius-server)# key &amp;lt;RADIUS-Schlüssel&amp;gt;&lt;br /&gt;
SW-OG-01(config-radius-server)# exit&lt;br /&gt;
SW-OG-01(config)# aaa group server radius RADIUS-GRUPPE&lt;br /&gt;
SW-OG-01(config-sg-radius)# server name RADIUS-1&lt;br /&gt;
SW-OG-01(config-sg-radius)# exit&lt;br /&gt;
SW-OG-01(config)# aaa authentication dot1x default group RADIUS-GRUPPE&lt;br /&gt;
SW-OG-01(config)# aaa authorization network default group RADIUS-GRUPPE&lt;br /&gt;
SW-OG-01(config)# aaa accounting identity default start-stop group RADIUS-GRUPPE&lt;br /&gt;
SW-OG-01(config)# radius-server dead-criteria time 5 tries 3&lt;br /&gt;
SW-OG-01(config)# radius-server deadtime 5&lt;br /&gt;
SW-OG-01(config)# radius-server vsa send authentication&lt;br /&gt;
SW-OG-01(config)# ip radius source-interface vlan 99&lt;br /&gt;
SW-OG-01(config)# dot1x system-auth-control&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* IOS XE nutzt die Blockform &amp;lt;code&amp;gt;radius server&amp;lt;/code&amp;gt;; ein zweiter Server wird als weiterer Block angelegt und der Gruppe hinzugefügt.&lt;br /&gt;
* &amp;lt;code&amp;gt;aaa accounting identity&amp;lt;/code&amp;gt; ersetzt unter IBNS 2.0 das bisherige &amp;lt;code&amp;gt;aaa accounting dot1x&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Die ersten drei &amp;lt;code&amp;gt;aaa&amp;lt;/code&amp;gt;-Zeilen sichern die lokale Anmeldung am Switch ab.&lt;br /&gt;
&lt;br /&gt;
{{Warnung|&amp;lt;code&amp;gt;aaa new-model&amp;lt;/code&amp;gt; ändert sofort die Anmeldung an Konsole und SSH. Vorher einen lokalen Benutzer mit Privilege 15 anlegen und die Anmeldung in einer zweiten Sitzung testen.}}&lt;br /&gt;
&lt;br /&gt;
== Schritt 2: Service-Templates für den RADIUS-Ausfall ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SW-OG-01(config)# service-template CRITICAL-DATEN&lt;br /&gt;
SW-OG-01(config-service-template)# vlan 10&lt;br /&gt;
SW-OG-01(config-service-template)# exit&lt;br /&gt;
SW-OG-01(config)# service-template CRITICAL-VOICE&lt;br /&gt;
SW-OG-01(config-service-template)# voice vlan&lt;br /&gt;
SW-OG-01(config-service-template)# exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schritt 3: Bedingungen (class-maps) ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
class-map type control subscriber match-all DOT1X-FEHLGESCHLAGEN&lt;br /&gt;
 match method dot1x&lt;br /&gt;
 match result-type method dot1x authoritative&lt;br /&gt;
class-map type control subscriber match-all DOT1X-KEINE-ANTWORT&lt;br /&gt;
 match method dot1x&lt;br /&gt;
 match result-type method dot1x agent-not-found&lt;br /&gt;
class-map type control subscriber match-all MAB-FEHLGESCHLAGEN&lt;br /&gt;
 match method mab&lt;br /&gt;
 match result-type method mab authoritative&lt;br /&gt;
class-map type control subscriber match-all RADIUS-AUS-NICHT-ANGEMELDET&lt;br /&gt;
 match result-type aaa-timeout&lt;br /&gt;
 match authorization-status unauthorized&lt;br /&gt;
class-map type control subscriber match-all RADIUS-AUS-ANGEMELDET&lt;br /&gt;
 match result-type aaa-timeout&lt;br /&gt;
 match authorization-status authorized&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schritt 4: Die Richtlinie (policy-map) ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
policy-map type control subscriber DOT1X-MAB&lt;br /&gt;
 event session-started match-all&lt;br /&gt;
  10 class always do-until-failure&lt;br /&gt;
   10 authenticate using dot1x priority 10&lt;br /&gt;
 event authentication-failure match-first&lt;br /&gt;
  5 class DOT1X-FEHLGESCHLAGEN do-until-failure&lt;br /&gt;
   10 terminate dot1x&lt;br /&gt;
   20 authenticate using mab priority 20&lt;br /&gt;
  10 class RADIUS-AUS-NICHT-ANGEMELDET do-until-failure&lt;br /&gt;
   10 activate service-template CRITICAL-DATEN&lt;br /&gt;
   20 activate service-template CRITICAL-VOICE&lt;br /&gt;
   30 authorize&lt;br /&gt;
   40 pause reauthentication&lt;br /&gt;
  20 class RADIUS-AUS-ANGEMELDET do-until-failure&lt;br /&gt;
   10 pause reauthentication&lt;br /&gt;
   20 authorize&lt;br /&gt;
  30 class DOT1X-KEINE-ANTWORT do-until-failure&lt;br /&gt;
   10 terminate dot1x&lt;br /&gt;
   20 authenticate using mab priority 20&lt;br /&gt;
  40 class MAB-FEHLGESCHLAGEN do-until-failure&lt;br /&gt;
   10 terminate mab&lt;br /&gt;
   20 authentication-restart 60&lt;br /&gt;
  50 class always do-until-failure&lt;br /&gt;
   10 terminate dot1x&lt;br /&gt;
   20 terminate mab&lt;br /&gt;
   30 authentication-restart 60&lt;br /&gt;
 event aaa-available match-all&lt;br /&gt;
  10 class RADIUS-AUS-NICHT-ANGEMELDET do-until-failure&lt;br /&gt;
   10 clear-session&lt;br /&gt;
  20 class RADIUS-AUS-ANGEMELDET do-until-failure&lt;br /&gt;
   10 resume reauthentication&lt;br /&gt;
 event agent-found match-all&lt;br /&gt;
  10 class always do-until-failure&lt;br /&gt;
   10 terminate mab&lt;br /&gt;
   20 authenticate using dot1x priority 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
So liest sich der Ablauf:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ereignis !! Reaktion&lt;br /&gt;
|-&lt;br /&gt;
| Sitzung beginnt || 802.1X versuchen&lt;br /&gt;
|-&lt;br /&gt;
| 802.1X fehlgeschlagen oder Gerät antwortet nicht || auf MAB wechseln (Drucker, Telefone ohne 802.1X)&lt;br /&gt;
|-&lt;br /&gt;
| RADIUS nicht erreichbar || Critical-VLAN und Voice-VLAN freigeben, später erneut prüfen&lt;br /&gt;
|-&lt;br /&gt;
| MAB fehlgeschlagen || nach 60 Sekunden neu beginnen&lt;br /&gt;
|-&lt;br /&gt;
| RADIUS wieder erreichbar || Notfall-Sitzungen neu anmelden lassen&lt;br /&gt;
|-&lt;br /&gt;
| 802.1X-Client meldet sich später doch || von MAB auf 802.1X wechseln&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Schritt 5: Ports konfigurieren ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SW-OG-01(config)# interface range gi1/0/1 - 40&lt;br /&gt;
SW-OG-01(config-if-range)# switchport mode access&lt;br /&gt;
SW-OG-01(config-if-range)# switchport access vlan 10&lt;br /&gt;
SW-OG-01(config-if-range)# switchport voice vlan 40&lt;br /&gt;
SW-OG-01(config-if-range)# access-session host-mode multi-domain&lt;br /&gt;
SW-OG-01(config-if-range)# access-session port-control auto&lt;br /&gt;
SW-OG-01(config-if-range)# mab&lt;br /&gt;
SW-OG-01(config-if-range)# dot1x pae authenticator&lt;br /&gt;
SW-OG-01(config-if-range)# dot1x timeout tx-period 10&lt;br /&gt;
SW-OG-01(config-if-range)# spanning-tree portfast&lt;br /&gt;
SW-OG-01(config-if-range)# service-policy type control subscriber DOT1X-MAB&lt;br /&gt;
SW-OG-01(config-if-range)# end&lt;br /&gt;
SW-OG-01# write memory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ohne weiteren Befehl ist der Port im &amp;#039;&amp;#039;&amp;#039;offenen Modus&amp;#039;&amp;#039;&amp;#039; – Verkehr fließt auch vor der Anmeldung (entspricht dem Monitor Mode). Nach der Beobachtungsphase den Port schließen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SW-OG-01(config-if-range)# access-session closed&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für viele gleiche Ports lässt sich die Port-Konfiguration auch als &amp;lt;code&amp;gt;template&amp;lt;/code&amp;gt; zusammenfassen und mit &amp;lt;code&amp;gt;source template&amp;lt;/code&amp;gt; zuweisen.&lt;br /&gt;
&lt;br /&gt;
== Kontrolle ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
show access-session                                   ! alle Sitzungen: Port, MAC, Methode, Domain, Status&lt;br /&gt;
show access-session interface gi1/0/5 details         ! Details inkl. VLAN und angewendeter Richtlinie&lt;br /&gt;
show policy-map type control subscriber DOT1X-MAB&lt;br /&gt;
show aaa servers                                      ! Erreichbarkeit der RADIUS-Server&lt;br /&gt;
test aaa group RADIUS-GRUPPE &amp;lt;benutzer&amp;gt; &amp;lt;passwort&amp;gt; new-code&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erfolgreich angemeldete Geräte zeigen &amp;#039;&amp;#039;Auth&amp;#039;&amp;#039; im Status. &amp;lt;code&amp;gt;test aaa&amp;lt;/code&amp;gt; prüft die RADIUS-Verbindung unabhängig vom Port.&lt;br /&gt;
&lt;br /&gt;
== Typische Probleme ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Symptom !! Ursache !! Lösung&lt;br /&gt;
|-&lt;br /&gt;
| Ports reagieren nicht auf die Richtlinie || alte &amp;lt;code&amp;gt;authentication&amp;lt;/code&amp;gt;-Befehle am Port, keine &amp;lt;code&amp;gt;service-policy&amp;lt;/code&amp;gt; || Port-Konfiguration bereinigen, Richtlinie zuweisen&lt;br /&gt;
|-&lt;br /&gt;
| Telefon im Daten-VLAN || RADIUS liefert kein &amp;lt;code&amp;gt;device-traffic-class=voice&amp;lt;/code&amp;gt; || RADIUS-Richtlinie für Telefone ergänzen&lt;br /&gt;
|-&lt;br /&gt;
| Nach RADIUS-Ausfall bleiben Geräte im Critical-VLAN || Ereignis &amp;lt;code&amp;gt;aaa-available&amp;lt;/code&amp;gt; fehlt || Abschnitt wie oben ergänzen&lt;br /&gt;
|-&lt;br /&gt;
| Geräte ohne Netz trotz MAB-Eintrag || MAC-Format am RADIUS anders als vom Switch gesendet || Format am RADIUS angleichen oder &amp;lt;code&amp;gt;mab request format attribute 1 …&amp;lt;/code&amp;gt; setzen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Phasen einhalten:&amp;#039;&amp;#039;&amp;#039; Erst offen beobachten, dann &amp;lt;code&amp;gt;access-session closed&amp;lt;/code&amp;gt; – das Vorgehen beschreibt der 2960-X-Artikel ausführlich.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Change of Authorization:&amp;#039;&amp;#039;&amp;#039; Soll der RADIUS-Server Sitzungen nachträglich ändern können (z. B. Cisco ISE), zusätzlich &amp;lt;code&amp;gt;aaa server radius dynamic-author&amp;lt;/code&amp;gt; mit dem Server als Client einrichten.&lt;br /&gt;
* Bei Planung und Einführung von 802.1X mit RADIUS unterstützt Sie das [https://www.max-it.de/it-services/cybersecurity/ Cybersecurity-Team von m.a.x. it].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Cisco Catalyst 9200]] – Überblick und alle Artikel der Reihe&lt;br /&gt;
* [[Cisco Catalyst 2960-X: 802.1X mit RADIUS konfigurieren]]&lt;br /&gt;
* [[OPNsense - FreeRADIUS für WLAN, 802.1X und VPN]]&lt;br /&gt;
* [[802.1X]]&lt;br /&gt;
&lt;br /&gt;
== Links und Quellen ==&lt;br /&gt;
* [https://www.cisco.com/c/en/us/support/docs/switches/catalyst-3750-x-series-switches/207193-Configure-IBNS-2-0-for-Single-Host-and-M.html Cisco: Configure IBNS 2.0 for Single-Host and Multi-Domain Scenarios]&lt;br /&gt;
* [https://www.max-it.de/it-services/cybersecurity/ Cybersecurity-Leistungen von m.a.x. it]&lt;br /&gt;
&lt;br /&gt;
{{Uebermax}}&lt;br /&gt;
[[Kategorie:Netzwerk-Hardware]]&lt;br /&gt;
[[Kategorie:IT-Security]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;TechCorner-Redaktion</name></author>
	</entry>
</feed>