aqui
Goto Top

Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch

"Wie kann ich mein Netzwerk vor fremdem Zugriff schützen...?" ...ein sehr häufiger Thread bzw. Frage hier bei Administrator.de im Forum !
Das Betriebssystem der Endgeräte, DHCP oder anderes zu "verbiegen" sind letztlich immer die falschen Ansätze und führen so gut wie nie zum gewünschten Erfolg bzw. können mit einfachsten Mitteln und freien Tools aus dem Internet auch von Laien leicht überwunden werden.
Der richtige Schritt zur Absicherung ist daher den Zugang gleich auf der Netzinfrastruktur selber zu blockieren, um so auch eine Ausspähung verwendeter IP Adressen mit einem LAN Sniffer und andere Angriffe sicher zu verhindern.
Das folgende Tutorial gibt einen Überblick wie dies schnell und mit einfachen Mitteln der IEEE 802.1x Port Authentisierung realisiert werden kann.
Diese Art der Portüberwachung ist heute auch schon in sehr preiswerten Consumer Switches (sog. "Web Smart Switches") vielfach implementiert. Renomierte Switch Hersteller haben es schon seit Jahren an Bord um sichere Netze realisieren zu können..


back-to-topEtwas Theorie vorweg...


802.1x Port Authentisierung erfordert einen managebaren Netzwerk Switch und einen Radius Server zur Authentisierung im Hintergrund. Netzwerk Betreiber mit dummen, nicht managebaren Switches haben also keine Chance dieses Konzept umzusetzen und müssen meist auf unsicherere Verfahren zurückgreifen. Vielleicht eine Entscheidungshilfe beim Design ein paar Euro mehr in managebare Switch Infrastruktur zu investieren um für solche Anforderungen der Datensicherheit gewappnet zu sein ?!
Einfach erklärt besteht 802.1x aus einem Bittsteller (Supplicant) der Zugang haben möchte an einem Authenticator.

5a53550f5aacbe09da5b131fc5531657

Supplicants sind 802.1x fähige Endgeräte wie PCs, Telefone usw. Authenticators können Netzwerk Switches, WLAN APs usw. sein.
Viele Switches bieten die Möglichkeit auch nicht 802.1x fähige Netzwerkgeräte per 802.1x zu authentisieren was dann über deren Mac Adresse (MAC-Bypass) passiert. So ist es möglich z.B. Netzwerkdrucker und andere passive Geräte ebenfalls in so ein Konzept zu integrieren.
Ein weiterer positiver Aspekt bei 802.1x ist das der Radius Server weitere Informationen für den Zugang wie z.B. eine VLAN Information und eine zeitliche Beschränkung an den Authenticator übertragen kann. Damit kann man z.B. Endgeräte dynamisch in VLANs bringen und Usern nur in bestimmten Zeitfenstern Zugang gewähren. Ein Vorteil bei Umzügen von Clients z.B. Dazu später mehr.
Wer tiefer in das Thema 802.1x einsteigen will, sei auf den entsprechenden Wikipedia Artikel verwiesen:
http://de.wikipedia.org/wiki/IEEE_802.1X

Für die sichere Zugangskontrolle via 802.1x in WLAN Netzen gibt es hier bei Administrator.de ein separates Tutorial:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Da beide Verfahren identisch sind, kann man einen Radius Server sowohl für die kabelgebunden Port Authentifizierung als auch parallel zur WLAN Authentifizierung nutzen.

back-to-topDer Radius Server


❗️Ein modernes Setup mit Datenbank und WebGUI ist unter folgendem URL zu finden:
Freeradius Management mit WebGUI

Das Thema 802.1x ist sehr eng mit der Authentifizierung in WLAN Netzen verbunden, die ebenfalls auf 802.1x basiert wie oben bereits beschrieben.
Analog gilt damit für die grundlegende Einrichtung des Radius Servers alles, was in dem hiesigen, oben bereits zitierten Tutorial für die sichere WLAN User Authentisierung aufgeführt ist. Die Installation des Radius Servers basiert auf dem bekannten und weit verbreitetem Free Radius Server.
Dieser erste, Radius bezogene Teil des Tutorials kann also ohne Änderung eins zu eins übernommen werden für das Aufsetzen dieses Servers. Er ist ist zur 802.1x Switchport Authentisierung vollkommen identisch und behandelt das gleiche Thema in einem WLAN Umfeld !

Alternativ ist der Radius Server auch problemlos auf einem Home NAS System z.B. von QNAP oder Synology nutzbar. Die NAS Systeme beider Hersteller haben den FreeRadius bereits von Haus aus integriert, was eine Installation auf dedizierter HW oder als VM obsolet macht.
Ebenso die Nutzung eines FreeRadius in der Router Firmware DD-WRT die einige DSL und Breitband Router (Buffalo usw.) ebenso von Haus aus integriert haben.

Die Einrichtung eines entsprechenden Radius Servers (NPS = Network Policy Server) unter dem MS Windows Server Betriebssystem (SBS usw.) beschreibt vollständig ein Artikel im ct' Magazin und soll hier deshalb auch nicht weiter beleuchtet werden.
http://www.heise.de/artikel-archiv/ct/2010/12/180_kiosk
Die Integration des Free Radius in ein bestehendes Windows Active Directory findet sich im o.a. RasPi Tutorial.

Das hiesige WLAN Radius Tororial ist somit auch Basis der grundlegenden Free Radius Installation. Ob man den Radius Server als VM aufsetzt oder mit dedizierter Rechnerhardware ist Geschmackssache und eine individuelle Entscheidung im jeweiligen Umfeld. Die Anforderungen an die Performance sind gering bei reiner Radius Nutzung, so das man auch einen ausgedienten Altrechner damit sinnvoll recyceln kann.
Hier also einfach strikt nach obiger Anleitung, bis zum Test des Radius Servers mit dem NTRadPing Tool, vorgehen !

back-to-topAnpassen der FreeRadius Server Konfigurations Dateien


Ist der Radius Server gemäß den Vorgaben des o.a. Tutorial betriebsbereit, macht es Sinn ein paar Windows spezifische Anpassungen zu machen um den Benutzerzugang einfacher zu gestalten.
Windows übermittelt bei der automatischen Authentifizierung den Benutzer immer in der Form "Hostname/Username" ohne eine Domain Umgebung oder entsprechend "Domainname/Username" mit einer Domain.
Um nun nicht für jegliche Hostname und Benutzernamen Kombination einen einzelnen Eintrag in der Benutzerliste auf dem Radius machen zu müssen und rein Benutzer bezogen arbeiten zu können, macht es Sinn den Hostnamen vom Usernamen zu trennen.
Diese Anpassung auf dem Radius Server (Realm) ist nur bei Windows Clients zu machen !
Sie ist aber nicht zwingend wenn jemand ein Dialog geführtes Zugangs Menü haben möchte zur Benutzerabfrage. In diesem Falle können die folgenden Schritte dann ignoriert werden !
In der Regel will man die Netzwerk Authentifizierung immer OHNE Benutzer Interaktion machen um diesen nicht mit einer doppelten Passwort Abfrage zu quälen.
Für Apple Mac und Linux Benutzer ist die folgende Anpassung ebenfalls obsolet da sie ein "normales" Format benutzen !
Ausnahme hiervon ist die Änderung in der Datei /etc/raddb/eap.conf für die dynamische VLAN Zuweisung !
Generell kann es nicht schaden immer diese folgenden Anpassungen der Realm zu machen um alle Betriebssysteme gleichermaßen abzudecken !
In gemischten Netzen mit Apple Mac und Linux Clients stört diese Windows spezifische Anpassung nicht !

FreeRadius hat für diese Windows Client Anpassung natürlich schon ein fertiges Profil was nur einfach aktiviert werden muss.
Nun ist wieder etwas zusätzliche "Handarbeit" mit dem Texteditor der Wahl z.B. dem einfach zu bedienenden und aus dem o.a. WLAN_Tutorial hinreichend bekanntem "joe" erforderlich. Es dient zum individuellen Anpassen der Radius Konfigurations Dateien.
Die folgenden Angaben beziehen sich auf ein OpenSuSE System. Bei anderen Distributionen variieren ggf. die Pfadangaben zur FreeRadius Konfig !! Die Konfiguration selber ist aber überall gleich.

  • !! WICHTIG: Die folgenden Anpassungen in der Datei /etc/raddb/eap.conf sind zwingend für die dynamische VLAN Zuweisung: Im Abschnitt TTLS ist der Parameter use_tunneled_reply = yes auf yes zu setzen. Ebenso im Abschnitt PEAP auch diesen Parameter auf yes !!

Der Radius Server muss neugestartet werden um die Änderungen zu übernehmen. Vor dem ersten Test empfiehlt sich immer ein manueller Start im Debug Modus mit "radiusd -X" wie bereits im anderen Tutorial bemerkt. Damit kann man den Authentisierungsprozess live miterleben und sieht etwaige Fehler sofort.
Im späteren Produktivbetrieb sollte man aber den Debug Modus immer ausgeschaltet lassen !
Wer möchte kann die Datei /etc/raddb/users zum Testen noch um den Benutzer "User" und um den Benutzer "vlan" (und ggf. weitere Benutzer) erweitern um die automatische VLAN Distribution zu testen. (Beispiel der users Datei findet sich weiter unten im Tutorial)
Ebenso um ggf. Mac Adressen damit nicht 802.1x fähige Endgeräte, die also keinen .1x Client an Bord haben, wie z.B. Drucker auch authentifiziert werden können im Test. (Mac Authentication Bypass)

Die Datei "users" beinhaltet dann später alle Benutzernamen im Netz nach dem u.a. Muster.
Ein Beispiel der users Datei sähe dann so aus:
# Benutzer hier eintragen:
"gast"          Cleartext-Password := "gast"  
"Service"       Cleartext-Password := "service", Login-Time := "Al1200-2300"  
"vlan10"        Cleartext-Password := "vlan10"  
                   Tunnel-Type = 13,
                   Tunnel-Medium-Type = 6,
                   Tunnel-Private-Group-Id = 10
"User"          Cleartext-Password := "user"  
                   Tunnel-Type = 13,
                   Tunnel-Medium-Type = 6,
                   Tunnel-Private-Group-Id = 10

#       Mac Adress Authentication fuer nicht 802.1x Geraete hier !
"00123a104123"          Cleartext-Password := "00123a104123"  

#       Mac Adress Authentication fuer nicht 802.1x Geraete mit dyn. VLAN Zuweisung hier !
"00abce813abc"          Cleartext-Password := "00abce813abc"  
                Tunnel-Type = 13,
                Tunnel-Medium-Type = 6,
                Tunnel-Private-Group-Id = 10
Achtung !: Bitte beachten das Tunnel Attribute unterhalb der Passwort Definition zwingend per TAB eingerückt sein müssen !
(Siehe dazu auch hier).
Der Benutzer Service hat durch den Parameter "Login-Time" nur täglich von 12 Uhr bis 13 Uhr Zugang (Beispiel). Auch einzelne Wochentage sind z.B. mit "Su1000" für Sunday = Sonntag 10 Uhr oder "Tu2300" für Tuesday = Dienstag, 23 Uhr Komma getrennt möglich.

Der letzte Eintrag "00abce813abc" zeigt eine Mac Authentisierung (Mac Bypass) für Clients die keinen .1x Client mit an Bord haben. Denen wird auch das VLAN 10 zugewiesen.

Damit ist die Radius Server Konfiguration dann abgeschlossen.
Änderungen müssen dann nur noch in der Datei users gemacht werden, sollten neue Benutzer dazukommen oder wegfallen.
Ein generelles Wort zur Skalierbarkeit dieses Systems:
Natürlich kann man mit diesem Konzept über eine statische Textdatei kein Netzwerk mit 1000 und mehr Benutzern managen.
Für Netze solcher Größenordnung sollte der FreeRadius dann über LDAP einfach an ein bestehendes Benutzer Verzeichnis wie z.B. ein Windows AD oder einen zentralen LDAP Server angebunden werden. FreeRadius hat diese Option gleich an Bord die nur aktiviert werden muss. Anleitungen dazu findet man viele wie z.B. Dynamische VLAN-Zuweisung mit FreeRADIUS und Active Directory ).
Für kleine und mittlere Netzwerke mit einem relativ statischen Benutzerkreis ist die Benutzung einer festen Datei aber durchaus eine Alternative um schnell und unkompliziert die Zugriffssicherheit im Netzwerk zu erhöhen.

Ein nützliches Windows Tool um den Radius Server vorab zu testen ist NTRadPing
ntradping
Bekommt man hier mit den User Credentials ein "Access accept" hat man oben alles richtig gemacht.

back-to-topClients für die 802.1x Zugangskontrolle einrichten


Aus Platzgründen wird hier exemplarisch die Einrichtung eines Windows Clients beschrieben am Beispiel von Windows XP (SP3). Sämtliche Konfigurationsschritte und Menüs sind identisch bei Windows 7 !
Das zweite Beispiel zeigt die Einrichtung an einem Apple Mac.
Was ist zu tun ??

back-to-topWindows 10/11 Client


Bei Windows ist als allererstes zu prüfen oder der Dienst Automatische Konfiguration (verkabelt) gestartet ist. Ist dieser nicht aktiv, kann die 802.1x Authentisierung nicht konfiguriert werden !
Dazu geht man in die Systemsteuerung unter "Verwaltung --> Dienste" und sucht den Eintrag "Automatische Konfiguration (verkabelt)" (6ter Eintrag in der Liste).
Windows 7 Benutzer geben nur "Dienste" im Suchfeld an und gelangen so direkt dorthin.
Alternativ drückt man die Tastenkombination Windows+R und gibt services.msc ein. Dort klickt man unten den Karteireiter Standard und doppelklickt dann Automatische Konfiguration (verkabelt).
Der Starttyp sollte auf Automatisch stehen. Mit Klick auf Starten startet man den Dienst und schliesst das Fenster mit OK.

ef0bf675a464b40f9fce7949de77ee91

Es ist also sicherzustellen das dieser Dienst gestartet ist !

Öffnet man nun die Eigenschaften der LAN Verbindung (Win 10/11: Netzwerk und Freigabecenter) erscheint oben ein Karteireiter "Authentifizierung" !
Hier aktiviert man nun die 802.1x Authentisierung mit einem Haken und setzt den Typ auf Geschütztes EAP (PEAP) !
Mit einem Klick auf "Einstellungen" öffnet man die Detaileinstellungen von 802.1x:

windot1x

Ob das Serverzertifikat überprüft werden soll kann jeder selber entscheiden. Bei Problemen kann man dies auch abschalten.
In den Eigenschaften des EAP-MSCHAPv2 Passwortes kann man wählen ob die 802.1x Authentisierung des Clients menügeführt über ein Popup Window geschehen soll oder ob dies automatisch mit der Übermittlung des Nutzernamens im Hintergrund geschehen soll.
In der Regel aktiviert man die automatische Übermittlung um den User nicht mit weiteren Logins zu unterbrechen.

Deaktiviert man die automatische Übermittlung der Userdaten erscheint zur individuellen Abfrage der Zugangsdaten stets ein Popup Window:

c1321bb82d30d87d851bea561884be91

Die Windows Client Konfiguration ist damit abgeschlossen !

back-to-topApple Mac OS-X Client


Wie immer ist die Aktivierung bei Apple etwas einfacher und intuitiver.
Man öffnet die Systemeinstellung --> Netzwerk und wählt dann das Ethernet Interface aus:

87199b3091343770968744c8339f2606

Mit einem Klick auf + fügt man ein neues 802.1x Profil hinzu (hier "Test" genannt). Bei Apple hat man etwas vorausschauender gedacht und den Vorteil das man mehrere 802.1x Profile für unterschiedliche Netze konfigurieren kann.
Ist das Profil angelegt, trägt man nur noch Benutzername und Passwort ein und ist fertig !
Ein Klick auf Verbinden startet die Authentifizierung die man auch manuell mit "Trennen" wieder stoppen kann:

9cf2ba8e569336af6337739c84358ffc

back-to-topLinux mit freiem X-Supplicant Client


http://open1x.sourceforge.net/
Die Prozedur ist analog zu den beiden obigen !

back-to-topLast but not least: Die LAN Switch Konfiguration


Natürlich muss der LAN Switch als Authenticator auch entsprechend eingerichtet werden das er diesen Port mit 802.1x authentisiert bzw. die Authentisierungsanfrage an den Radius Server weiterreicht.
Wie oben bereits angemerkt sind dies mittlerweile auch viele preiswerte Consumer Switches der 100 Euro Klasse wie z.B.:
NetGear_GS-108T
D-Link_DGS-1210-16 bzw. die baugleiche 24 und 48 Port Variante
Trendnet_TEG-160WS
Cisco_SLM2024
Cisco_SG-300_Serie
(Achtung: Die Cisco SG-200 Serie supportet keine dynamische VLAN Zuweisung sondern nur die 802.1x Port Authentifizierung ! (Siehe Threadverlauf unten))
Für die dynamische VLAN Zuweisung bei Cisco Small Business Switches muss mindestens die SG-300er Serie verwendet werden !

Die folgende Konfig zeigt die 802.1x Konfiguration auf einem Cisco IOS Catalyst Switch:

version 12.2
service timestamps log datetime localtime
!
hostname Switch
!
aaa new-model
!
aaa authentication dot1x default group radius
aaa authorization network default group radius 
!
aaa session-id common
clock timezone CET 1
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
authentication mac-move permit
!
dot1x system-auth-control
!
spanning-tree mode rapid-pvst
!
interface FastEthernet0/1
 description Port mit 802.1x Auth.
 switchport mode access
 authentication port-control auto
 dot1x pae authenticator
 spanning-tree portfast
!
interface Vlan1
 ip address 192.168.100.254 255.255.255.0
!
radius-server host 192.168.100.163 auth-port 1812 acct-port 1813 key radiustest
radius-server key radiustest
radius-server vsa send authentication
!
end
Konfiguration bei anderen Switch Herstellern mit Cisco ähnlichen Kommandos wie Extreme, HP etc. bzw. sind weitestgehend analog wie das folgende Beispiel zeigt:

aaa authentication dot1x default radius
!
radius-server host 192.168.100.163 auth-port 1812 acct-port 1813 default key radiustest
radius-server key radiustest
mac-authentication enable
dot1x-enable
re-authentication
enable eth 0/1
!
interface ethernet 0/1
dot1x port-control auto
!


Die genaue Schritt für Schritt Konfiguration für HP Procurve Switches zeigt ein entsprechendes PDF Whitepaper:
http://cdn.procurve.com/training/Manuals/2900-ASG-Jan08-9-8021X.pdf
http://wiki.freeradius.org/HP usw.

Hier weitere Beispiele der 802.1x Konfiguration auf einem preiswerten Trendnet TEG-160WS Web Smart Switch, einem D-Link DGS-1210 und einem Cisco SOHO Switch SG 300:
Man kann erkennen das die Konfig eigentlich immer dieselbe ist und mit sehr einfachen Mitteln per Mausklick zu aktivieren ist:

(Trendnet TEG-160WS)
16c40f6458d2469eaf9704b149ec6c41

(D-Link DGS-1210)
dbe846b05a97c83f6f5070d5413c5234

(Cisco SG 200 und SG-300 Switch, Konfig Menüs sind bei beiden Modellen identisch !)
e71452ba3ede83954d83be826e042787
b4ce2c716a9267153ef28ef414e555fd

In der Regel haben alle Hersteller ein Konfigurations Handbuch oder Whitepaper auf ihrer Webseite für die 802.1x Konfiguration zum Download.

back-to-topDynamische VLAN Zuweisung vom Switch


Erweitert man die User Einträge um die folgenden Radius Parameter:
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = <VLAN Nummer>

Dann teilt der Switch bei der 802.1x Benutzer Authentisierung automatisch dem Port ein VLAN zu !
Das ist sehr bequem wenn Benutzer umziehen oder sonstwie mobil sind. Sie nehmen dann quasi immer "ihr" VLAN mit ohne das der Netzwerk Admin die Switchkonfiguration anpassen muss.
Switchhersteller haben hier viele weitere Features. Schlägt z.B. die Authentisierung fehl oder hat der Benutzer keinen 802.1x Client aktiviert wird der Benutzer entweder vollständig geblockt oder er landet in einem Default VLAN indem er nur sehr eingeschränkte Zugangsrechte hat.
In Verbindung mit einem Captive_Portal/Hotspot ist das eine ideale Kontrolle für Gastzugänge.
In Kopplung mit einer VLAN oder direkt angeschlossenen Firewall wie hier beschrieben kann man so sehr wasserdichte Netzwerke betreiben die eine Manipulation oder Angriff von Fremden erfolgreich und robust abwehren können.

Dynamische VLAN Zuweisung am Switchport auf Mac Adress Basis
Realisiert man die Zuweisung ohne Username/Passwort und nur auf Basis der Client Mac Adressen sieht die Konfig des Radius so aus:
#       Mac Adress Authentication fuer nicht 802.1x Geraete hier !
"00123a104123"          Cleartext-Password := "00123a104123".

#       Mac Adress Authentication fuer nicht 802.1x Geraete mit dyn. VLAN Zuweisung hier !
"00abce813abc"          Cleartext-Password := "00abce813abc"

                Tunnel-Type = 13,
                Tunnel-Medium-Type = 6,
                Tunnel-Private-Group-Id = 10  

back-to-topWenn alles geklappt hat...


Dann sollte der Radius Server im Debug Modus (Start mit "radiusd -X") folgendes zum Schluss ausgeben:
.......
Sending Access-Accept of id 69 to 192.168.100.1 port 1645
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "10"
--> (Das ist die autom. VLAN Zuweisung !)
User-Name = "User"
MS-MPPE-Recv-Key = 0x93d54e2fb9...
MS-MPPE-Send-Key = 0x02ff339afb6...
EAP-Message = 0x030a0004
Message-Authenticator = 0x00
Finished request 10.
Going to the next request


Passend gibt der Switch dazu dann mit dem entsprechenden "show vlan" Kommando die korrekte 802.1x Authentisierung und auch die saubere dynamische VLAN Zuweisung auf dem Client Port aus:
Port            MAC/IP Address(username) Vlan   Auth     
                                                State 
-------------------------------------------------------------------------------
12              0123.85dd.1234 :User       10   permit   

bzw.
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4, Fa0/5
10   VLAN-10                          active    Fa0/12   --> (Authentisierter Port !)
20   VLAN-20                          active
Eine detailierte Konfig inklusive Show Outputs zur dynamischen VLAN Zuweisung mit Beipiel für einen Ruckus Switch ICX-7xxx und einen Cisco Catalyst 2960 findet man unten in den weiterführenden Links !


back-to-topWeiterführende Links


Zu Authentisierungsthemen im LAN oder WLAN gibt es folgende Links hier im Forum:

Freeradius Installation mit Datenbank und WebGUI
Freeradius Management mit WebGUI

Sichere WLAN Benutzer Authentisierung mit 802.1x (WPA2 Enterprise):
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius

Radius Authentisierung mit bordeigenem Radius Server auf Mikrotik Hardware:
Mikrotik: 802.1X Port basierte Authentifizierung mit Zertifikaten unter RouterOS 7 mit User-Manager als Radius-Server
Mikrotik: Wifi clients in anderes VLAN schieben?

Praxisbeispiel mit Linux (Raspberry Pi) und FreeRadius Server:
Netzwerk Management Server mit Raspberry Pi

Radius Server in Kombination auf einer (vorhandenen) pfSense / OPNsense Firewall betreiben:
Mikrotik - mehrere VLANs auf cAP AC mit CAPsMAN
Client-Zertfikat bei WPA2-Enterprise (802.1x)
Mikrotik - mehrere VLANs auf cAP AC mit CAPsMAN
PFSense 2.3.2 Freeradius
Achtung!: bei dynamischen VLANs mit OPNsense FreeRadius Plugin:
OPNSense FreeRadius Server-MAC Authentication-dynamische VLAN Zuweisung

Praxisbeispiel mit FreeRadius für Ruckus ICX Switch und Cisco Catalyst Switch:
Cisco SG 350x Grundkonfiguration
Ruckus ICX - 802.1x - is mac-vlan member of 2 vlans in single-untagged mode
Aufpassen bei Cisco SoHo Modellen SG und CBS !:
802.1x an Cisco CBS350 und Windows Server

Statt Mac Adresse mit 802.1x Username und Passwort authentisieren (WPA2-Enterprise):
CAPsMAN an OpenBSD-Router und -Firewall mit dynamischen VLANs

Dynamische VLAN Zuweisung mit Mikrotik WLAN und LAN:
Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik
Mikrotik: 802.1X Port basierte Authentifizierung mit Zertifikaten unter RouterOS 7 mit User-Manager als Radius-Server

FreeRadius mit Web GUI:
https://kifarunix.com/install-freeradius-with-daloradius-on-ubuntu-20-04 ...
https://www.zueschen.eu/freeradius-mit-mysql-daloradius-und-dynamische-v ...

Einbinden des FreeRadius in eine Windows AD Umgebung:
Ubuntu 14.04 - 16.04 - 18.04 - 20.04 LTS Server - Freeradius mit AD-Anbindung

Einbinden des FreeRadius in eine SQL Datenbank Umgebung:
Cisco SG 350x Grundkonfiguration

Windows Radius Server mit NPS statt FreeRadius
https://www.heise.de/ct/artikel/Radius-mit-Windows-Server-2087800.html
und auch
http://www.andysblog.de/windows-drahtgebundenes-lan-802-1x-und-nps
bzw. mit User Zertifikaten statt User/Pass
Client und Server-Authentifizierung NPS
Syntax bei der User Anmeldung von Windows Clients beachten:
NPS Anmeldung ohne host

Kopplung von FreeRadius über LDAP an ein Active Directory:
http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integratio ...
http://deployingradius.com/documents/configuration/active_directory.htm ...
und auch
ClearOS 5.2 Freeradius 2 LDAP ntlm auth Active Directory
Debian Linux in eine Active Directory Domäne integrieren

Mac Adress Authentisierung mit HP Switches:
http://h10032.www1.hp.com/ctg/Manual/c02628207.pdf

VLAN und Routing zwischen VLANs:
VLAN Installation und Routing mit pfSense, Mikrotik, DD-WRT oder Cisco RV Routern

802.1x Probleme bei Lenovo fixen:
Windows 22H2 - Authentifizierung - eine kollegiale Bitte

Content-Key: 154402

Url: https://administrator.de/contentid/154402

Printed on: April 24, 2024 at 14:04 o'clock

Member: Snowman5840
Snowman5840 Nov 07, 2010 at 17:13:11 (UTC)
Goto Top
muss sagen sehr gute, kompakte Anleitung!!!!
Member: rs-schmid
rs-schmid Dec 17, 2010 at 14:47:40 (UTC)
Goto Top
Zitat von @aqui:
Ob das Serverzertifikat überprüft werden soll kann jeder selber entscheiden. Bei Problemen kann man dies auch
abschalten.

Hi,

würde die Zertifikatsüberprüfung nicht abschalten.
Ich würde als Access-Point wissen wollen, wer der Radius-Server ist.
(ein fremder Radius-Server läßt sich unterschieben)

Schöne Anleitung!

Gruss Roland
Member: aqui
aqui Dec 17, 2010 at 20:43:22 (UTC)
Goto Top
Du hast absolut Recht. Verantwortungsvolle Admins lassen es natürlich immer an. War nur als Vereinfachungsvorschlag für Laien gedacht um ggf. Stolpersteine bei der Inbetriebnahme erstmal zu umgehen.
Im Produktivbetrieb sollte man es in der Tat nicht machen !
Member: rs-schmid
rs-schmid Dec 20, 2010 at 23:34:30 (UTC)
Goto Top
vielleicht sollte man noch ergänzend erklären, was VLANs sind.
VLANs operieren im Layer2 des OSI-Referenzmodells.
Man erzeugt verschiedene VLANs, um z.b. Mitarbeiter, die abteilungstechnisch und thematisch zusammengehören
aber nicht physisch bei einander sitzen und überall verteilt sind, zu einer Broadcast-Domäne zusammenzufassen.
In der Praxis verwendet man mehr und mehr sogenannte Multi-Layer-Switche, die auch auf Layer2 operieren aber noch weitere Features auf höheren Layerebenen bereitstellen. VLANs funktionieren bis zu einer Distanz von ca. 100km (100km ist aber schon sportlich)

WLANs, die WPA/WPA2 verwenden, sind bei Einsatz von schwachen Kennwörtern relativ leicht zu hacken.
Der Knackpunkt liegt im Handshake, schneide ich ausreichend Frames mit z.b. Wireshark mit, dann steht ein schwaches Passwort garantiert im Wörterbuch.
Von daher ist IEEE 802.1x auch bei WLAN Authentifizierung eine gute Wahl, denn den Handshake gibt es in der Form nicht mehr, die Entscheidung über ja oder nein trifft der Radius-Server.
Member: aqui
aqui Dec 21, 2010, updated at Oct 18, 2012 at 16:44:29 (UTC)
Goto Top
Member: hofimax
hofimax Mar 10, 2011 at 09:02:22 (UTC)
Goto Top
Zitat von @rs-schmid:
VLANs funktionieren bis zu einer Distanz von ca. 100km (100km ist aber schon
sportlich)

Wo bitte hast du so eine Information her? Wie kommst du darauf eine Layer 2 Funktion auf 100km zu beschränken? Das würde mich jetzt schon brennend interessieren!
Member: aqui
aqui Mar 10, 2011 at 15:38:25 (UTC)
Goto Top
@hofimax
Die Aussage vom Kollegen rs-schmidt ist so natürlich irreführend und stimmt auch in dem o.a. Kontext nicht ! Da hast du in der Tat Recht.
Die Reichweite von Ethernet (und nichts anderes ist VLAN auch !), und dabei ist es egal ob tagged (VLAN) oder nicht hängt in erster Line vom Transportmedium ab, niemals aber vom Frameformat was darauf transportiert wird.
In der Beziehung ist die Angabe von 100km völlig unsinnig.
Bei entsprechender Glasfaser, Funk usw. können das auch 1000km oder 10.000km und mehr sein, denn bei z.B. Transatlantikkabeln, Satellitenlinks usw. wird sowas ja in der Praxis auch gemacht.
Die Längenangabe ist also vollkommen unerheblich vom VLAN oder nicht VLAN !!
Mit der Thematik des o.a. Tutorials hat das auch rein gar nix zu tun....
Member: Nachtfalkeaw
Nachtfalkeaw Mar 10, 2011 at 16:59:35 (UTC)
Goto Top
Hallo,

ich benutze den freeRADIUS in der pfsense und die authentifizierung klappt auch (nur benutzername und passwort). Leider funktioniert die VLAN Zuweisung nicht. Jetzt bin ich am Zweifeln, ob das meine verfügbaren switche denn können:

Ich habe hier einen Cisco SG 200-26 (Aufschrift auf dem Switch), wird aber wohl auch unter den Namen SLM2024T-EU geführt.

In der Spezifikation stehen u.a.:

_______________________________________________________
Unterstützung von bis zu 128 VLANs gleichzeitig (von 4096 VLAN-IDs) Portbasierte und 802.1Q-tagbasierte VLANs[/b]
_______________________________________________________

und
_______________________________________________________
IEEE 802.1X (Authentifizierer-Rolle)
802.1X: RADIUS-Authentifizierung und -Accounting, MD5-Hash
Unterstützt zeitbasiert 802.1X
Dynamische VLAN-Zuordnung
_______________________________________________________

Ich hatte es mir so vorgestellt, dass der User quasi sein VLAN mit nimmt, egal an wlechem Port er angeschlossen wird. Ich weiss nur nicht, ob es an meinem Unvermöen liegt, ich die Anleitung falsch verstehe - dann bitte ich um Hilfe - oder ob das Gerät das einfach nicht kann und ich mich von den Spezifikationen habe irre führen lassen.

Vielen Dank für die Hilfe/Mühe, auch wenn der Beitrag nicht wirklich ganz hier hinein passt.
Member: rs-schmid
rs-schmid Mar 10, 2011 at 19:26:16 (UTC)
Goto Top
@hofimax

richtig ist, dass es vom thema wegführt
aber.
VLANs sind Broadcast Domänen, deren grenze ein router ist.
Wie willst Du mit Ethernet die Broadcasts (z.b. ping 255.255.255.255) über die router transportieren ?
Definitiv gibt es eine grenze von ca. 100km mit gigabit ethernet. (mit repeater)

Andere technologien jenseits von ethernet sind eine andere geschichte.
Member: hofimax
hofimax Mar 11, 2011 at 08:20:24 (UTC)
Goto Top
Sorry, aber deine Aussagen sind einfach irreführend. Du kannst die Reichweite von VLAN's einfach nicht in km angeben. Sowas habe ich echt noch nie gehört. Es hängt einzig und alleine von der eingesetzten Übertragungstechnik ab, wie weit du Ethernet inkl. VLAN's übertagen kannnst. Und das dies in der heutigen Zeit mehrere Tausend Kilometer sein können, wie zum Beispiel bei Transatlantikverbindungen, ist klar. Dann reden wir immer noch von Ethernet, allerdings übertragen über OTN.

Das ich ein VLAN nicht routen kann ist eigentlich auch klar, das ist aber dann auch nicht mehr Layer 2, sonder Layer 3. Also auch nicht vergleichbar.

Ethernet über 100km sind kein Problem, aber ohne Repeater! Sorry, ich will dir hier absolut nicht auf den Schlips treten, aber ich finde es nicht okay wenn hier Informationen stehen, die so nicht stimmen, es gibt User die glauben dass...
Member: aqui
aqui Mar 11, 2011 at 11:51:54 (UTC)
Goto Top
Sie sind nicht nur irreführend sondern auch totaler Unsinn und schlicht falsch !
Die Längenrestriktion hat nichts mit VLAN oder 802.1q Headern zu tun sondern ist lediglich und ausschliesslich vom Medium abhängig. Das ist Fakt. Mit Protokollen wie ICMP (das angesprochene Ping) oder Broadcasts hat das auch erst recht nichts zu tun denn das sind alles IP Protokollbestandteile die nichts mit dem Layer 1 Format was für die Ausbreitung relevant ist zu tun haben.
Wäre da nur ein Quäntchen Wahrheit dran, dann würden IP Verbindungen über Transatlantik Glasfasern oder Satelliten Verbindungen niemals funktionieren. Jeder Tag wo das Internet funktioniert zeigt also das das oben genannte ziemlicher Unsinn ist, denn Pings Broad- und Multicast und 802.1q tagged Ethernet wird täglich mit hunderten von Gigabyte auf solchen Kabeln übertragen.
Einzig das VLANs separate Layer 2 Broadcast Domains sind ist richtig. Der Rest diese Aussagen gehören also getrost ins Reich der Märchen oder Urban Legends !!

Damit sollten wir dann wieder zur Sachdiskussion hier im Tutorial Thread zurückkehren.....

@Nachtfalke
Dein Beitrag passt schon ganz genau hier rein...keine Angst, denn er bezieht sich ja genau auf das Tutorial Thema !
Dein Cisco sollte natürlich dynamische VLANs supporten wenn dort 802.1x und Dynamische VLAN-Zuordnung im Datenblatt steht.
Vermutlich hast du dann schlicht und einfach einen simplen Konfig Fehler begangen auf dem Switch.
Dein Cisco ist kein Catalyst sondern einer aus der billigen Linksys Serie. Damit greifen natürlich die o.a. sauber funktionierenden Konfig Beispiele für Cisco IOS basierende Switches nicht.
Ggf. also nochmal ins Handbuch sehen ob du alles richtig gemacht hast.
Sehr hilfreich ist immer den FreeRadisu im Debug Modus (-X) zu betreiben und zu prüfen ob überhaupt gültige Radius Pakete vom Switch reinkommen, der Switch also korrekt eingerichtet ist. Dort kannst du überhaupt sehen ob es klappt, da der Radius dann auch die Zuweisung mit Debug Meldungen bestätigt.
Die Radius Konfig für dynamische VLANs ist immer die die gleiche, da das standardtisiert ist !
Du solltest ferner drauf achten das du die aktuellste Firmware auf dem SG 200-26 drauf hast. Im Zweifelsfalle die Konfig des Switches für 802.1x und dynamische VLANs hier mal posten !
Member: brammer
brammer Mar 11, 2011 at 12:19:07 (UTC)
Goto Top
Hallo,

@rs-schmid


Definitiv gibt es eine grenze von ca. 100km mit gigabit ethernet. (mit repeater)


Hast du für diese Aussage irgendeine glaubwürdige Quelle?

brammer
Member: Nachtfalkeaw
Nachtfalkeaw Mar 11, 2011 at 18:46:19 (UTC)
Goto Top
@aqui

Danke für die Antwort.
Also die Anmeldung am RADIUS funktioniert. Ich teste es gerade zwar ohne Zertifikate und nur mit Benutzername und Kennwort und es klappt. radiusd -X habe ich auch verwendet, zum Ende des Authetifizierungsvorgangs zeigt er mit auch Tunnel Type, Medium und Group id an, so wie in deiner Beispielkonfiguration auch angegeben.

Ich nutze das freeRADIUS package, was man direkt auf der pfsense installieren kann. Kann es deswegen nicht funktionieren mit den VLANs ? Für mich eigentlich eher unlogisch. Du dynamische VLAN Zuweisung funktioniert doch auch ohne Zertifikate, richtig ?

Der Switch bietet leider lediglich die Konfiguration über das Web-Interface, so dass ich keinen config auszug posten kann face-sad
Den Port lasse ich im "Access" Modus laufen, habe von ForeceAuthentication auf "Auto" umgestellt.

Hier ist der Installation Guide:
http://www.cisco.com/en/US/docs/switches/lan/csbss/sf20x_sg20x/administ ...

Ich frage mich gerade, ob die dynamische VLAN Zuordnung sich auf das Voice VLAN bezieht.
Member: aqui
aqui Mar 12, 2011 at 13:52:56 (UTC)
Goto Top
@Nachtfalke
Ja die dynamische VLAN Zuweisung ist völlig unabhängig von der Verwendung eines Zertifikats solange sich der Client sauber authentifizieren kann und der Port dann in den Forwarding Modus geht, was ja generell bei dir funktioniert, richtig ?
Der Port Modus sollte im Auto Modus stehen und laut Cisco Data Sheet supportet der 200er auch dynmaisch per 802.1x zugewiesen VLANs. Daher sollte es keine Hürden geben.
Woran es aber oft scheitert ist das der FreeRadius nicht sauber auf tunneled replies konfiguriert ist und dann scheitert die dynamische VLAN Zuweisung weil diese Parameter im PEAP Tunnel übertragen werden !
"!! WICHTIG: Die folgenden Anpassungen in der Datei /etc/raddb/eap.conf sind zwingend für die dynamische VLAN Zuweisung: Im Abschnitt TTLS ist der Parameter use_tunneled_reply = yes auf yes zu setzen. Ebenso im Abschnitt PEAP auch diesen Parameter auf yes !! "
Du solltest also sehr genau die entsprechenden eap.conf usw. Dateien des FreeRadius überprüfen, das das auch aktiviert ist und danach immer den FreeRadius neu starten !
Ich checke die pfSense Implementation sonst mal daraufhin. Ggf. setzt du sonst schnell einmal eine VM auf wie oben beschrieben nur um ganz sicher zu gehen.
Hilfreich sind in jedem Fall auch die Syslog Dateien des 200er Switches sofern er dort 802.1x Stausmeldungen ablegt !!
Du solltest in jedem Falle die dynamische Zuweisung auf dem Port nochmal probieren wenn der Port im Modus General steht statt Access !
Die Voice VLAN Zuweisung geschieht nur dynamisch auf Basis des Mac Adress Prefixes. Das hat also mit 802.1x VLAN Zuweisung nichts zu tun.
Member: Nachtfalkeaw
Nachtfalkeaw Mar 12, 2011 at 14:38:24 (UTC)
Goto Top
Ahoi nochmal.

"Ja die dynamische VLAN Zuweisung ist völlig unabhängig von der Verwendung eines Zertifikats solange sich der Client sauber authentifizieren kann und der Port dann in den Forwarding Modus geht, was ja generell bei dir funktioniert, richtig ?"

Das geht.

Der Port Modus sollte im Auto Modus stehen und laut Cisco Data Sheet supportet der 200er auch dynmaisch per 802.1x zugewiesen VLANs. Daher sollte es keine Hürden geben."

Steht im auto Modus.

"Woran es aber oft scheitert ist das der FreeRadius nicht sauber auf tunneled replies konfiguriert ist und dann scheitert die dynamische VLAN Zuweisung weil diese Parameter im PEAP Tunnel übertragen werden !
"!! WICHTIG: Die folgenden Anpassungen in der Datei /etc/raddb/eap.conf sind zwingend für die dynamische VLAN Zuweisung: Im Abschnitt TTLS ist der Parameter use_tunneled_reply = yes auf yes zu setzen. Ebenso im Abschnitt PEAP auch diesen Parameter auf yes !! "

Habe ich erst nicht gehabt, dann aber umgeändert und das Kommentierungszeichen vor der Zeile (#) entfernt. Radius auch neugestartet (radiusd -X) und auch mal die pfsense ansich komplett neu gestartet.


"Hilfreich sind in jedem Fall auch die Syslog Dateien des 200er Switches sofern er dort 802.1x Stausmeldungen ablegt !!"

Da wird glaube ich etwas bei der Ausgabe gegeizt. Steht nur da, ob die authentifizierung für den Port erfolgreich war oder nicht. Aber keine erweiterten Hinweise oder Meldungen. Er bietet auch kein SNMP an, so dass man da evtl. mehr infos bekommen könnte. Aber das überprüfe ich nochmal genauer.

"Du solltest in jedem Falle die dynamische Zuweisung auf dem Port nochmal probieren wenn der Port im Modus General steht statt Access !"

Das werde ich auf jeden Fall nochmal testen. Ich hatte den Port einmal im Trunk (Standardeinstellung) was ja für dynamische VLANs unsinnig ist und dann nochmal im Access Modus. Den General Modus habe ich mit dynamischer Zuweisung noch nicht ausprobiert. Wie gesagt, das teste ich nochmal genau.


"Ich checke die pfSense Implementation sonst mal daraufhin. Ggf. setzt du sonst schnell einmal eine VM auf wie oben beschrieben nur um ganz sicher zu gehen."

Nicht alle Dateien, die du in deinem Tutorial änderst, finden sich bei der pfsense wieder. Das sind folgende:
/etc/raddb/modules/mschap
/etc/raddb/sites-enabled
/etc/raddb/sites-enabled/inner-tunnel

Wenn diese Dateien für die dynamische Zuweisung von VLANs bei Windows XP clients notwendig sind, dann wäre das ein Grund, warum es nicht geht.

Ich werde das Montag versuchen zu testen und mich spätestens dann nochmal melden. Falls du noch Tips hast, bin ich dafür offen face-smile
Dankeschön erstmal!
Member: aqui
aqui Mar 13, 2011 at 16:23:05 (UTC)
Goto Top
Oha...inner-tunnel benötigst du schon. Eigentlich verwunderlich, denn diese Dateien gehören zwingend zur FreeRadius Distro dazu.
Sonst such sie auf der pfSense Konsole einmal mit find / -name inner*
Ggf. stecken sie wie so ft bei anderen Distros in einem anderen Verzeichnisbaum, da sich die o.a. Installation auf eine SuSE Distro bezieht !

Sehr hilfreich ist den Radius Request vom Switch zum Server einmal mit einem Wireshark mitzusniffern. In den Paketen kannst du ganz genau sehen ob diese VLAN Parameter an den Switch übergeben werden oder nicht und wenn ja, welche Werte dort mitgesendet werden.
Das ist das sicherste Mittel das wasserdicht zu überprüfen ob die VLAN IDs sauber mitgesendet werden !!
Vermutlich sieht der Radius nicht auf diese im PEAP Tunnel gesendeten Daten und ignoriert sie.
Dann bleibt es bei der simplen User Authentisierung.
Das solltest du einmal genau mit dem Wireshark ansehen.
Alternativ testweise die SuSE VM aufsetzen was aber ggf. der größere Aufwand ist !
Member: Nachtfalkeaw
Nachtfalkeaw Mar 13, 2011 at 16:42:57 (UTC)
Goto Top
Hi,

ich suche die inner-tunnel mal mit dem genannten Befehl und/oder frage im pfsense Forum nach.
Die Wireshark Methode kann ich auch einmal testen und sollte ich den log nicht verstehen, dann kann ich die .pcap file sicherlich hier irgendwie zur Verfügung stellen.

Ich habe nochmal im Installation Guid der SG300 serie, also der etwas besseren Serie als die, die ich habe, nachgeschaut und dort bieten sie das cisco eigene GVRP an und damit auch folgendes:
Click VLAN Management > Create VLAN. The Create VLAN Page opens.
The Create VLAN page displays the following fields for all VLANs:
• VLAN ID—User-defined VLAN ID.
• VLAN Name—User-defined VLAN name.
• Type—VLAN type:
- Dynamic—VLAN was dynamically created through Generic VLAN
Registration Protocol (GVRP).

- Static—VLAN is user-defined.
- Default—VLAN is the default VLAN.


Wobei sich das ja nur auf das cisco protcol GVRP bezieht und damit eigentlich nicht mit der 802.1X dynamischen VLAN Zuweisung zu tun haben sollte.
Member: aqui
aqui Mar 13, 2011 at 16:59:16 (UTC)
Goto Top
Vergiss es... GVRP hat mit 802,1x dyn. VLAN nix zu tun. Es ist ein eigenes Protokoll was ALLE eingerichten VLANs an angeschlossene Switches verteilt um diese im gesamten Netz transparent zu machen.
GVRP ist der freie Standard zu Ciscos proprietären VTP bei den IOS basierten Switches.
Ganz andere Baustelle...hat hiermit rein gar nix zu tun !
http://en.wikipedia.org/wiki/Multiple_Registration_Protocol
Member: Nachtfalkeaw
Nachtfalkeaw Mar 13, 2011 at 22:04:22 (UTC)
Goto Top
Hallo,

also die Datei "inner-tunnel" gibt es nicht auf der pfsense. Genausowenig die die Ordner "sites-enabled" oder "modules". Sehr merkwürdig. Der freeradius für die pfsense hat den Versionsstand 1.1.8. Gibt es zu dieser Version evtl. Konfigurationsunterschiede, die mein problem betreffen ?
Member: Nachtfalkeaw
Nachtfalkeaw Mar 14, 2011 at 07:45:46 (UTC)
Goto Top
Guten Morgen,

also die Ports von ACCESS auf GENERAL umgestellt und nochmal probiert:

So sieht es erstmal aus, wenn ich den radis mit radiusd -X starte:

[2.0-RC1][admin@pfsense2.hpa]/usr/local/etc/raddb(16): radiusd -X
Starting - reading configuration files ...
(...)
Module: Instantiated radutmp (radutmp)
Listening on authentication 172.17.0.1:1812
Listening on accounting 172.17.0.1:1813
Ready to process requests.


Danach habe ich mittels Wireshark den Authentifizierungsprozess am RADIUS mitgeschnitten. Dazu habe ich meinen Laptop mit Wireshark mittels HUB zwischen RADIUS und SWITCH gepatcht. radiusd -X gab dabei folgendes aus:


(...)
Sending Access-Challenge of id 0 to 172.17.0.2 port 49154
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "6"
EAP-Message = 0x010300160410d1da01d80b6d0ebb00804a954c594c4c
Message-Authenticator = 0x00000000000000000000000000000000
State = 0x19efefe709c34ca322c0867311b9e3e7
Finished request 4
(...)
Login OK: [vlan5/<no User-Password attribute>] (from client switch port 57 cli 00-0B-5D-93-0F-4E)
Sending Access-Accept of id 0 to 172.17.0.2 port 49154
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "6"
EAP-Message = 0x03030004
Message-Authenticator = 0x00000000000000000000000000000000
User-Name = "vlan5"
(...)
--- Walking the entire request list ---
Cleaning up request 5 ID 0 with timestamp 4d7dc41e
Nothing to do. Sleeping until we see a request.


Wobei hier bitte zu beachten ist:
Benutzername ist: vlan5
Kennwort ist: vlan5
Der Benutzer soll dann aber in das vlan 6 gesteckt werden.

Die Authentifizierung klappt, aber ich komme immer in mein default VLAN.
Die RADIUS.pcap habe ich mit 7-zip gepackt und unter folgendem Link hochgeladen:
http://www.fileuploadx.de/473748
Member: aqui
aqui Mar 14, 2011 at 11:20:12 (UTC)
Goto Top
Du hast es ja schon sicher selber gesehen, deshalb muss man es eigentlich nicht mehr posten hier.....
Der Radius schickt alles wie er soll an den Switch:
Frame 34: 137 bytes on wire (1096 bits), 137 bytes captured (1096 bits)
Arrival Time: Mar 14, 2011 08:30:40.082449000 Westeuropäische Normalzeit
Epoch Time: 1300087840.082449000 seconds
[Time delta from previous captured frame: 0.000518000 seconds]
[Time delta from previous displayed frame: 0.000518000 seconds]
[Time since reference or first frame: 21.784969000 seconds]
Frame Number: 34
Frame Length: 137 bytes (1096 bits)
Capture Length: 137 bytes (1096 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ip:udp:radius:eap]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: Wistron_06:06:f5 (00:26:2d:06:06:f5), Dst: Cisco_2e:24:9a (58:8d:09:2e:24:9a) (Layer 2 Radius an Switch)
Destination: Cisco_2e:24:9a (58:8d:09:2e:24:9a)
Address: Cisco_2e:24:9a (58:8d:09:2e:24:9a)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: Wistron_06:06:f5 (00:26:2d:06:06:f5)
Address: Wistron_06:06:f5 (00:26:2d:06:06:f5)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Type: IP (0x0800)
Internet Protocol, Src: 172.17.0.1 (172.17.0.1), Dst: 172.17.0.2 (172.17.0.2) (Layer 3 Radius an Switch)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 123
Identification: 0x73ac (29612)
Flags: 0x00
0... .... = Reserved bit: Not set
.0.. .... = Don't fragment: Not set
..0. .... = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: UDP (17)
Header checksum: 0xaea0 [correct]
[Good: True]
[Bad: False]
Source: 172.17.0.1 (172.17.0.1)
Destination: 172.17.0.2 (172.17.0.2)
User Datagram Protocol, Src Port: radius (1812), Dst Port: 49154 (49154) UDP 1812 ist Radius Protokoll !
Source port: radius (1812)
Destination port: 49154 (49154)
Length: 103
Checksum: 0x0467 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
Radius Protocol
Code: Access-challenge (11)
Packet identifier: 0x0 (0)
Length: 95
Authenticator: 3644cd7ef8200dc027277a12e8b03190
Attribute Value Pairs
AVP: l=6 t=Tunnel-Type(64) Tag=0x00: VLAN(13) --> (Das ist der dyn.VLAN Service "Tunnel Type VLAN")
Tag: 0x00
Tunnel-Type: VLAN (13)
AVP: l=6 t=Tunnel-Medium-Type(65) Tag=0x00: IEEE-802(6) --> (Das ist der Medien Typ "802.1q")
Tag: 0x00
Tunnel-Medium-Type: IEEE-802 (6)
AVP: l=3 t=Tunnel-Private-Group-Id(81): 6 --> (Das ist die "VLAN ID 6") Alles 3 wird korrekt an den Switch übergeben !
Tunnel-Private-Group-Id: 6
AVP: l=24 t=EAP-Message(79) Last Segment[1]

EAP fragment
Extensible Authentication Protocol
Code: Request (1)
Id: 3
Length: 22
Type: MD5-Challenge [RFC3748] (4)
Value-Size: 16
Value: d1da01d80b6d0ebb00804a954c594c4c
AVP: l=18 t=Message-Authenticator(80): 548b996610126dca03eadb2e92b0715d
Message-Authenticator: 548b996610126dca03eadb2e92b0715d
AVP: l=18 t=State(24): 19efefe709c34ca322c0867311b9e3e7
State: 19efefe709c34ca322c0867311b9e3e7

Fazit: Der Cisco tut nicht was er soll !!
Da solltest du dann mal einen Case im Cisco TAC aufmachen, denn das ist ein eindeutiger Bug der Firmware, sofern hoffentlich natürlich deine Konfig des Switches korrekt ist !?!
Hast du die aktuellste (1.0.0.19) geflasht !
http://www.cisco.com/cisco/software/release.html?mdfid=283771818&fl ...
Member: Nachtfalkeaw
Nachtfalkeaw Mar 14, 2011 at 11:30:48 (UTC)
Goto Top
Hallo,

der gedanke mit der Firmware kam mir auch schon. Die aktuellste Version 1.0.0.19 wurde aber bereits vorinstalliert ausgeliefert. Ich habe mich nun gerade vor wenigen Sekunden im CISCO Small Business Forum registriert und werde nun dort mal mein Problem schildern.

Unabhängig davon schonmal super vielen Dank, dass du dir die Logs und .PCAP einmal angesehen hast und wir von dieser Seiten einen groben Fehler schonmal zu 99% ausschließen können, da der freeRADIUS ja augenscheinlich korrekt arbeitet.

Ich werde den CISCO Support einmal mit dieser Problematik bemühen. Sobald ich dort etwas genaueres gesagt bekomme, werde ich hier zumindest Rückmeldung geben.

Dankeschön erstmal!

PS: Wenn Interesse besteht, könnte ich dir auch mal einen Zugang zu dem Switch einrichten. Da das hier eine reine Testumgebung ist, kann man da bedenkenlos "spielen". Aber ich denke, wir warten ertsmal die CISCO Rückmeldung ab.


Gruß
Member: Nachtfalkeaw
Nachtfalkeaw Mar 17, 2011 at 09:41:46 (UTC)
Goto Top
Hallo,

wen es interessiert, kann den Thread im CISCO Forum mitverfolgen. Leider ist das Feedback dort sehr gering.

https://supportforums.cisco.com/message/3316633#3316633
Member: aqui
aqui Mar 20, 2011 at 12:15:47 (UTC)
Goto Top
Na ja der Kollege vom "Sofia TAC" hat ja auch nur Banalfragen gestellt. Relevant ist ja das deine 802.1x Port Authentifizierung einwandfrei funktioniert was die Tatsache das du generell mit dem Usernamen und Passwort reinkommst, ja sauber dokumentiert.
Damit ist ganz klar gezeigt das es generell an der Radius Konfig selber und auch an der Radius bzw. 802.1x Port Konfiguration des Switches keine Probleme gibt, denn sonst würde das auch scheitern.
Der Sniffer Trace des Radius Packets vom Radius Server zum Switch zeigt ja auch ganz klar das die standardtisierten Radius Attribute:
Dezimal 64 = Tunnel Type auf VLAN
Dezimal 65 = Tunnel Medium Type auf 802
Dezimal 81 = Tunnel Private Group ID auf deine VLAN ID 6
richtig gesetzt sind und auch sauber im Antwortpaket an den Switch übertragen werden.
Es ist also ganz klar das der Switch diese Information vom Radius übermittelt bekommt aber irgendwie nicht richtig auswertet oder liest und umsetzt.
Klar das beide VLANs angelegt sein müssen, was bei dir ja auch der Fall ist.
Dynamisch zugewiesene Ports dürfen nicht irgendwie tagged fest einen statischen VLAN zugewiesen sein. Diese sollten immer wie in der Default Konfig im VLAN 1 untagged hängen. Das solltest du beim Test auf alle Fälle nochmal beachten.
Hast du ggf.einen IOS basierten Cisco Switch oder einen anderen Switch mit dem du das einmal wasserdicht testen kannst ?
Die o.a. funktionierende Switch Konfig ist von einem IOS basierten Switch.
Member: Nachtfalkeaw
Nachtfalkeaw Mar 20, 2011 at 17:52:53 (UTC)
Goto Top
Hallo,

den Port zur Client Seite hin hatte ich einmal im Trunk, einmal General und einmal Access mode. In allen drei Fällen befanden sich diese Ports ausschließlich im Default VLAN. Im Modus Trunk und General hatte ich dem Port einmal das VLAN5 und VLAN6 als tagged hinzugefügt - ohne Erfolg und dann auch nochmal untagged. Ich habe nun also sämtliche logischen und auch unlogische Konfigurationseinstellungen am Switch durchprobiert.

Einen "richtigen" IOS basierten CISCO Switch habe ich leider nicht.
Member: aqui
aqui Mar 30, 2011 at 14:31:35 (UTC)
Goto Top
Da hilft dann nur Case aufmachen bei Cisco oder dem Systemhaus die Beine langziehen !
Member: Nachtfalkeaw
Nachtfalkeaw Apr 27, 2011 at 18:58:31 (UTC)
Goto Top
Hallo,

nach vielen vielen Wochen Wartezeit, Osterurlaub bei meiner CISCO Betreuerin habe ich nun Klarheit:

You are right sir,

There is no option to enable "Dynamic VLAN assignment " in the web gui of the switch. It's written in the Datasheet, but it's a mistake that has been reported and it will be fixed.

Please contact us for futher information -

Thank you

With best of my regards,

Plami




Hallo Herr XYZ,

Leide ist die Funktion Dynamic VLAN Assignment bei den SG200 nicht unterstuetzt, obwohl es in dem Datenblatt geschiben ist.
Die Function ist aber bei den SG300 unterstuetzt. Deshalb schlage ich Ihnen vor, dass Sie das Geraet mit Ihrem Haendler austauschen.

Ich werde den Fall jetzt schliessen, dass technisch geseen kann ich nichts mehr tun.

Ich hoffe Ihnen geholfen zu haben, sollten sich noch
Fragen ergeben zoegern sie nicht mich zu kontaktieren.

Mit freundlichen Gruessen,


Die Switche der SG200 Serie unterstützen kein dynamisches VLAN, obwohl dies im Datenblatt vermerkt ist.
Jetzt soll ich die Switche umtauschen gegen die 300er Serie - die kostet natürlich mehr (ca 60%).
Das könntest du dann in deinem Tutorial abändern - dann hätte es wenigstens erstmal einem von uns geholfen ;)

Jetzt meine Frage:
Wie sieht es bei solch einer Fehlinformation aus, kann ich da einen Preisnachlass herausschlagen und wenn ja, bei CISCO selbst oder über meinen Zulieferer ?

Dankeschön!
Member: brammer
brammer Apr 27, 2011 at 20:59:18 (UTC)
Goto Top
Hallo,

ich würde mich mit der Aussage sowohl an Cisco als auch an den Händler wenden.
Entweder über Cisco einen Tauch gegen ein Modell das "dynamic vlan assignment" effektiv beherrscht.
Oder das Gerät über das Systemhaus zurückgeben.

brammer
Member: aqui
aqui Apr 28, 2011 at 09:49:57 (UTC)
Goto Top
@rs-schmidt
Das ist ja definitiv eine Zusage zu den technischen Fähigkeiten des Switches aufgrund derer deine Kaufentscheidung gefallen ist.
Wenn die nicht zutrifft oder schlicht falsch ist ist das in jedem Falle ein Mangel den du reklamieren kannst und mit einer Fristangabe um Nachbesserung bitten kannst.
Wenn das technisch nicht möglich ist muss dein Händler (mit dem hast du die Vertragsbeziehung) tauschen um die zugesagte Eigenschaft zu erfüllen oder Rückabwickeln.
In der Regel ist dort ein Cisco Systempartner kulant wenn man etwas sanft droht, was du in jedem Falle machen solltest ! Einfach durchgehen lassen solltest du das nicht !!
Member: Nachtfalkeaw
Nachtfalkeaw Apr 28, 2011 at 21:43:51 (UTC)
Goto Top
Hallo,

danke für eure Rückmeldung.
Ich habe nun den Schriftverkehr an die bei uns zuständige Stelle weitergeleitet. Die Lieferfirma hieß NextiraOne...und die hatten damals shcon unvershcämte 4 Monate benötigt, die Ware zu liefern, bis letztendlich eine Kollegin von uns dort einmal auf den Tisch gehauen hat, nachdem alle anderen Anrufe wohl abgewiegelt wurden.

Ich hoffe, dass diese Kollegin das diesesmal direkt in die Hand nimmt und dann wollen wir mal schauen, wie kulant NextiraOne ist.


Es ärgert mich nur unheimlich, dass im CISCO Forum scheinbar keiner die eigenen Geräte kennt und diesen Fehler bemerkt hat. Das zeugt natürlich nicht von hoher Kompetenz und damit natürlich meines Erachtens für schlechten Service.

Ich werde jedenfalls Rückmeldung geben, falls sich etwas tut face-smile

Grüße und Danke
Member: aqui
aqui Apr 29, 2011 at 09:00:33 (UTC)
Goto Top
He he he NextiraOne. Da hat man den Bock zum Gärtner gemacht. Das ist die Vertriebsschiene von Alcatel, die haben eh kein Interesse an Cisco bzw. auch gar nicht mehr die kompetenten Cisco Leute...kein Wunder das das in die Hose ging. Vermutlich waren sie mal wieder die billigsten die dann bei öffentlichen Kunden genommen werden müssen. Das da kein Geld mehr bleibt für saubere Beratung ist klar. Ähnlich mit dem Forum, da partiziepieren meist keine Cisco Leute sondern nur Partner. Am sichersten geht man da dann wenn man in Hallbergmoos direkt anruft !
Member: Nachtfalkeaw
Nachtfalkeaw Jun 17, 2011 at 14:47:02 (UTC)
Goto Top
Hallo nochmal,

wollte erstmal die freudige Nachricht (für mich) mitteilen. CISCO oder NextiraOne, wer auch immer letztendlich die Kosten trägt, haben mir alle 20 alten Geräte SG-200 gegen SG-300 ausgetauscht, ohne zusätzliche Kosten. Diese Lieferung kam dann auch erstaunlich schnell und ohne Probleme. Gut!


Nun wieder zum eigentlichen Thema:
Die Authentifizierung am freeRADIUS mit Benutzername/Kennwort oder Benutzername/Kennwort/Zertifikat funktionieren. Genauso die dynamische VLAN Zuordnung.

Ich habe nun lediglich noch das Problem, dass sich meine Rechner nicht in einer Domäne befinden.
Weiterhin haben die Rechner bzw. die Benutzer die gleichen Windows Benutzernamen und auch die gleichen Kennwörter. Es bringt mir also nichts, wenn ich den Haken setze, dass Windows sich mit den Benutzerinformationen anmelden soll.
Es kommt immer das letzte Bild in deinem Abschnitt "Clients für die 802.1x Zugangskontrolle einrichten". Setze ich den Haken, wie in den Bildern zuvor gezeigt, stimmen die Anmeldedaten logischerweise nicht.

Ich habe gelesen, dass es für PCs in einer Domäne "Computerzertifikate" gibt, so dass sich die Rechner vor der Windows-Anmeldung bereits im Netz anmelden zu können um die Domäne zu erreichen. Ist das auch in meinem Szenario realisierbar, wenn ja, wie ?

Dankeschön!
Member: aqui
aqui Jun 17, 2011 at 19:36:01 (UTC)
Goto Top
OK, damit hebelst du den Sinn der Port Authentifizierung natürlich aus wenn alle User die gleichen Namen und Passwörter haben. Jedenfalls die Authentisierung über die Windows Credentials.
Klappen tut das auch nur das dann jeder der diesen "Universalbenutzer" kennt dann ins Netz kommt. Das ist dann aber eigentlich kein Problem von .1x mehr sondern ein Problem deiner Benutzersicherheit bzw. Verwaltung.
Alternative ist dann eben nicht den Windows Usernamen zu verwenden also den Haken nicht zu setzen. Dann poppt bei jedem User eine individuelle Abfrage hoch in die er dann User und Passwort eintippen muss.
Alternative ist dann natürlich die Domänenbenutzung. Aber auch da macht es dann recht wenig Sinn wenn alle Benutzer und Passwörter gleich sind bzw. du immer das gleiche Zertifikat hast.
Member: Nachtfalkeaw
Nachtfalkeaw Jun 17, 2011 at 22:49:27 (UTC)
Goto Top
Das mit den Windows-Anmeldedaten ist eben ein Relikt aus alten Zeiten.
Mein Ziel ist es, dass ich die Leute in grob gesagt 2 unterschiedliche VLANs bekomme. Eines hat Beschränkungen vom Zugriff, das Andere nicht. Problem ist, dass sich diese Leute "vogelfrei" im Haus bewegen und sich an x-beliebige Dosen anklemmen dürfen und auch sollen.

Ist es denn nicht möglich, die Windoes Anmeldedaten irgendwie in die Registry hard code ?
Oder kann ich ein batch/vbs script schreiben, was die Anmedlung im Autostart erledigt ?


Aber es bleibt ja auch immernoch die Frage, wie kann ich den Computer authentifizieren, BEVOR sich ein USer angemeldet hat. Das geht ja auch (nur wie) ?
Member: aqui
aqui Jun 18, 2011 at 10:04:20 (UTC)
Goto Top
Die einfachste Lösung für dich ist dann doch die mit dem Mac basierten VLANs wie sie auch oben im Tutorial beschrieben ist. (Mac Authentication) Du checkst einfach anhand der Mac Adresse in welches VLAN die Geräte kommen. Das ist am einfachsten ohne viel Aufwand umzusetzen und erfüllt genau das was du willst.
Nicht bekannte Mac Adressen landen dann z.B. in einem sog. "Quarantäne VLAN" wo sie erstmal nix anrichten können. Ggf. mit einem Captive Portal um sich registrieren zu lassen.
Das bekommst du im Handumdrehen zum Fliegen ohne erstmal eine Domain und damit eine CA Hierarchie aufbauen zu müssen für die Zertifikate.
Member: Nachtfalkeaw
Nachtfalkeaw Jun 18, 2011 at 10:49:28 (UTC)
Goto Top
Das Quarantäne-VLAN oder wie es bei CISCO heißt "Gast-VLAN" habe ich und funktioniert auch. Captive Portal habe ich ebenfalls darauf eingerichtet.

Von den MAC-Adressen wollte ich eigentlich weg...

Am Liebsten wäre mir ein Zertifikat, was die Authentifizierung am radius ermöglich OHNE sonstige Eingaben von Benutzernamen/Kennwörtern und der radius auf Grund der Zertifikats dann das VLAN zuweist.
Kann ich dem radius nicht die CN der Zertifikate mitteilen, auf Grund derer er dann die Entscheidung mit meinen Kriterien trifft ?
Member: aqui
aqui Jun 19, 2011, updated at Oct 18, 2012 at 16:47:18 (UTC)
Goto Top
Das könnte klappen wenn der .1x Client sie auch übermittelt. Es ist m.E. auch möglich das im Client einzustellen. Vielleicht hilft dir das WLAN Tutorial weiter was mit Zertifikaten arbeitet:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Das könntest du mal versuchen.
Member: Nachtfalkeaw
Nachtfalkeaw Jun 19, 2011 at 10:30:25 (UTC)
Goto Top
Danke!
Da schaue ich auf jeden Fall mal rein. Da muss es doch eine Lösung geben...und wenn ich noch tagelang Google bemühen muss face-wink
Member: Nachtfalkeaw
Nachtfalkeaw Jun 19, 2011 at 16:11:39 (UTC)
Goto Top
Das hilft mir auch nicht wirklich weiter. Der einzige Unterschied ist, dass der Benutzername und das Kennwort bei den Clients im Configuration Utility eingibt.
Member: aqui
aqui Jun 20, 2011 at 09:55:15 (UTC)
Goto Top
Dann wirds wirklich schwierig. Da hilft dann vermutlich wirklich nur noch Mac Adress basierte VLANs mit .1x oder die Umstellung deiner User/Passwort Struktur. Denn letztlich ist das dein ursächliches Problem.
Member: Nachtfalkeaw
Nachtfalkeaw Jun 20, 2011 at 18:15:30 (UTC)
Goto Top
Hi,

ich weiss, die Technik kann nichts dafür. Sie funktioniert, wie sie soll. Das problem liegt leider oftmals bei Schicht 8.
Ich werde es nun erst einmal auf MAC Basis machen, auch das funktioniert vom Ergebnis einwandfrei. Lediglich die Sicherheit ist halt nicht so hoch wie bei Zertifikaten. Das Ganze wird eben Stück für Stück wachsen müssen.

PS: Besteht Interesse daran, dass ich mal eine running-config eines SG300-28 mit dynamischer VLAN Zuordnung hoch lade umd dein Tutorial zu Ergänzen oder ist das unnötig ? Wenn die Geräte das machen, was im Datenblatt steht, ist es eigentlich nicht schwer zu konfigurieren.

Gruße und Danke für die Hilfe!
Member: Mike1974
Mike1974 Oct 05, 2011 at 13:23:59 (UTC)
Goto Top
Hi,
ich habe eine Frage zum Kaskadieren von mehreren Switches unter 802.1x. Wir haben zB einen Cisco SG-200-26 und einen Cisco SG-200-8 in einem LAN. Der SG-200-26 ist fertig konfiguriert und als Radius dient uns Windows NPS. Das funktioniert auch bestens. Jetzt kommt leider der SG-200-8 ins Spiel, eigentlich der gleiche Switch nur mit 8 Port und leider dennoch leicht unterschiedlichen Webinterface. Ich bleibe nun schon ewig daran hängen, den 2. kleineren Switch an dem großen 26 Port Switch richtig anzuschließen. Also nicht das Anschließen mit dem Kabel, das bekomme ich schon hin, aber das richtige Konfigurieren meine ich damit. face-smile
Wenn ich am großen Switch einen Port auf forceAuthorize stelle und den kleinen daran anschließe und den Radius gleich dem Großen konfiguriere, passt alles. Nur, so soll es ja nicht sein, denn wenn jemand auf die Idee kommt den kleinen abzuhängen, kann man an diesen Port stattdessen irgendein Gerät anschließen und bekommt Zugriff.
Stelle ich den Port auf Auto, ist es mir nicht möglich den kleinen Switch so zu konfigurieren, dass der Port auf Authorized springt. Zuerst dachte ich die Einstellung Supplicant sei die richtige,aber auch da sperrte der Große den Port sofort.

Hat hier jemand schon Erfahrung mit diesen Switches?

LG Mike
Member: Nachtfalkeaw
Nachtfalkeaw Oct 05, 2011 at 20:08:00 (UTC)
Goto Top
Hi Mike,

also erstmal solltest du versuchen, dass niemand unbefugtes einfach an deinen Switches rum stöpseln kann face-wink

Ansonsten besitzt der SWITCH ja auch eine MAC Adresse "Status and Statistics -> System Summary -> Base MAC". Du könntest also versuchen am RADIUS die Authetifizierung für dieses Gerät über die MAC Adresse zu lösen.

Bin mir nicht sicher, ob das so funktioniert.
Member: Mike1974
Mike1974 Oct 06, 2011 at 07:40:17 (UTC)
Goto Top
Hi,

ja das mit dem rum stöpseln ist nicht so einfach, wir haben viele Außenstellen (zwischen 5 und 25 Usern) und dort ist nun mal das Rack offen und somit leider auch zugänglich... Mit anderen Worten: Physischen Zugriff kann ich leider nicht verhindern...

Das mit der MAC Adresse könnte funktionieren, nur mit dem NPS ist das so eine Krux - ich glaube da muss man einen User anlegen mit der MAC Adresse im Namen - eigentlich etwas was ich vermeiden wollte. Werde es aber trotzdem mal versuchen. Danke für den Tipp!

Aber so rein zwischen Switch und Switch kann man das nicht regeln? Irgendwie dachte ich an ein Forward von EAP oder so...
Member: Nachtfalkeaw
Nachtfalkeaw Oct 06, 2011 at 20:48:09 (UTC)
Goto Top
Hi,

wenn du VLANs nutzt, dann könntest du an den TRUNK ports z.B. nur geTAGGEDte Pakete zulassen. So müsste derjenige schon an seinem laptop/PC die Netzwerkeinstellungen ändern bzw. an der NIC einstellen, dass diese tagged frames verarbeiten soll.

Ich weiss nicht, wie ihr das bei euch geregelt habt, aber um Netzwerkeinstellungen zu ändern brauchen die User ja entsprechende Rechte.

Du könntest aber auch an dem 8er Switch die RADIUS Authentifizierung ausstellen und den switch einfach als "dummen" switch an einen mit RADIUS Authentifizierung eingestellten Port am 28er Switch anschließen. Wenn der Port am 28er im "General" Mode läuft, kann er MAC basiert den Traffic filtern. Er kann den Port auch in verschiedene VLANs gleichzeitig legen.

Ich weiss nicht, ob die switche ansonsten eine Möglichkeit bieten, jeden Port nur eine MAC Adresse statisch zuzuweisen die erlaubt wird.


Andere Möglichkeiten fallen mir leider nicht ein. Ich habe für jeden Switch einen eigenen Uplink zum Core-Switch und meine Technikschränke sind abgeschlossen und nicht für jeden zugänglich.
Member: Mike1974
Mike1974 Oct 07, 2011 at 10:23:57 (UTC)
Goto Top
Danke für deine Hinweise, leider kann ich beide nicht umsetzen. Die Switches SG-200-x sind aus der Small Business Linie und kennen nicht einmal das Wort Trunk oder Tagged und sie keine Layer 3 Switche sind, können die VLANs auch nicht routen.

Bzgl physischen Zugriff: Da wir viele verteilte kleine Büros haben, lassen sich physische Zugriffe nicht wirklich umsetzen...

Auch mit der Restriktion auf die MAC scheint es nicht rosig, zumindest finde ich der Beschreibung nichts dazu. Tja, so wie es aussieht wird der Port wohl offen bleiben müssen... face-sad
Member: Nachtfalkeaw
Nachtfalkeaw Oct 07, 2011 at 19:00:08 (UTC)
Goto Top
Hallo Mike,

du solltest dich noch einmal etwas besser in das Handbuch einlesen:

http://www.cisco.com/en/US/docs/switches/lan/csb_switching_general/admi ...

Die Seiten ab 106 sind für die VLAN Erstellung.
Seite 165 hilft dir beim Thema RADIUS.


Ich hatte die SG200-28 und nun die SG300-28 Switche von CISCO. Und selbstverständlich können BEIDE Serien VLANs. Und sie können natürlich TAGGED und UNTAGGED (das ist ja Grundlage für VLANs) und sie können auch MAC basierte Authentifizierung an den Ports.

Ein Layer 3 Switch ist ebenfalls nicht notwendig für VLANs. Lediglich benötigt man ein Layer 3 Gerät um die VLANs untereinander zu verbinden. Das läuft über einen Router. Layer 3 Switche haben die Funktionalität eines Switches (Layer 2) und noch zusätzliche Funktionen eines Routers (Layer 3)
Member: Mike1974
Mike1974 Oct 18, 2011 at 13:18:04 (UTC)
Goto Top
Hallo,

danke für deine Hinweise! Leider habe ich es bis jetzt nicht geschafft den SG200-08 mittels MAC-Adresse zuzulassen. Dabei habe ich auch diesen Artikel (http://technet.microsoft.com/en-us/library/dd197535%28WS.10%29.aspx) durchgemacht, leider erfolglos.

Bzgl. VLANs: Wir haben eben leider kein Layer 3 Device zum Routen der VLANs - demnach kann ich sie auch nicht verwenden.

Ich bin aber dafür über neues, ziemlich ungewöhnliches, Problem gestoßen. Wenn ich den SG 200-08 als Radius Client konfiguriere sendet er das Attribut "Account Name" mit max. 32 Zeichen, alles darüber wird einfach abgeschnitten. Der String kommt im Format host/<dNSHostName> und wenn dieser länger als 32 Zeichen ist, beschwert sich der NPS über eine nicht existente Domäne - wobei er natürlich recht hat.
Das Problem tritt nicht auf wenn ich den Rechnernamen derart kürze, sodass der String <= 32 Zeichen ist und beim SG 200-26, der hat das Limit nicht.

Irgendwie kann das doch nur ein Bug sein, was meint ihr?
Member: aqui
aqui Oct 19, 2011, updated at Oct 18, 2012 at 16:48:49 (UTC)
Goto Top
@Mike1974
Bezgl. VLANs: Du kannst aber immer und problemlos einen externen Router an deinen Switch anschliessen und über diesen die VLANs routen !
Hier steht wie man sowas macht:
VLAN Installation und Routing mit pfSense, Mikrotik, DD-WRT oder Cisco RV Routern
Mit einem 30 Euro Mikrotik 750er Router ist das dann ein sehr preiswertes Kinderspiel !
Member: schramlschnaith
schramlschnaith Oct 26, 2011, updated at Oct 18, 2012 at 16:48:54 (UTC)
Goto Top
Hallo,

bezugnehmend auf mein Thema: Neues Netzwerk 10 GBit VMware und VLAN mit IEEE 802.1X Microsoft NAP
Ich habe die Hardware jetzt bekommen und schon einiges an Theorie zwecks dem Einrichten von 802.1x gelesen.
Die Brocade Turboiron wird bei mir ja die Core Switch, diese konfiguriere ich so wie oben. Das klappt denke ich auch.
die VLANs richte ich auf allen Switche gleich ein - routing macht dann die Brocade. Die ganzen HP ProCurve Switch verbinde ich als Tagged Ports mit der Brocade wegen den VLANs.

Was ich jetzt nicht verstanden habe. Muss ich die HP ProCurve Switche (kaskadiert an Brocade) auch so konfigurieren wie oben beschrieben, dass sie auch direkt am NAP Server anfragen ob der Client berechtigt ist oder holt sich sie Switch die Informationen über die Core der Brocade und ich mache den Port an dem die HP Switch hängt auch als authenticator?

Wie funktioniert das? Oder macht das die Brocade sowieso automatisch und ich muss an den HP Switchen garnichts einstellen weil die Ports getagged sind?

DANKE
Member: Nachtfalkeaw
Nachtfalkeaw Oct 26, 2011 at 17:35:36 (UTC)
Goto Top
Die Authentifizierung gegenüber dem RADIUS sollte an jedem Switch stattfinden. Es macht ja keinen Sinn, dass der client sich am HP Switch anmelden kann und Zugriff darauf hat und dann erst der Zugang an deinem Core Switch blockiert wird. Die Zugangskontrolle soll ja am Port stattfinden, wo der Client drinne steckt.

Ich lasse jedenfalls alle meine Switches gegen den RADIUS authetifizieren. Den Core-Switch hingegen habe ich mir gespart, da sind eh nur trunk ports drauf und da wird auch niemals ein client direkt angeschlossen. Wozu als gegen den RADIUS authetifizieren lassen.
Member: aqui
aqui Oct 27, 2011 at 10:09:22 (UTC)
Goto Top
Ja, das ist absolut richtig ! Uplink Ports authentisiert man in der Regel nie !
Member: schramlschnaith
schramlschnaith Oct 27, 2011 at 14:51:39 (UTC)
Goto Top
Ok macht sinn face-smile

Fragen über Fragen.....bin jetzt grad am VLAN einrichten auf der Brocade Turboiron 24x und am verzweifeln.

Hab ein VLAN angelegt und ein Port hinzugefügt

enable
Configure terminal
vlan 2 name Test
Switch(config-vlan-2)#tagged Ethernet 8 (Uplink zur HP ProCurve Switch)

wenn ich dem VLAN jetzt eine IP Adresse zuweisen will funktioniert es einfach nicht oder ich machs falsch.

Switch(config-vlan-2)# ip address 192.168.3.1 255.255.255.0 --> ändert mir die Haupt IP Adresse der Switch und ich verliere meine Telnet Verbindung.
Switch# interface vlan 2 --> kommt falscher Befehl

Was mach ich falsch? Bzw. wie vergebe ich hier die IP Adresse für jedes VLAN?

Kann es sein das ich in der Switch irgendwie Layer 3 IP noch aktivieren muss?

Danke
Member: aqui
aqui Oct 27, 2011 at 16:06:34 (UTC)
Goto Top
Du machst das völlig falsch mit der IP Adresse ! Der TI ist keine HP Gurke...also mal das TI Handbuch lesen !!
So sieht die funktionierende Konfig auf dem TurboIron aus:
!
vlan 1 name DEFAULT-VLAN by port
!
vlan 2 name Test
tagged ethe 8
untagged ethe 9
(--> um hier im VLAN 2 mal ein Endgerät anzuschliessen !)
router-interface ve 2
(--> DAS definiert dir dein Routing Interface im VLAN 2 !)
!
interface ve 2
port-name VLAN-2 IP Adresse
ip address 192.168.3.1 255.255.255.0
!

Fertig ist der Lack
Achtung: der TI24 sendet das default VLAN 1 am Tagged Link zum HP nicht parallel untagged wie der HP das erwartet !!
Dazu musst du den Port 8 etwas "anpassen":
!
Interface eth 8
port-name Tagged Uplink zum HP
dual-mode 1
!

Schon klappts auch mit der HP Gurke !
Nochmal ACHTUNG: HP supportet KEIN Per VLAN Spanning Tree !! Der TI macht das im Default. Du musst den TI also auf Single Spann umstellen sofern du überhaupt Spanning Tree machst ?!

Weitere Fragen bitte per PM um das Tutorial hier nicht allzu aufzublähen !
Member: panguu
panguu May 16, 2014, updated at May 17, 2014 at 16:20:38 (UTC)
Goto Top
Hallo. Habe gerade dieses Tutorial und die Kommentare dazu gelesen. Einiges ist mir noch nicht ganz klar geworden und ich hoffe ihr könnt mich aufklären. Leider habe ich mehrere SG200-Modelle,aber nur einen einzigen SG300. Das erwähne ich in dem Zusammenhang, weil die SG200 Modelle kein dynamisches 802.1X können und ich somit dieses tolle Feauture nicht nutzen könnte, dass ein User seine VLAN-Zugehörigkeit komfortabel mitnehmen kann, wenn er umzieht innerhalb der Firma.

Habe nur einen einzigen SG300, aber der sitzt im Keller. Würde ich dynamisches 802.1X verwenden wollen, so daß sich User per RADIUS authentifizieren und ihre VLAN-Zugehörigkeit mitnehmen bei einem Umzug, müssen das ALLE bteiltigten Switche dazwischen im Netzwerk können? Oder würde es schon reichen, wenn ich nur einen einzigen SG300 habe, auf dem ich das RADIUS-Zeugs einrichte?

Bsp.:
- im 2.OG gibt's einen SG200, dort sind alle Clients angeschlossen.
- im 1.OG gibt's einen SG200, dort sind auch Clients angeschlossen
- im UG gibt's einen SG300, dort sind keine Clients aktiv, nur Tk-Anlage, und paar weitere unwichtige Hosts. Aber fakt ist, dass der SG300 eben im UG sitzt face-sad
- diese 3 Switche sind miteinander verbunden.

Im UG am SG300 richte ich nun RADIUS ein, also quasi die Zuordnung der User zu ihrer VLAN-Zugehörigkeit, die sie haben sollen.

Wenn der User im 2.OG nun seinen Rechner einschaltet, würde er sich durch den SG200 im 2.OG bis hin zum Keller SG300 durchschlingen können, damit der RADIUS-Server dort am SG300 die Abfrage durchführt? Leiten die Switche RADIUS-Informationen weiter? Oder muss ich zwingend an jedem einzelnen Switch RADIUS aktiviert haben? müssen also sämtliche Switche in der Kette RADIUS- und dynamisches 802.1X fähig sein?

Ich glaub ich hab auch nicht so richtig den Unterschied zwischen RADIUS-Server und NAS verstanden. Laut Wikipedia-Eintrag (http://de.wikipedia.org/wiki/IEEE_802.1X#Das_Dienstspektrum_und_die_Ben ..) könnte ich also mein Ziel trotzdem erreichen? Wenn ja, wie? Könnte ich z.B. innerhalb meiner Serverfarm einfach einen FreeRadius installieren (z.B. auf Debian Wheezy) und diesen als Authentication Server (AS) nutzen? Trage ich dann in meinen gesamten Switches ein, dass der Radius-Server, also mein Authentication Server (AS) die Debian-Kiste ist? Und auf der Debian-Kiste könnte ich den Freeradius auch an mein AD anbinden, so daß die User ihre vorhandenen Benutzer/Passwortkombinationen nutzen können? Wo würde dann aber die Zuordnung erfolgen, welcher User zu welchem VLAN zugeordnet werden soll? Richte ich das ebenfalls auf der Debian-Kiste am Freeradius ein? Wenn sich dann quasi ein User, der an einem SG200-Switch eingesteckt ist, sein OS (z.B. Win7 hochfährt) und der 802.1X Supplicant anmelden möchte, wird sein request über den SG200 Switch bis zur Debiankiste weitergeleitet, dort findet die Authentisierung statt, und mittels dieser Tunneling-Protokolle schickt die Debian-Kiste die Info wieder zurück an den Switch an dem der User angeschlossen ist, und der SG200 diesen Client-Port in entsprechende VLAN-Zugehörigkeit um? Dann wäre der AD also die Debiankiste und der NAS der SG200-Switch an dem der client angeschlossen ist? Oder hab ich das komplett missverstanden ?

PS: Kann der Cisco Catalyst 3560, oder der C3550 auch 802.1X und 802.1q so dass ich die auch nutzen kann für mein Vorhaben ? In dem datasheet (http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-3560 ..) konnte ich keine Infos zu dynamischen 802.1X findendazu finden.
Member: aqui
aqui May 16, 2014, updated at May 18, 2014 at 10:15:49 (UTC)
Goto Top
SG200 Modelle kein dynamisches 802.1q können
Das ist technischer Unsinn denn sowas gibt es nicht aber weisst du vermutlich selber.
Erstmal ist 802.1q VLAN Tagging und hat mit dieser Thematik hier nicht das Geringste zu tun. Wenn, dann also 802.1x.
Du meinst damit dann vermutlich die dynamische VLAN Zuordnung bei 802.1x, richtig ??
Korrigier das besser oben denn der Fehler tritt dort öfter auf und verwirrt Leser hier nur unnötigerweise !

ich hoffe ihr könnt mich aufklären.
Wenns Radius technisch ist geben wir mal wie immer unser Bestes...

müssen das ALLE bteiltigten Switche dazwischen im Netzwerk können?
Nein, natürlich nicht !
Logischerweise NUR diese wo ein 802.1x Client, also vermutlich ein Enduser angeschlossen ist ! Auf den Uplink Ports der Switches hat das (meistens) nichts zu suchen.
802.1x ist immer eine direkte Client Beziehung.
Wenn du z.B. einen WLAN AP am Switch angeschlossen hast macht DIESER dann 802.1x zu den WLAN Clients nicht der Switchport. Allerdings....
Willst du diesen ja absichern damit nicht Fritzchen Müller aus der Poststelle seinen Blödmarkt AP bei dir ins Netz hängt und die Poststelle mit ihren Smartphones frei bei YouPorn surfen lässt.
Analog gilt das für kleine non-managed 5 Port Switches...die willst du auch nicht haben.
Diese Geräte müssen gegenüber deinen 802.1x gesicherten Edge Ports aber wieder 802.1x Clients sein wenn sie bei dir in dein .1x gesichertes Netz wollen.
Wenn du so willst ist der AP oder der kleine Switch dann gleichzeitig 802.1x Authenticator UND .1x Client.
Am Beispiel deiner SG-200 Switches kannst du das sehr schön sehen, denn du kannst an jedem Port einstellen ob er da eben Authenticator spielen soll oder ob er da .1x Client ist !
Mal Handbuch lesen vielleicht... face-wink

Ich glaub ich hab auch nicht so richtig den Unterschied zwischen RADIUS-Server und NAS verstanden
Das mag sein zumal das Wort "NAS" hier nix mit einem "Network Attached Storage" zu tun hat, deshalb sollte man diesen Begriff besser vermeiden, denn viele raffen halt nicht was Network Access Server und ein Storage NAS sind, oder eben genau NICHT sind, und verwiirt nochmehr.

Könnte ich z.B. innerhalb meiner Serverfarm einfach einen FreeRadius installieren (z.B. auf Debian Wheezy) und diesen als Authentication Server (AS) nutzen?
Ja, natürlich, das ist der Sinn der Sache. Ob das ein Raspberry_Pi ist als Radius Server eine Winblows Möhre oder ob das ein dedizierter Windows/Unix Bolide ist oder eine kleine VM irgendwo spielt dabei keinerlei Rolle.
Wichtig ist nur das sie Radius spricht und IP seitig von den Netzwerk Komponenten, die .1x Authenticator sind, erreichbar sind.
Der Radius Server Port sollte also selber tunlichst nicht mit .1x geblockt sein....logisch face-wink

Und auf der Debian-Kiste könnte ich den Freeradius auch an mein AD anbinden, so daß die User ihre vorhandenen Benutzer/Passwortkombinationen nutzen können?
Ja, sicher das ist problemlos möglich. Wie das erklärt dir das FreeRadius_Tutorial hier im Forum.
Etwas einfacher ginge es wenn du auf dem Winblows AD direkt den NPS (Network Policy Server) startest. Du sparst dir das Einklinken des Debian Radius via LDAP ans AD. Microsoft NPS ist nix anderes als ein simpler Radius Dienst.
Beide Lösungen funktionieren fehlerlos.

Wo würde dann aber die Zuordnung erfolgen, welcher User zu welchem VLAN zugeordnet werden soll?
Immer da wo der User mit seinen Credentials registriert ist. Bei dir dann im AD natürlich wenn du dort alle User verwaltest !
Wenn du es zweigeteilt machst fragt der FreeRadius über LDAP nur den User an beim AD, spricht aber Radius mit dem .1x Client.
Mit NPS macht Windows das dann direkt über die AD Datenbank.

wird sein request über den SG200 Switch bis zur Debiankiste weitergeleitet, dort findet die Authentisierung statt, und mittels dieser Tunneling-Protokolle schickt die Debian-Kiste die Info wieder zurück an den Switch an dem der User angeschlossen ist, und der SG200 diesen Client-Port in entsprechende VLAN-Zugehörigkeit um?
Fast richtig.... Dazwischen ist dann noch der LDAP über den der FreeRadius die AD User und die VLAN Credentials am AD abfragt. Du verwaltest ja die User zentral im AD und willst das logischerweise ja nicht 2mal tun.

Dann wäre der AD also die Debiankiste und der NAS der SG200-Switch an dem der client angeschlossen ist? Oder hab ich das komplett missverstanden ?
Das hast du dann vollkommen missverstanden aber mit den obigen Erklärungen ist es ja nun vermutlich klarer geworden bei dir ?!

Kann der Cisco Catalyst 3560, oder der C3550 auch 802.1X und 802.q so dass ich die auch nutzen kann für mein Vorhaben ?
Das kann er natürlich wie Millionen andere Switches unterschiedlicher Hersteller auf der ganzen Welt die die beiden Standards 802.1q und 802.1x supporten.
Mal ganz abgesehen von der Tatsache das diese Frage bei einem Premium Switch bzw. Hersteller eigentlich völlig überflüssig ist....aber weisst du vermutlich auch selber ! Nicht vergessen: .1q VLAN Tagging hat mit .1x Port Security per se nichts zu tun !
"Dynamischer 802.1q" ist technischer Blödsinn aber das steht oben ja schon.
Member: panguu
panguu May 17, 2014 at 17:42:16 (UTC)
Goto Top
Das ist technischer Unsinn denn sowas gibt es nicht aber weisst du vermutlich selber.
Erstmal ist 802.1q VLAN Tagging und hat mit dieser Thematik hier nicht das Geringste zu tun. Wenn, dann also 802.1x.
Du meinst damit dann vermutlich die dynamische VLAN Zuordnung bei 802.1x, richtig ??
Korrigier das besser oben denn der Fehler tritt dort öfter auf und verwirrt Leser hier nur unnötigerweise !
Ja, das meinte ich. Sorry, wollte keinen damit irritieren. Hab's in meinem Beitrag korrigiert.

Wenn du so willst ist der AP oder der kleine Switch dann gleichzeitig 802.1x Authenticator UND .1x Client.
Am Beispiel deiner SG-200 Switches kannst du das sehr schön sehen, denn du kannst an jedem Port einstellen ob er da eben
Authenticator spielen soll oder ob er da .1x Client ist !
Das hab ich jetzt danke deines Beispiels verstanden. Danke

Das mag sein zumal das Wort "NAS" hier nix mit einem "Network Attached Storage" zu tun hat, deshalb sollte
man diesen Begriff besser vermeiden, denn viele raffen halt nicht was Network Access Security und ein Storage NAS sind oder
eben nicht sind und verwiirt nochmehr.
Nunja, das storage NAS hab ich damit eigentlich nicht gemeint, das hat hier auch nix verloren face-smile Ich meinte mit NAS eigentlich "Network Access Server". Aber ich hab soeben eine Aussage auf Wikipedia gesehen, die mir nun meine Frage beantwortet hat. Da heißt es nämlich:
"Im Kontext der RADIUS-Terminologie wird statt des Begriffs „Authenticator“ der Begriff Network Access Server (NAS) verwendet. Einwählende Computer betrachten den NAS als Server. Aus der Sicht des RADIUS-Servers ist der NAS hingegen ein Client."

Wenn ich das also richtig interpretiere, dann ist damit folgendes gemeint:

Debian Host im LAN<------------->Switch mit 802.1X Port<---------------------->Client
=Freeradius-Server..............................=NAS...............................................=802.1X Supplicant

Etwas einfacher ginge es wenn du auf dem Winblows AD direkt den NPS (Network Policy Server) startest. Du sparst dir das Einklinken
des Debian Radius via LDAP ans AD. Microsoft NPS ist nix anderes als ein simpler Radius Dienst.
Ooops, ich hätte erwähnen sollen dass es sich bei meinem AD um samba4 handelt, also kein Window$

> Wo würde dann aber die Zuordnung erfolgen, welcher User zu welchem VLAN zugeordnet werden soll?
Immer da wo der User mit seinen Credentials registriert ist. Bei dir dann im AD natürlich wenn du dort alle User verwaltest !
Wenn du es zweigeteilt machst fragt der FreeRadius über LDAP nur den User an beim AD, spricht aber Radius mit dem .1x
Client.
Mit NPS macht Windows das dann direkt über die AD Datenbank.
Das habe ich jetzt nicht verstanden. Ich meinte jetzt nicht, wo der Abgleich gemacht wird, ob der User Max Mustermann sich korrekt authentifiziert hat, sondern: wo trage ich diese dynamische Zuordnung des VLANs anhand dem angemeldeten User ein? Genau dafür interessiere mich nämlich. Ich würde gerne erreichen, dass sich ein User per 802.1X anmelden muss, und anhand seinem Login bekommt er dann automatisch die VLAN-ID, zu der er gehört. Wird das also im Falle das ich Samba4 als AD verwende, dort im AD als irgendein Attribut das gespeichert?

Fast richtig.... Dazwischen ist dann noch der LDAP über den der FreeRadius die AD User und die VLAN Credentials am AD
abfragt. Du verwaltest ja die User zentral im AD und willst das logischerweise ja nicht 2mal tun.
Der LDAP-Server läuft doch auf der Debian-Kiste, auf der auch samba4 (mein ActiveDirectory) laufen wird, oder nicht? Ich dachte, das ist Bestandteil von samba4's AD...korrigier mich bitte falls ich falsch liegen sollte.

Bitte nicht hauen, aber mir ist immer noch unklar, ob ich mit den SG200-Switche mein Vorhaben realisieren kann, oder ob das schlichtweg nicht funktionieren kann weil die SG200-Modelle diese dynamische Zuordnung ins VLAN nicht können, nachdem sich ein User per 802.1X authentifiziert hat? Oder reicht es, wenn der Freeradiusserver auf der Debiankiste das evtl. machen kann, und diese Information durch dieses tunneling-Gedöns wieder an den SG200 antwortet, so daß der SG200 daraufhin den besagten Port in das entsprechende VLAN packt?
Member: aqui
aqui May 18, 2014 updated at 10:25:50 (UTC)
Goto Top
Wenn ich das also richtig interpretiere, dann ist damit folgendes gemeint:
Leider kann man die Zeichnung wegen der Forums Formatierung nicht richtig lesen.
Besser du umfasst die ASCII Zeichnung mit den "code plain" Tags im Text damit man genau sehen kann am Bild wie du es meinst !

ich hätte erwähnen sollen dass es sich bei meinem AD um samba4 handelt, also kein Window$
Bingo ! Umso besser, dann erübrigt sich die ganze Frickelei mit Winblows. face-smile
Auch erübrigt sich die Frage mit LDAP, denn dann muss man die ganze Kopplung mit dem Windows AD ja nicht machen und alles passiert auf deinem Samba4 AD direkt. Den ganzen Part kannst du dann vergessen...

Ich dachte, das ist Bestandteil von samba4's AD...korrigier mich bitte falls ich falsch liegen sollte.
Nein, du hast natürlich Recht. Das ist genau so wie du sagst !

ob ich mit den SG200-Switche mein Vorhaben realisieren kann
Die Antwort darauf ist ganz einfach:
  • Ja, wenn du nur eine reine Port Authentisierung nach Mac, User Pass oder Zertifikat machen willst
  • Nein, wenn du zusätzlich zum obigen noch eine dynamische VLAN Zuweisung des Ports machen willst, denn das ist ein Feature was die SG oder SF 200er Serie NICHT supporten ! Erst die SF oder SG 300er supporten das Feature dynmaische VLAN Zuweisung. (Siehe dazu auch Tutorial Thread vom User Nachtfalkeaw )

Das dynamische Zuweisen von VLANs mit 802.1x ist ein Switch Feature was die Switch Firmware supporten MUSS ! Hier lohnt also immer ein etwas genauerer Blick ins Handbuch oder Datenblatt des Herstellers !
Member: panguu
panguu May 19, 2014 at 07:25:18 (UTC)
Goto Top
Danke für's feedback. Mensch, das ist echt blöd. Hätte das gerne so umgesetzt ... aber meine ganzen SG200 jetzt wieder gegen teurere SG300 zu ersetzen ist leider nicht mehr drin face-sad

Naja, dann muss ich eben reines 802.1X nach Port,User oder ... einrichten ohne dynamische VLAN-Zuweisung.
Member: wuestenfuchs
wuestenfuchs Mar 23, 2020 updated at 15:47:33 (UTC)
Goto Top
Danke für die ausführliche Anleitung!

Ich frage mich allerdings, wie es um die Ausfallsicherheit eines solchen Setups bestellt ist. Was passiert mit dem Switch, wenn der RADIUS-Server mal down ist? Steht dann das Netzwerk? Was passiert mit bereits authentifizierten supplicants (z.B. Servern)? Verlieren die ihre VLAN-Zuordnung und landen im Default VLAN? Oder werden die gleich ganz gekappt? Und was ist mit supplicants, die sich neu authentifizieren wollen (z.B. neuer Client wird am Switch eingestöpselt)?

Gibt es da nicht auch ein Henne-Ei-Problem? Der Host, auf dem der RADIUS-Server läuft, muss ja erst eine Netzwerk-Konnektivität zum Switch aufbauen. Wie geht das, wenn der Switch den RADIUS-Host gar nicht authentifizieren kann und der Host somit keine Verbindung zum Switch aufbauen kann?

Oder denke ich mal wieder viel zu kompliziert?
Member: aqui
aqui Mar 23, 2020 updated at 18:24:36 (UTC)
Goto Top
Das ist ein generelles Problem bei allen Authentisierungslösungen. Was passiert in einem Winblows Netz wenn der AD abraucht usw.
Vernüftige Netzwerker halten deshalb eine so wichtige Infrastruktur immer doppelt vor (Redundanz). Idealerweise auf einer VM so das man auch bei Ausfall des Hypervisors die VM schnell umziehen kann. Der Hypervisor ist dann mit LACP LAGs o.ä. ebenfalls immer redundant an die Infrastruktur angebunden. Selbige ist natürlich auch redundant im Core.
Solche Strukturen sind ja in so gut wie allen Netzen mittlerweile vorhanden.
Gibt es da nicht auch ein Henne-Ei-Problem?
Nein, nicht wenn es mit Redundanz richtig gemacht ist !
Was passiert mit bereits authentifizierten supplicants (z.B. Servern)?
Server betreibt man logischerweise niemals an 802.1x authentisierten Ports ! Muss man auch nicht denn die sind immer in gesicherten Räumen.
Und was ist mit supplicants, die sich neu authentifizieren wollen
Man gibt in der Radius Konfig entweder eine Range an für die Supplicants das die automatisch akzeptiert werden (üblich) oder gibt statisch eine Hostliste an.
Oder denke ich mal wieder viel zu kompliziert?
Vermutlich ?! face-wink
Member: wuestenfuchs
wuestenfuchs Apr 28, 2020 at 10:55:36 (UTC)
Goto Top
Zitat von @aqui:
Oder denke ich mal wieder viel zu kompliziert?
Vermutlich ?! face-wink

Ja, ich merks schon face-smile Okay, Server ohne 802.1x und mit statischen IPs. Das war der Fehler in meinem Gedankenexperiment - ich bin davon ausgegangen, dass sich auch die Server authentifizieren, was natürlich unnötig ist.

Danke fürs Geraderücken!
Member: aqui
aqui Apr 28, 2020 at 11:13:19 (UTC)
Goto Top
Danke fürs Geraderücken!
Immer gerne.. face-wink
Member: raddi
raddi Dec 20, 2022 at 18:59:08 (UTC)
Goto Top
Hallo,

lässt sich diese Lösung auch auf WLAN mit cAP und CAPsMAN übertragen?

Das Thema hatten wir Anfang des Jahres hier mal diskutiert. Damals ging es nicht face-sad
Vielleicht geht es ja jetzt.
Member: aqui
aqui Dec 20, 2022 updated at 19:13:27 (UTC)
Goto Top
lässt sich diese Lösung auch auf WLAN mit cAP und CAPsMAN übertragen?
Aber natürlich! Klappt fehlerlos und mit der vollständigen Radius Lösung in der Router OS Ver. ab 7.3 nun auch umfassend ohne externen Radius! 😉

Guckst du hier:
Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik

Weitere Mikrotik bezogene Infos zu dem Thema auch in diesen Threads:
Mikrotik - dyn-vLAN und MAC-auth in ROS 7.2
Mikrotik: Wifi clients in anderes VLAN schieben?
Member: raddi
raddi Dec 21, 2022 at 15:55:01 (UTC)
Goto Top
Aber natürlich! Klappt fehlerlos und mit der vollständigen Radius Lösung in der Router OS Ver. ab 7.3 nun auch umfassend ohne externen Radius! 😉
Dann werde ich das mal in den nächsten Tagen testen. 😅, allerdings mit externem Radius.
Bisher ist eine Kombi mit (a) Name/Passwort und (b) MAC (für nicht 802.1x-Clients), an der fehlenden Übermittlung der MAC an den Radius gescheitert.
Ich werde es testen und berichten 😁
Member: Ueba3ba
Ueba3ba May 23, 2023 at 15:47:32 (UTC)
Goto Top
Danke aqui für das Tutorial.

Ich konnte es erfolgreich mit einem Cisco Catalyst 3750 testen.

Ein Test mit einem, jetzt schlag mich net, HP OfficeConnect 1920S schlug leider fehl.
Am Switch ist alles richtig konfiguriert, leider kommt am freeradius nicht, 0,nix an.

Ist wem dieses Problem bekannt?
Member: aqui
aqui May 23, 2023 updated at 17:09:46 (UTC)
Goto Top
HP OfficeConnect 1920S schlug leider fehl.
Sprich du hast mit tcpdump -i eth0 port 1812 am Server generell mal gecheckt ob dort überhaupt Radius Pakete vom Switch eingehen??
Wenn dort gar nix kommt dann ist ja weniger der Radius Server der Buhmann als der HP Switch. Zumal er ja seine korrekte Funktion mit dem Catalysten schon bewiesen hat.
Wenn der HP schon nix sendet hat der Server ja nix zum Authentisieren....
Ich meine ich habe hier noch einen 1920er rumliegen und kann das mal checken. Obwohl das ein GUI ist für.... ist. face-wink

Übrigens gibt es im Forum eine Modernisierung für das FreeRadius Setup: 😉
Freeradius Management mit WebGUI
Member: Ueba3ba
Ueba3ba May 23, 2023 at 19:09:15 (UTC)
Goto Top
Danke für deinen Beitrag aqui.


Sprich du hast mit tcpdump -i eth0 port 1812 am Server generell mal gecheckt ob dort überhaupt Radius Pakete vom Switch eingehen??

Nein, daran habe ich leider nicht gedacht. Werde ich aber morgen nachholen.

Übrigens gibt es im Forum eine Modernisierung für das FreeRadius Setup: 😉
Freeradius Management mit WebGUI

Nach dieser Anleitung habe ich auch gearbeitet. Fand es nur passender in diesem Thread zu schreiben.

Zur Ergänzung:

Am Catalysten klappt die MAC Authentifizierung.
Sobald ich in Windows 10 den Service aktiviere und alle Einstellungen gemäß deiner Anleitung konfiguriere,
klappt es leider nicht.

Also mit Benutzernamen und Passwort Authntifizierung bekomme ich keine Verbindung zustande.

Ich habe meine Konfig überprüft und konte bis jetzt keinen Fehler entdecken.

Hier mal einen Auszug aus dem freeradius Debug:


Catalyst Debug:
Switch#
May 23 18:57:18.650: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/14, changed state to down
May 23 18:57:20.655: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/14, changed state to up
May 23 18:57:24.254: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/14, changed state to down
May 23 18:57:25.252: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/14, changed state to down
May 23 18:57:26.376: AAA/AUTHEN/8021X (00000000): Pick method list 'default'  
May 23 18:57:26.376: AAA/AUTHEN(00000000): There is no General DBReply Method Index details may not be specified
May 23 18:57:26.376: RADIUS/ENCODE(00000000):Orig. component type = Invalid
May 23 18:57:26.376: RADIUS(00000000): Config NAS IP: 192.168.178.254
May 23 18:57:26.376: RADIUS(00000000): Config NAS IPv6: ::
May 23 18:57:26.376: RADIUS(00000000): sending
May 23 18:57:26.376: RADIUS: Message Authenticator encoded
May 23 18:57:26.376: RADIUS(00000000): Send Access-Request to 192.168.178.72:1812 onvrf(0) id 1645/212, len 261
May 23 18:57:26.376: RADIUS:  authenticator F2 E3 F2 56 30 0A F1 82 - E3 74 95 E9 4E 1F EF 49
May 23 18:57:26.376: RADIUS:  User-Name           [1]   14  "e4115b2c0e3b"  
May 23 18:57:26.376: RADIUS:  User-Password       [2]   18  *
May 23 18:57:26.384: RADIUS:  Service-Type        [6]   6   Call Check                [10]
May 23 18:57:26.384: RADIUS:  Vendor, Cisco       [26]  31
May 23 18:57:26.384: RADIUS:   Cisco AVpair       [1]   25  "service-type=Call Check"  
May 23 18:57:26.384: RADIUS:  Framed-MTU          [12]  6   1500
May 23 18:57:26.384: RADIUS:  Called-Station-Id   [30]  19  "A4-4C-11-19-F8-0E"  
May 23 18:57:26.384: RADIUS:  Calling-Station-Id  [31]  19  "E4-11-5B-2C-0E-3B"  
May 23 18:57:26.384: RADIUS:  Message-Authenticato[80]  18
May 23 18:57:26.384: RADIUS:   56 BA 1B 76 50 25 20 14 9D 1D 24 29 7F DF 28 85          [ VvP? $)(]
May 23 18:57:26.384: RADIUS:  EAP-Key-Name        [102] 2   *
May 23 18:57:26.384: RADIUS:  Vendor, Cisco       [26]  49
May 23 18:57:26.384: RADIUS:   Cisco AVpair       [1]   43  "audit-session-id=C0A8B2FE0000003A0A0B8833"  
May 23 18:57:26.384: RADIUS:  Vendor, Cisco       [26]  18
May 23 18:57:26.384: RADIUS:   Cisco AVpair       [1]   12  "method=mab"  
May 23 18:57:26.384: RADIUS:  NAS-IP-Address      [4]   6   192.168.178.254
May 23 18:57:26.384: RADIUS:  NAS-Port-Id         [87]  23  "GigabitEthernet1/0/14"  
May 23 18:57:26.384: RADIUS:  NAS-Port-Type       [61]  6   Ethernet                  [15]
May 23 18:57:26.384: RADIUS:  NAS-Port            [5]   6   50114
May 23 18:57:26.384: RADIUS(00000000): Sending a IPv4 Radius Packet
May 23 18:57:26.384: RADIUS(00000000): Started 5 sec timeout
May 23 18:57:26.393: AAA/AUTHEN/8021X (00000000): Pick method list 'default'  
May 23 18:57:26.393: AAA/AUTHEN(00000000): There is no General DBReply Method Index details may not be specified
May 23 18:57:26.393: RADIUS/ENCODE(00000000):Orig. component type = Invalid
May 23 18:57:26.393: RADIUS(00000000): Config NAS IP: 192.168.178.254
May 23 18:57:26.393: RADIUS(00000000): Config NAS IPv6: ::
May 23 18:57:26.393: RADIUS(00000000): sending
May 23 18:57:26.393: RADIUS: Message Authenticator encoded
May 23 18:57:26.393: RADIUS(00000000): Send Access-Request to 192.168.178.72:1812 onvrf(0) id 1645/213, len 254
May 23 18:57:26.393: RADIUS:  authenticator BB BF 16 EF DA 06 AD 33 - F4 E8 84 0B 2D 13 8C 74
May 23 18:57:26.393: RADIUS:  User-Name           [1]   11  "christian"  
May 23 18:57:26.393: RADIUS:  Service-Type        [6]   6   Framed                    [2]
May 23 18:57:26.393: RADIUS:  Vendor, Cisco       [26]  27
May 23 18:57:26.393: RADIUS:   Cisco AVpair       [1]   21  "service-type=Framed"  
May 23 18:57:26.393: RADIUS:  Framed-MTU          [12]  6   1500
May 23 18:57:26.393: RADIUS:  Called-Station-Id   [30]  19  "A4-4C-11-19-F8-0E"  
May 23 18:57:26.401: RADIUS:  Calling-Station-Id  [31]  19  "E4-11-5B-2C-0E-3B"  
May 23 18:57:26.401: RADIUS:  EAP-Message         [79]  16
May 23 18:57:26.401: RADIUS:   02 01 00 0E 01 63 68 72 69 73 74 69 61 6E         [ christian]
May 23 18:57:26.401: RADIUS:  Message-Authenticato[80]  18
May 23 18:57:26.401: RADIUS:   BB 83 6B 2B FF BB 10 13 B8 09 E9 F4 03 6D 53 B6              [ k+mS]
May 23 18:57:26.401: RADIUS:  EAP-Key-Name        [102] 2   *
May 23 18:57:26.401: RADIUS:  Vendor, Cisco       [26]  49
May 23 18:57:26.401: RADIUS:   Cisco AVpair       [1]   43  "audit-session-id=C0A8B2FE0000003A0A0B8833"  
May 23 18:57:26.401: RADIUS:  Vendor, Cisco       [26]  20
May 23 18:57:26.401: RADIUS:   Cisco AVpair       [1]   14  "method=dot1x"  
May 23 18:57:26.401: RADIUS:  NAS-IP-Address      [4]   6   192.168.178.254
May 23 18:57:26.401: RADIUS:  NAS-Port-Id         [87]  23  "GigabitEthernet1/0/14"  
May 23 18:57:26.401: RADIUS:  NAS-Port-Type       [61]  6   Ethernet                  [15]
May 23 18:57:26.401: RADIUS:  NAS-Port            [5]   6   50114
May 23 18:57:26.401: RADIUS(00000000): Sending a IPv4 Radius Packet
May 23 18:57:26.401: RADIUS(00000000): Started 5 sec timeout
May 23 18:57:26.409: RADIUS: Received from id 1645/213 192.168.178.72:1812, Access-Challenge, len 80
May 23 18:57:26.409: RADIUS:  authenticator 57 F3 42 2B 84 B0 5C C4 - 24 54 16 AA A8 D7 1A D7
May 23 18:57:26.409: RADIUS:  EAP-Message         [79]  24
May 23 18:57:26.409: RADIUS:   01 02 00 16 04 10 BD 4D 93 6D D9 E3 CB ED AF 67 43 3A B1 19 1C B3             [ MmgC:]
May 23 18:57:26.409: RADIUS:  Message-Authenticato[80]  18
May 23 18:57:26.409: RADIUS:   38 19 56 5C D7 BF BA 66 CA 30 53 5A 0E 52 4C A0         [ 8V\f0SZRL]
May 23 18:57:26.409: RADIUS:  State               [24]  18
May 23 18:57:26.409: RADIUS:   74 D0 F8 E9 74 D2 FC E4 B5 5A 95 E6 EE 28 70 23            [ ttZ(p#]
May 23 18:57:26.409: RADIUS(00000000): Received from id 1645/213
May 23 18:57:26.409: RADIUS/DECODE: EAP-Message fragments, 22, total 22 bytes
May 23 18:57:26.418: AAA/AUTHEN/8021X (00000000): Pick method list 'default'  
May 23 18:57:26.418: AAA/AUTHEN(00000000): There is no General DBReply Method Index details may not be specified
May 23 18:57:26.418: RADIUS/ENCODE(00000000):Orig. component type = Invalid
May 23 18:57:26.418: RADIUS(00000000): Config NAS IP: 192.168.178.254
May 23 18:57:26.418: RADIUS(00000000): Config NAS IPv6: ::
May 23 18:57:26.418: RADIUS(00000000): sending
May 23 18:57:26.418: RADIUS: Message Authenticator encoded
May 23 18:57:26.418: RADIUS(00000000): Send Access-Request to 192.168.178.72:1812 onvrf(0) id 1645/214, len 264
May 23 18:57:26.418: RADIUS:  authenticator D6 2C 69 81 E1 15 AC 45 - B1 9D F3 21 84 E2 7E 22
May 23 18:57:26.418: RADIUS:  User-Name           [1]   11  "christian"  
May 23 18:57:26.418: RADIUS:  Service-Type        [6]   6   Framed                    [2]
May 23 18:57:26.418: RADIUS:  Vendor, Cisco       [26]  27
May 23 18:57:26.418: RADIUS:   Cisco AVpair       [1]   21  "service-type=Framed"  
May 23 18:57:26.418: RADIUS:  Framed-MTU          [12]  6   1500
May 23 18:57:26.418: RADIUS:  Called-Station-Id   [30]  19  "A4-4C-11-19-F8-0E"  
May 23 18:57:26.418: RADIUS:  Calling-Station-Id  [31]  19  "E4-11-5B-2C-0E-3B"  
May 23 18:57:26.418: RADIUS:  EAP-Message         [79]  8
May 23 18:57:26.418: RADIUS:   02 02 00 06 03 19
May 23 18:57:26.418: RADIUS:  Message-Authenticato[80]  18
May 23 18:57:26.418: RADIUS:   F9 4F 3F 79 E2 04 A1 10 7C 4A 15 E4 EC 4F 6C 4B          [ O?y|JOlK]
May 23 18:57:26.418: RADIUS:  EAP-Key-Name        [102] 2   *
May 23 18:57:26.418: RADIUS:  Vendor, Cisco       [26]  49
May 23 18:57:26.418: RADIUS:   Cisco AVpair       [1]   43  "audit-session-id=C0A8B2FE0000003A0A0B8833"  
May 23 18:57:26.418: RADIUS:  Vendor, Cisco       [26]  20
May 23 18:57:26.418: RADIUS:   Cisco AVpair       [1]   14  "method=dot1x"  
May 23 18:57:26.426: RADIUS:  NAS-IP-Address      [4]   6   192.168.178.254
May 23 18:57:26.426: RADIUS:  NAS-Port-Id         [87]  23  "GigabitEthernet1/0/14"  
May 23 18:57:26.426: RADIUS:  NAS-Port-Type       [61]  6   Ethernet                  [15]
May 23 18:57:26.426: RADIUS:  NAS-Port            [5]   6   50114
May 23 18:57:26.426: RADIUS:  State               [24]  18
May 23 18:57:26.426: RADIUS:   74 D0 F8 E9 74 D2 FC E4 B5 5A 95 E6 EE 28 70 23            [ ttZ(p#]
May 23 18:57:26.426: RADIUS(00000000): Sending a IPv4 Radius Packet
May 23 18:57:26.426: RADIUS(00000000): Started 5 sec timeout
May 23 18:57:27.399: RADIUS: Received from id 1645/212 192.168.178.72:1812, Access-Reject, len 20
May 23 18:57:27.399: RADIUS:  authenticator 1A 7C AC 90 5F 38 51 73 - D8 C9 ED 14 BE CF 3E E9
May 23 18:57:27.399: RADIUS(00000000): Received from id 1645/212
May 23 18:57:27.399: %MAB-5-FAIL: Authentication failed for client (e411.5b2c.0e3b) on Interface Gi1/0/14 AuditSessionID C0A8B2FE0000003A0A0B8833
May 23 18:57:27.433: RADIUS: Received from id 1645/214 192.168.178.72:1812, Access-Reject, len 44
May 23 18:57:27.433: RADIUS:  authenticator D8 7B 18 A2 1C 30 4A F7 - F4 18 3B 9A 43 A6 DB 10
May 23 18:57:27.433: RADIUS:  EAP-Message         [79]  6
May 23 18:57:27.433: RADIUS:   04 02 00 04
May 23 18:57:27.433: RADIUS:  Message-Authenticato[80]  18
May 23 18:57:27.433: RADIUS:   20 C0 16 D8 BD 60 BE 16 A9 B9 45 9C 9A E5 72 C0              [  `Er]
May 23 18:57:27.433: RADIUS(00000000): Received from id 1645/214
May 23 18:57:27.433: RADIUS/DECODE: EAP-Message fragments, 4, total 4 bytes
May 23 18:57:27.433: %DOT1X-5-FAIL: Authentication failed for client (e411.5b2c.0e3b) on Interface Gi1/0/14 AuditSessionID C0A8B2FE0000003A0A0B8833
May 23 18:57:28.322: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/14, changed state to up
May 23 18:57:29.328: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/14, changed state to up
Switch#


Ich habe genügend Passwort Kombinationen versucht. Immer das gleiche.

Im DaloRadius: Wenn ich einen User Anlege und dass Passwort vergebe, habe ich auch alle möglichkeiten versucht:

Cleartext-Password
NT-Password
MD5
SHA1
User
Crypt

Nichts hat geholfen.


Ich hoffe du aqui oder ein anderes nettes und erfahrenes Forenmitglied kann helfen.
Member: Ueba3ba
Ueba3ba May 23, 2023 at 19:09:39 (UTC)
Goto Top
Max 500 Zeichen sind erlaubt. Deshalb ein zweiter Post.


freeradius Debug:

Ready to process requests
(0) Received Access-Request Id 212 from 192.168.178.254:1645 to 192.168.178.72:1812 length 261
(0)   User-Name = "e4115b2c0e3b"  
(0)   User-Password = "e4115b2c0e3b"  
(0)   Service-Type = Call-Check
(0)   Cisco-AVPair = "service-type=Call Check"  
(0)   Framed-MTU = 1500
(0)   Called-Station-Id = "A4-4C-11-19-F8-0E"  
(0)   Calling-Station-Id = "E4-11-5B-2C-0E-3B"  
(0)   Message-Authenticator = 0x56ba1b76502520149d1d24297fdf2885
(0)   Cisco-AVPair = "audit-session-id=C0A8B2FE0000003A0A0B8833"  
(0)   Cisco-AVPair = "method=mab"  
(0)   NAS-IP-Address = 192.168.178.254
(0)   NAS-Port-Id = "GigabitEthernet1/0/14"  
(0)   NAS-Port-Type = Ethernet
(0)   NAS-Port = 50114
(0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(0)   authorize {
(0)     policy filter_username {
(0)       if (&User-Name) {
(0)       if (&User-Name)  -> TRUE
(0)       if (&User-Name)  {
(0)         if (&User-Name =~ / /) {
(0)         if (&User-Name =~ / /)  -> FALSE
(0)         if (&User-Name =~ /@[^@]*@/ ) {
(0)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(0)         if (&User-Name =~ /\.\./ ) {
(0)         if (&User-Name =~ /\.\./ )  -> FALSE
(0)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(0)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(0)         if (&User-Name =~ /\.$/)  {
(0)         if (&User-Name =~ /\.$/)   -> FALSE
(0)         if (&User-Name =~ /@\./)  {
(0)         if (&User-Name =~ /@\./)   -> FALSE
(0)       } # if (&User-Name)  = notfound
(0)     } # policy filter_username = notfound
(0)     [preprocess] = ok
(0)     [chap] = noop
(0)     [mschap] = noop
(0)     [digest] = noop
(0) suffix: Checking for suffix after "@"  
(0) suffix: No '@' in User-Name = "e4115b2c0e3b", looking up realm NULL  
(0) suffix: No such realm "NULL"  
(0)     [suffix] = noop
(0) eap: No EAP-Message, not doing EAP
(0)     [eap] = noop
(0)     [files] = noop
(0) sql: EXPAND %{User-Name}
(0) sql:    --> e4115b2c0e3b
(0) sql: SQL-User-Name set to 'e4115b2c0e3b'  
rlm_sql (sql): Reserved connection (1)
(0) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id  
(0) sql:    --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'e4115b2c0e3b' ORDER BY id  
(0) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'e4115b2c0e3b' ORDER BY id  
(0) sql: WARNING: User not found in radcheck table.
(0) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority  
(0) sql:    --> SELECT groupname FROM radusergroup WHERE username = 'e4115b2c0e3b' ORDER BY priority  
(0) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'e4115b2c0e3b' ORDER BY priority  
(0) sql: User not found in any groups
rlm_sql (sql): Released connection (1)
Need more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (6), 1 of 26 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radiusdb' on Localhost via UNIX socket, server version 5.5.5-10.6.12-MariaDB-0ubuntu0.22.04.1, protocol version 10  
(0)     [sql] = notfound
(0)     [expiration] = noop
(0)     [logintime] = noop
(0) pap: WARNING: No "known good" password found for the user.  Not setting Auth-Type  
(0) pap: WARNING: Authentication will fail unless a "known good" password is available  
(0)     [pap] = noop
(0)   } # authorize = ok
(0) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
(0) Failed to authenticate the user
(0) Using Post-Auth-Type Reject
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0)   Post-Auth-Type REJECT {
(0) sql: EXPAND .query
(0) sql:    --> .query
(0) sql: Using query template 'query'  
rlm_sql (sql): Reserved connection (2)
(0) sql: EXPAND %{User-Name}
(0) sql:    --> e4115b2c0e3b
(0) sql: SQL-User-Name set to 'e4115b2c0e3b'  
(0) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S.%M' )  
(0) sql:    --> INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'e4115b2c0e3b', 'e4115b2c0e3b', 'Access-Reject', '2023-05-23 18:57:26.395295' )  
(0) sql: Executing query: INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'e4115b2c0e3b', 'e4115b2c0e3b', 'Access-Reject', '2023-05-23 18:57:26.395295' )  
(0) sql: SQL query returned: success
(0) sql: 1 record(s) updated
rlm_sql (sql): Released connection (2)
(0)     [sql] = ok
(0) attr_filter.access_reject: EXPAND %{User-Name}
(0) attr_filter.access_reject:    --> e4115b2c0e3b
(0) attr_filter.access_reject: Matched entry DEFAULT at line 11
(0)     [attr_filter.access_reject] = updated
(0)     [eap] = noop
(0)     policy remove_reply_message_if_eap {
(0)       if (&reply:EAP-Message && &reply:Reply-Message) {
(0)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(0)       else {
(0)         [noop] = noop
(0)       } # else = noop
(0)     } # policy remove_reply_message_if_eap = noop
(0)   } # Post-Auth-Type REJECT = updated
(0) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
(1) Received Access-Request Id 213 from 192.168.178.254:1645 to 192.168.178.72:1812 length 254
(1)   User-Name = "christian"  
(1)   Service-Type = Framed-User
(1)   Cisco-AVPair = "service-type=Framed"  
(1)   Framed-MTU = 1500
(1)   Called-Station-Id = "A4-4C-11-19-F8-0E"  
(1)   Calling-Station-Id = "E4-11-5B-2C-0E-3B"  
(1)   EAP-Message = 0x0201000e0163687269737469616e
(1)   Message-Authenticator = 0xbb836b2bffbb1013b809e9f4036d53b6
(1)   Cisco-AVPair = "audit-session-id=C0A8B2FE0000003A0A0B8833"  
(1)   Cisco-AVPair = "method=dot1x"  
(1)   NAS-IP-Address = 192.168.178.254
(1)   NAS-Port-Id = "GigabitEthernet1/0/14"  
(1)   NAS-Port-Type = Ethernet
(1)   NAS-Port = 50114
(1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(1)   authorize {
(1)     policy filter_username {
(1)       if (&User-Name) {
(1)       if (&User-Name)  -> TRUE
(1)       if (&User-Name)  {
(1)         if (&User-Name =~ / /) {
(1)         if (&User-Name =~ / /)  -> FALSE
(1)         if (&User-Name =~ /@[^@]*@/ ) {
(1)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(1)         if (&User-Name =~ /\.\./ ) {
(1)         if (&User-Name =~ /\.\./ )  -> FALSE
(1)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(1)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(1)         if (&User-Name =~ /\.$/)  {
(1)         if (&User-Name =~ /\.$/)   -> FALSE
(1)         if (&User-Name =~ /@\./)  {
(1)         if (&User-Name =~ /@\./)   -> FALSE
(1)       } # if (&User-Name)  = notfound
(1)     } # policy filter_username = notfound
(1)     [preprocess] = ok
(1)     [chap] = noop
(1)     [mschap] = noop
(1)     [digest] = noop
(1) suffix: Checking for suffix after "@"  
(1) suffix: No '@' in User-Name = "christian", looking up realm NULL  
(1) suffix: No such realm "NULL"  
(1)     [suffix] = noop
(1) eap: Peer sent EAP Response (code 2) ID 1 length 14
(1) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the rest of authorize  
(1)     [eap] = ok
(1)   } # authorize = ok
(1) Found Auth-Type = eap
(1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(1)   authenticate {
(1) eap: Peer sent packet with method EAP Identity (1)
(1) eap: Calling submodule eap_md5 to process data
(1) eap_md5: Issuing MD5 Challenge
(1) eap: Sending EAP Request (code 1) ID 2 length 22
(1) eap: EAP session adding &reply:State = 0x74d0f8e974d2fce4
(1)     [eap] = handled
(1)   } # authenticate = handled
(1) Using Post-Auth-Type Challenge
(1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(1)   Challenge { ... } # empty sub-section is ignored
(1) Sent Access-Challenge Id 213 from 192.168.178.72:1812 to 192.168.178.254:1645 length 80
(1)   EAP-Message = 0x010200160410bd4d936dd9e3cbedaf67433ab1191cb3
(1)   Message-Authenticator = 0x00000000000000000000000000000000
(1)   State = 0x74d0f8e974d2fce4b55a95e6ee287023
(1) Finished request
Waking up in 0.3 seconds.
(2) Received Access-Request Id 214 from 192.168.178.254:1645 to 192.168.178.72:1812 length 264
(2)   User-Name = "christian"  
(2)   Service-Type = Framed-User
(2)   Cisco-AVPair = "service-type=Framed"  
(2)   Framed-MTU = 1500
(2)   Called-Station-Id = "A4-4C-11-19-F8-0E"  
(2)   Calling-Station-Id = "E4-11-5B-2C-0E-3B"  
(2)   EAP-Message = 0x020200060319
(2)   Message-Authenticator = 0xf94f3f79e204a1107c4a15e4ec4f6c4b
(2)   Cisco-AVPair = "audit-session-id=C0A8B2FE0000003A0A0B8833"  
(2)   Cisco-AVPair = "method=dot1x"  
(2)   NAS-IP-Address = 192.168.178.254
(2)   NAS-Port-Id = "GigabitEthernet1/0/14"  
(2)   NAS-Port-Type = Ethernet
(2)   NAS-Port = 50114
(2)   State = 0x74d0f8e974d2fce4b55a95e6ee287023
(2) session-state: No cached attributes
(2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(2)   authorize {
(2)     policy filter_username {
(2)       if (&User-Name) {
(2)       if (&User-Name)  -> TRUE
(2)       if (&User-Name)  {
(2)         if (&User-Name =~ / /) {
(2)         if (&User-Name =~ / /)  -> FALSE
(2)         if (&User-Name =~ /@[^@]*@/ ) {
(2)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(2)         if (&User-Name =~ /\.\./ ) {
(2)         if (&User-Name =~ /\.\./ )  -> FALSE
(2)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(2)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(2)         if (&User-Name =~ /\.$/)  {
(2)         if (&User-Name =~ /\.$/)   -> FALSE
(2)         if (&User-Name =~ /@\./)  {
(2)         if (&User-Name =~ /@\./)   -> FALSE
(2)       } # if (&User-Name)  = notfound
(2)     } # policy filter_username = notfound
(2)     [preprocess] = ok
(2)     [chap] = noop
(2)     [mschap] = noop
(2)     [digest] = noop
(2) suffix: Checking for suffix after "@"  
(2) suffix: No '@' in User-Name = "christian", looking up realm NULL  
(2) suffix: No such realm "NULL"  
(2)     [suffix] = noop
(2) eap: Peer sent EAP Response (code 2) ID 2 length 6
(2) eap: No EAP Start, assuming it's an on-going EAP conversation  
(2)     [eap] = updated
(2)     [files] = noop
(2) sql: EXPAND %{User-Name}
(2) sql:    --> christian
(2) sql: SQL-User-Name set to 'christian'  
rlm_sql (sql): Reserved connection (3)
(2) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id  
(2) sql:    --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'christian' ORDER BY id  
(2) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'christian' ORDER BY id  
(2) sql: User found in radcheck table
(2) sql: Conditional check items matched, merging assignment check items
(2) sql:   MD5-Password := 0x4446354445444543334532333939453142373933323837314143413537383939
(2) sql: EXPAND SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id  
(2) sql:    --> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'christian' ORDER BY id  
(2) sql: Executing select query: SELECT id, username, attribute, value, op FROM radreply WHERE username = 'christian' ORDER BY id  
(2) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority  
(2) sql:    --> SELECT groupname FROM radusergroup WHERE username = 'christian' ORDER BY priority  
(2) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'christian' ORDER BY priority  
(2) sql: User found in the group table
(2) sql: EXPAND SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{SQL-Group}' ORDER BY id  
(2) sql:    --> SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'daloRADIUS-Disabled-Users' ORDER BY id  
(2) sql: Executing select query: SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'daloRADIUS-Disabled-Users' ORDER BY id  
(2) sql: Group "daloRADIUS-Disabled-Users": Conditional check items matched  
(2) sql: Group "daloRADIUS-Disabled-Users": Merging assignment check items  
(2) sql:   Auth-Type := Reject
(2) sql: EXPAND SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = '%{SQL-Group}' ORDER BY id  
(2) sql:    --> SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'daloRADIUS-Disabled-Users' ORDER BY id  
(2) sql: Executing select query: SELECT id, groupname, attribute, value, op FROM radgroupreply WHERE groupname = 'daloRADIUS-Disabled-Users' ORDER BY id  
(2) sql: Group "daloRADIUS-Disabled-Users": Merging reply items  
rlm_sql (sql): Released connection (3)
(2)     [sql] = ok
(2)     [expiration] = noop
(2)     [logintime] = noop
(2) pap: Normalizing MD5-Password from hex encoding, 32 bytes -> 16 bytes
(2) pap: WARNING: Auth-Type already set.  Not setting to PAP
(2)     [pap] = noop
(2)   } # authorize = updated
(2) Found Auth-Type = Reject
(2) Auth-Type = Reject, rejecting user
(2) Failed to authenticate the user
(2) Using Post-Auth-Type Reject
(2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(2)   Post-Auth-Type REJECT {
(2) sql: EXPAND .query
(2) sql:    --> .query
(2) sql: Using query template 'query'  
rlm_sql (sql): Reserved connection (4)
(2) sql: EXPAND %{User-Name}
(2) sql:    --> christian
(2) sql: SQL-User-Name set to 'christian'  
(2) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S.%M' )  
(2) sql:    --> INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'christian', '', 'Access-Reject', '2023-05-23 18:57:26.434381' )  
(2) sql: Executing query: INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'christian', '', 'Access-Reject', '2023-05-23 18:57:26.434381' )  
(2) sql: SQL query returned: success
(2) sql: 1 record(s) updated
rlm_sql (sql): Released connection (4)
(2)     [sql] = ok
(2) attr_filter.access_reject: EXPAND %{User-Name}
(2) attr_filter.access_reject:    --> christian
(2) attr_filter.access_reject: Matched entry DEFAULT at line 11
(2)     [attr_filter.access_reject] = updated
(2) eap: Expiring EAP session with state 0x74d0f8e974d2fce4
(2) eap: Finished EAP session with state 0x74d0f8e974d2fce4
(2) eap: Previous EAP request found for state 0x74d0f8e974d2fce4, released from the list
(2) eap: Request was previously rejected, inserting EAP-Failure
(2) eap: Sending EAP Failure (code 4) ID 2 length 4
(2)     [eap] = updated
(2)     policy remove_reply_message_if_eap {
(2)       if (&reply:EAP-Message && &reply:Reply-Message) {
(2)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(2)       else {
(2)         [noop] = noop
(2)       } # else = noop
(2)     } # policy remove_reply_message_if_eap = noop
(2)   } # Post-Auth-Type REJECT = updated
(2) Delaying response for 1.000000 seconds
Waking up in 0.2 seconds.
Waking up in 0.6 seconds.
(0) Sending delayed response
(0) Sent Access-Reject Id 212 from 192.168.178.72:1812 to 192.168.178.254:1645 length 20
(2) Sending delayed response
(2) Sent Access-Reject Id 214 from 192.168.178.72:1812 to 192.168.178.254:1645 length 44
(2)   EAP-Message = 0x04020004
(2)   Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 3.9 seconds.
(0) Cleaning up request packet ID 212 with timestamp +14 due to cleanup_delay was reached
(1) Cleaning up request packet ID 213 with timestamp +14 due to cleanup_delay was reached
(2) Cleaning up request packet ID 214 with timestamp +14 due to cleanup_delay was reached
Ready to process requests
(3) Received Access-Request Id 215 from 192.168.178.254:1645 to 192.168.178.72:1812 length 261
(3)   User-Name = "e4115b2c0e3b"  
(3)   User-Password = "e4115b2c0e3b"  
(3)   Service-Type = Call-Check
(3)   Cisco-AVPair = "service-type=Call Check"  
(3)   Framed-MTU = 1500
(3)   Called-Station-Id = "A4-4C-11-19-F8-0E"  
(3)   Calling-Station-Id = "E4-11-5B-2C-0E-3B"  
(3)   Message-Authenticator = 0x362ea4d10eb96541f3292c00d10d9c6e
(3)   Cisco-AVPair = "audit-session-id=C0A8B2FE0000003A0A0B8833"  
(3)   Cisco-AVPair = "method=mab"  
(3)   NAS-IP-Address = 192.168.178.254
(3)   NAS-Port-Id = "GigabitEthernet1/0/14"  
(3)   NAS-Port-Type = Ethernet
(3)   NAS-Port = 50114
(3) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(3)   authorize {
(3)     policy filter_username {
(3)       if (&User-Name) {
(3)       if (&User-Name)  -> TRUE
(3)       if (&User-Name)  {
(3)         if (&User-Name =~ / /) {
(3)         if (&User-Name =~ / /)  -> FALSE
(3)         if (&User-Name =~ /@[^@]*@/ ) {
(3)         if (&User-Name =~ /@[^@]*@/ )  -> FALSE
(3)         if (&User-Name =~ /\.\./ ) {
(3)         if (&User-Name =~ /\.\./ )  -> FALSE
(3)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))  {
(3)         if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))   -> FALSE
(3)         if (&User-Name =~ /\.$/)  {
(3)         if (&User-Name =~ /\.$/)   -> FALSE
(3)         if (&User-Name =~ /@\./)  {
(3)         if (&User-Name =~ /@\./)   -> FALSE
(3)       } # if (&User-Name)  = notfound
(3)     } # policy filter_username = notfound
(3)     [preprocess] = ok
(3)     [chap] = noop
(3)     [mschap] = noop
(3)     [digest] = noop
(3) suffix: Checking for suffix after "@"  
(3) suffix: No '@' in User-Name = "e4115b2c0e3b", looking up realm NULL  
(3) suffix: No such realm "NULL"  
(3)     [suffix] = noop
(3) eap: No EAP-Message, not doing EAP
(3)     [eap] = noop
(3)     [files] = noop
(3) sql: EXPAND %{User-Name}
(3) sql:    --> e4115b2c0e3b
(3) sql: SQL-User-Name set to 'e4115b2c0e3b'  
rlm_sql (sql): Reserved connection (0)
(3) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id  
(3) sql:    --> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'e4115b2c0e3b' ORDER BY id  
(3) sql: Executing select query: SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'e4115b2c0e3b' ORDER BY id  
(3) sql: WARNING: User not found in radcheck table.
(3) sql: EXPAND SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority  
(3) sql:    --> SELECT groupname FROM radusergroup WHERE username = 'e4115b2c0e3b' ORDER BY priority  
(3) sql: Executing select query: SELECT groupname FROM radusergroup WHERE username = 'e4115b2c0e3b' ORDER BY priority  
(3) sql: User not found in any groups
rlm_sql (sql): Released connection (0)
Need more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (7), 1 of 25 pending slots used
rlm_sql_mysql: Starting connect to MySQL server
rlm_sql_mysql: Connected to database 'radiusdb' on Localhost via UNIX socket, server version 5.5.5-10.6.12-MariaDB-0ubuntu0.22.04.1, protocol version 10  
rlm_sql (sql): Closing expired connection (6) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (5) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (4) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (3) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): Closing expired connection (2) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
rlm_sql (sql): You probably need to lower "min"  
rlm_sql (sql): Closing expired connection (1) - Hit idle_timeout limit
rlm_sql_mysql: Socket destructor called, closing socket
(3)     [sql] = notfound
(3)     [expiration] = noop
(3)     [logintime] = noop
(3) pap: WARNING: No "known good" password found for the user.  Not setting Auth-Type  
(3) pap: WARNING: Authentication will fail unless a "known good" password is available  
(3)     [pap] = noop
(3)   } # authorize = ok
(3) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
(3) Failed to authenticate the user
(3) Using Post-Auth-Type Reject
(3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(3)   Post-Auth-Type REJECT {
(3) sql: EXPAND .query
(3) sql:    --> .query
(3) sql: Using query template 'query'  
rlm_sql (sql): Reserved connection (0)
(3) sql: EXPAND %{User-Name}
(3) sql:    --> e4115b2c0e3b
(3) sql: SQL-User-Name set to 'e4115b2c0e3b'  
(3) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S.%M' )  
(3) sql:    --> INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'e4115b2c0e3b', 'e4115b2c0e3b', 'Access-Reject', '2023-05-23 18:58:28.182081' )  
(3) sql: Executing query: INSERT INTO radpostauth (username, pass, reply, authdate ) VALUES ( 'e4115b2c0e3b', 'e4115b2c0e3b', 'Access-Reject', '2023-05-23 18:58:28.182081' )  
(3) sql: SQL query returned: success
(3) sql: 1 record(s) updated
rlm_sql (sql): Released connection (0)
(3)     [sql] = ok
(3) attr_filter.access_reject: EXPAND %{User-Name}
(3) attr_filter.access_reject:    --> e4115b2c0e3b
(3) attr_filter.access_reject: Matched entry DEFAULT at line 11
(3)     [attr_filter.access_reject] = updated
(3)     [eap] = noop
(3)     policy remove_reply_message_if_eap {
(3)       if (&reply:EAP-Message && &reply:Reply-Message) {
(3)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(3)       else {
(3)         [noop] = noop
(3)       } # else = noop
(3)     } # policy remove_reply_message_if_eap = noop
(3)   } # Post-Auth-Type REJECT = updated
(3) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(3) Sending delayed response
(3) Sent Access-Reject Id 215 from 192.168.178.72:1812 to 192.168.178.254:1645 length 20
Waking up in 3.9 seconds.
(3) Cleaning up request packet ID 215 with timestamp +76 due to cleanup_delay was reached
Ready to process requests

Diese Zeile im Catalyst Debug irritiert mich ein bisschen:
May 23 18:57:26.376: RADIUS:  User-Name           [1]   14  "e4115b2c0e3b"  

Das ist die MAC vom Notebook dass ich Authentifizieren möchte.

Ich habe aber den Dienst für die dot1x Auth. gestartet und an der NIC auch eingerichtet.
Weshalb überträgt er dann die MAC als User Namen?

Ich komm nicht dahinter.

Nach weiteren Authentifizierungs Versuchen erscheint im Debug des Radius aus folgendes:

(5) pap: WARNING: No "known good" password found for the user.  Not setting Auth-Type  
(5) pap: WARNING: Authentication will fail unless a "known good" password is available  
(5)     [pap] = noop
(5)   } # authorize = ok
(5) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
(5) Failed to authenticate the user
(5) Using Post-Auth-Type Reject
Member: Ueba3ba
Ueba3ba May 23, 2023 updated at 19:12:54 (UTC)
Goto Top
Er wendet auch MAB an:

May 23 18:57:26.384: RADIUS:   Cisco AVpair       [1]   12  "method=mab"  
Edit:

Quatsch. Erst versucht er MAB dann dot1x

Der Port am Catalysten, an dem das Notebook hängt:

interface GigabitEthernet1/0/14
 switchport mode access
 authentication order mab dot1x
 authentication port-control auto
 mab
 dot1x pae authenticator
 spanning-tree portfast edge
Member: aqui
aqui May 23, 2023 updated at 20:32:15 (UTC)
Goto Top
OK, ein paar Fragen dazu weil leider ein Screenshot der dazu korrespondierenden User im FreeRadius fehlte.
  • Das Format mit der der Switch die Mac Adresse sendet ist "e4115b2c0e3b" also ohne Doppelpunkte etc. und alles klein. Ist der User auch genau so eingerichtet?? Bedenke das der Radius sehr genau zw. Groß- Kleinschrift und Format unterscheidet. Der Radius meckert ja oben das der User und Passwort gar nicht existiert was ggf. auf eine falsche Schreibweise hinweist.
  • Was sagt der Daloradius interne Usercheck? Rennt der bei e4115b2c0e3b und christian mit einem "Access accept" durch?
  • Bedenke das bei kombinierter Mac und .1x Auth auch immer beides stimmen muss damit der Port authentisiert wird. Du solltest besser erstmal schrittweise vorgehen das du erstmal auf einem Testport Mac only machst, auf einem .1x only und auf einem 3ten dann kombiniert. So kannst du idealerweise erstmal die Einzelauthentisierung testen bevor du auf die Königsklasse mit der Kombination gehst wo die meisten Fussfallen lauern.
Ich checke das morgen nochmal auf einem Catalysten und gebe dir hier ein Feedback

Bei der Mac Adresse hast du 2 Optionen diese einzurichten.
  • Wenn du auf Mac Auth klickst fragt er lediglich nach der Mac Adresse. Der Radius authentisiert dann egal welches Passwort wenn nur der Username der Mac Adresse und Format stimmt.
  • Andere Option ist normale User Auth mit Username und Passwort. In beiden trägt man dann e4115b2c0e3b ein, das Passwort Format ist immer "Cleartext".
Bei Mac Adress Auth führt beides zum Erfolg.
Bei .1x kommt immer der Login Username und das Passwort rein (Cleartext). Korrekte Schreibweise gilt hier auch.
Member: Ueba3ba
Ueba3ba May 23, 2023 at 20:31:43 (UTC)
Goto Top
Danke aqui. Teste ich morgen.

Muss den beides im Radius hinterlegt sein? MAC und Username, damit die Auth. Klappt wenn der Port auf MAP und dot1x steht???
Member: aqui
aqui May 23, 2023 updated at 20:36:28 (UTC)
Goto Top
Muss den beides im Radius hinterlegt sein?
Ja natürlich wenn du eine kombinierte Authentisierung am Port machst wie oben! Hast du ja selber so konfiguriert. face-wink
"authentication order mab dot1x" macht zuerst eine Mac Auth und danach noch eine .1x Auth. Beide mussen ein Access accept vom Radius geben sonst ist Nada mit dem Zugriff. Der Debug Output zeigt ja das es auch genau so am Radius ankommt. Der Switch machst also alles was er soll und das richtig. face-wink
Du hast ja gleich zur Königsklasse gegriffen. Deshalb die Empfehlung erstmal nur je eine Variante zu nehmen.
Member: Ueba3ba
Ueba3ba May 23, 2023 at 20:48:18 (UTC)
Goto Top
Dann wundert es mich nicht dass es nicht funktioniert.

Hab die MAC mit dolaradius angelegt und getestet. Access accept.

MAC wieder gelöscht.

Username angelegt. Access rejected.

Wenn "authentication order mab dot1x„ erst MAC und dann noch eine dot1x Auth. macht, weshalb bekomm ich dann ein ,,Access accept“ wenn ich nur die MAC im Radius hinterlegt habe?


Etwa wegen dem ,,mab“ in der Port Config am Catalyst?
Member: Ueba3ba
Ueba3ba May 23, 2023 at 21:03:54 (UTC)
Goto Top
Eben nachgelesen:
authentication order dot1x mab ---> this means that the switch will try dot1x first and if the device is not capable or does not respond, it will fall back to mab.
authentication priority mab dot1x ---> this means that mab will be preferred over dot1x. for example, if the dot1x capable machine did not respond to the initial attempt of the switch to perform dot1x, then it would fall back to mab. Now in this state, if the dot1x capable machine tries to perform dot1x, then switch will not perform dot1x authentication instead it will stick to the mab session. 

authentication event fail action next-method ---> this means that if dot1x authentication fails for a capable device, switch will perform mab as a fallback method.

Scheint alls müsste ich den Port am Switch etwas anders konfigurieren.

Das teste ich aber morgen.

Gn8
Member: Ueba3ba
Ueba3ba May 23, 2023 at 21:18:56 (UTC)
Goto Top
Für den einen oder anderen bestimmt auch nützlich:

Flexible Authentication
Member: aqui
aqui May 24, 2023, updated at May 26, 2023 at 12:45:24 (UTC)
Goto Top
Ein kurzes Feedback zu den Tests.
Wie du oben schon richtig sagst funktioniert die reine Mac Authentication fehlerlos:
(Authentication Logging ist hier im FreeRadius aktiviert)

back-to-topRadius Setup

dalolog

back-to-topCatalyst Port Konfig MAB only

interface GigabitEthernet0/1
 description Authentication Mac only (PAP)
 switchport mode access
 authentication port-control auto
 authentication periodic
 mab
 spanning-tree portfast 

%AUTHMGR-5-START: Starting 'mab' for client (8cae.4cfe.0194) on Interface Gi0/1 
%MAB-5-SUCCESS: Authentication successful for client (8cae.4cfe.0194) on Interface Gi0/1 
%AUTHMGR-7-RESULT: Authentication result 'success' from 'mab' for client (8cae.4cfe.0194) on Interface Gi0/1 
%AUTHMGR-5-SUCCESS: Authorization succeeded for client (8cae.4cfe.0194) on Interface Gi0/1 
%LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up 
Mit reiner Mac Auth am Port also Haken dran...

back-to-topWindows 802.1x Fallstricke

Knackpunkt ist die 802.1x Authentication mit SQL unter Windows, da der Windows Client die Domain mit 2 Backslashes mitsendet. Deshalb ist dein Post hier sehr hilfreich, weil ich 802.1x nur mit einem MacBook getestet hatte und WLAN Accesspoints und kein Winblows. Erstere senden keine Backslashes.
(18) sql: EXPAND %{User-Name}
(18) sql:    --> NoteBook\\User
(18) sql: SQL-User-Name set to 'NoteBook\\User' 
(18) sql: EXPAND INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( '%{SQL-User-Name}', '%{%{User-Password}:-%{Chap-Password}}', '%{reply:Packet-Type}', '%S.%M') 
(18) sql:    --> INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ( 'NoteBook=5C=5CUser', '', 'Access-Accept', '2023-05-24 09:43:44.301388')  
Backslashes sind immer kritisch da Escape Characters und das führt dann auch dazu das die .1x Authentisierung fehlschlägt, denn der Radius macht aus einem vom Switch gesendeten "NoteBook\\User" ein NoteBook=5C=5CUser für die SQL Datenbank.
Gibt man den User statt \\ in dem Format (..=5C=5C..) im Radius an, klappt die 802.1x Authentisierung sofort wie man oben sieht. Auch in Kombination mit MAB.
"5c" ist der ASCII Code für den Backslash \.

Ich checke gerade mal die Freeradius Doku. Ich meine zu erinnern irgendwo gibt es eine Schraube in der Konfig den Doppel Backslash und Domainnamen abzustrippen. Gewusst wo.... face-wink
Das hier könnte helfen:
https://lists.freeradius.org/pipermail/freeradius-users/2018-May/091609. ...
Mal probieren...

back-to-topCisco Beispiel Konfigs

Hier zur Info nochmal die Catalyst Port Konfigs für die unterschiedlichen Authentisierungsarten:
interface GigabitEthernet0/1
 description Authentication Mac only (PAP)
 switchport mode access
 authentication port-control auto
 authentication periodic
 mab
 spanning-tree portfast
!
interface GigabitEthernet0/2
 description Authentication Mac only (EAP-MD5)
 switchport mode access
 authentication port-control auto
 authentication periodic
 mab eap
 spanning-tree portfast
!
interface GigabitEthernet0/3
 description Authentication dot1x only
 switchport mode access
 authentication event fail action authorize vlan 10
 authentication port-control auto
 authentication periodic
 dot1x pae authenticator
 spanning-tree portfast
!
interface GigabitEthernet0/4
 description Authentication map plus dot1x
 switchport mode access
 authentication event fail action authorize vlan 10
 authentication port-control auto
 authentication periodic
 mab
 dot1x pae authenticator
 spanning-tree portfast
!
aaa new-model
aaa authentication login default local
aaa authentication dot1x default group radius
aaa authorization network default group radius
(aaa accounting dot1x default start-stop group radius) => optional
!
dot1x system-auth-control
!
radius server freeradius
 address ipv4 10.1.10.104 auth-port 1812 acct-port 1813
 key 7 021201481F0F01261D1C5A 
Member: aqui
aqui May 24, 2023, updated at May 31, 2023 at 08:54:52 (UTC)
Goto Top
So, Problem gelöst!! 👍 😉

Es lag an der falschen Default Deklaration der SQL "Safe" Characters.
Dies stellt man in der Datei /etc/freeradius/3.0/mods-config/sql/main/mysql/queries.conf ein.
Dort sind statisch die Safe Characters definiert was kontraproduktiv ist denn man sollte die SQL internen nutzen. Was der Parameter auto_escape = yes regelt der dann entsprechend zu entkommentieren ist. Die statischen kommentier man aus. Die Kommentare der Konf Datei weisen extra daraufhin.
So sieht es richtig aus:
quer
Damit kann man dann die Windows 802.1x Clientnamen inklusive der mitgesendeten Domain fehlerlos authentisieren:
dalusneu.

Es ist auch möglich den Domainnamen komplett abzustrippen wie hier beschrieben aber davon wird aus Security Gründen (Mehrfachlogin aus unverifizierten Domains) abgeraten.
https://wiki.freeradius.org/guide/sql-howto#Configuring_FreeRadius_to_us ...

Danke nochmals für das Feedback!
Dieser Fauxpas wäre fast unentdeckt geblieben wenn man mit 802.1x unter Windows authentisiert.
Ich aktualisiere das Freeradius Tutorial.
Member: Ueba3ba
Ueba3ba May 24, 2023 updated at 12:52:32 (UTC)
Goto Top
Wie du oben schon richtig sagst funktioniert die reine Mac Authentication fehlerlos:

Richtig! Funktioniert bei mir.

Knackpunkt ist die 802.1x Authentication mit SQL unter Windows, da der Windows Client die Domain mit 2 Backslashes mitsendet.

Deshalb ist dein Post hier sehr hilfreich, weil ich 802.1x nur mit einem MacBook getestet hatte und WLAN Accesspoints und kein Winblows. Erstere senden keine Backslashes.

Freut mich. Sowas aber auch. Hättest mal besser auch mit nem Windows getestet. face-smile

Backslashes sind immer kritisch da Escape Characters und das führt dann auch dazu das die .1x Authentisierung fehlschlägt, denn der Radius macht aus einem vom Switch gesendeten "NoteBook\\User" ein NoteBook=5C=5CUser für die SQL Datenbank.

Wäre mir im Traum nicht aufgefallen. Danke für deine Beobachtung.
In meinem Debug-Log sehe ich keine Backslashes

(2) sql: EXPAND %{User-Name}
(2) sql:    --> christian
(2) sql: SQL-User-Name set to 'christian' 
rlm_sql (sql): Reserved connection (3)

Hier zur Info nochmal die Catalyst Port Konfigs für die unterschiedlichen Authentisierungsarten:

Danke dafür. Werd ich heute Abend in Ruhe testen.
Auch interessant dazu: Flexible Authentication

Habe heute Morgen schnell dot1x only getestet. Ohne Erfolg.

Es werden zwar keine Backslashes in meinem Log angezeigt, kann aber sein dass diese dennoch übertragen werden?

EDIT:

Hab deinen zweiten Post eben erst gesehen.
Danke für deine Mühe.
Ich schau mir alles in Ruhe durch.
Member: Ueba3ba
Ueba3ba May 24, 2023 updated at 19:40:55 (UTC)
Goto Top
@aqui

So, hab bischen getestet.

Mit Windows funktioniert die dot1x Authentifizierung leider immer noch nicht.

Es lag an der falschen Default Deklaration der SQL "Safe" Characters. Dies stellt man in der Datei /etc/freeradius/3.0/mods-config/sql/main/mysql/queries.conf ein. Dort sind statisch die Safe Characters definiert was kontraproduktiv ist denn man sollte die SQL internen nutzen. Was der Parameter auto_escape = yes regelt der dann entsprechend zu entkommentieren ist. Die statischen kommentier man aus.

Habe ich umgesetzt. Ohne Erfolg.

Also habe ich es mit Linux getestet, mit Teilerfolgen.

Port am Catalyst:
interface GigabitEthernet1/0/14
 description Authentication Mac only (PAP)
 switchport mode access
 authentication port-control auto
 authentication periodic
 mab
 spanning-tree portfast

Test erfolgreich. Unter Linux konnte ich das Notebook mit MAC-Auth authentifizieren.

Nächste Runde:

Port am Catalyst:

interface GigabitEthernet1/0/14
 description Authentication dot1x only
 switchport mode access
 authentication event fail action authorize vlan 10
 authentication port-control auto
 authentication periodic
 dot1x pae authenticator
 spanning-tree portfast

Unter Linux in den Verbindungseigenschaften des Eth Profils unter ,,802.1X Sicherheit"
Legitimierung MD5 ausgewählt.

Benutzername und Paasword eingetragen.

Mit dieser Einstellung kann sich das Notebook authentifizieren, vorausgesetzt das User-Password wurde über die GUI vom DaloRadius als ,,Cleartext" definiert. Wählt man MD5, klappt die Authentifizierung nicht mehr.

Nächste Runde:

Port am Catalyst:

interface GigabitEthernet0/4
 description Authentication map plus dot1x
 switchport mode access
 authentication event fail action authorize vlan 10
 authentication order mab dot1x
 authentication port-control auto
 authentication periodic
 mab
 dot1x pae authenticator
 spanning-tree portfast

Sollange beides, MAC und User im freeradius auf ,,Enable" stehen, klappt die Authentifizierung nicht.
Setzt man eines von beiden auf ,,Disable" klappt die MAC oder dot1x Authentifizierung.

Leider konnte sich deine Aussage:
"authentication order mab dot1x" macht zuerst eine Mac Auth und danach noch eine .1x Auth. Beide mussen ein Access accept vom Radius geben sonst ist Nada mit dem Zugriff.

nicht bestätigen.

Lasse ich beides, MAC und User auf ,,Enable" kommt:

Wed May 24 19:19:18 2023 : Auth: (99) Login OK: [chris] (from client private-network-1 port 50114 cli E4-11-5B-2C-0E-3B)
Wed May 24 19:19:18 2023 : Debug: (99) Sent Access-Accept Id 55 from 192.168.178.72:1812 to 192.168.178.254:1645 length 51
Wed May 24 19:19:18 2023 : Debug: (99)   EAP-Message = 0x03020004
Wed May 24 19:19:18 2023 : Debug: (99)   Message-Authenticator = 0x00000000000000000000000000000000
Wed May 24 19:19:18 2023 : Debug: (99)   User-Name = "chris"  
Wed May 24 19:19:18 2023 : Debug: (99) Finished request
Wed May 24 19:19:18 2023 : Debug: Waking up in 4.9 seconds.
Wed May 24 19:19:23 2023 : Debug: (97) Cleaning up request packet ID 53 with timestamp +2890 due to cleanup_delay was reached
Wed May 24 19:19:23 2023 : Debug: (98) Cleaning up request packet ID 54 with timestamp +2890 due to cleanup_delay was reached
Wed May 24 19:19:23 2023 : Debug: (99) Cleaning up request packet ID 55 with timestamp +2890 due to cleanup_delay was reached
Wed May 24 19:19:23 2023 : Info: Ready to process requests

Kein Netzwerkzugriff!

Es gibt dann anscheinend ein ,,Access-Accept" für die dot1x Authentifizierung, für die MAC Auth. kommt irgendwie nichts mehr.

Mach ich die Authentifizierung nur mit dem User auf ,,Enable" kommt:

Wed May 24 19:35:19 2023 : Auth: (2) Login OK: [chris] (from client private-network-1 port 50114 cli E4-11-5B-2C-0E-3B)
Wed May 24 19:35:19 2023 : Debug: (2) Sent Access-Accept Id 74 from 192.168.178.72:1812 to 192.168.178.254:1645 length 51
Wed May 24 19:35:19 2023 : Debug: (2)   EAP-Message = 0x03020004
Wed May 24 19:35:19 2023 : Debug: (2)   Message-Authenticator = 0x00000000000000000000000000000000
Wed May 24 19:35:19 2023 : Debug: (2)   User-Name = "chris"  
Wed May 24 19:35:19 2023 : Debug: (2) Finished request
Wed May 24 19:35:19 2023 : Debug: Waking up in 0.2 seconds.
Wed May 24 19:35:20 2023 : Debug: Waking up in 0.6 seconds.
Wed May 24 19:35:20 2023 : Debug: (0) Sending delayed response
Wed May 24 19:35:20 2023 : Debug: (0) Sent Access-Reject Id 72 from 192.168.178.72:1812 to 192.168.178.254:1645 length 20
Wed May 24 19:35:20 2023 : Debug: Waking up in 3.9 seconds.
Wed May 24 19:35:24 2023 : Debug: (0) Cleaning up request packet ID 72 with timestamp +27 due to cleanup_delay was reached
Wed May 24 19:35:24 2023 : Debug: (1) Cleaning up request packet ID 73 with timestamp +27 due to cleanup_delay was reached
Wed May 24 19:35:24 2023 : Debug: (2) Cleaning up request packet ID 74 with timestamp +27 due to cleanup_delay was reached
Wed May 24 19:35:24 2023 : Info: Ready to process requests

Und ich bekomme Netzwerkzugriff.

Die dot1x Auth. klappt aber anscheinend fehlt ihm die Mac-Auth.
Kommisch das wenn beide, Mac und User auf ,,Enable" stehen, es dennoch nicht klappt.

 authentication order mab dot1x
 
Bewrikt zumindest bei mir, das sich das Notebook entweder mit Mac-Auth oder dot1x Authentifizieren kann.
Beides zusammen klapt nicht.


 authentication event fail action authorize vlan 10 
Scheint auch nicht zu ziehen. Auf dem Switch existiert ein Vlan 10.
Bei einer Fail-Auth wird der Port nicht dem VLan 10 zugewiesen.


Erst mal genug für heute getestet.

Ärgert mich ein bisschen dass die dot1x Auth. nich im Windows klappt.

Scheint als ob es da Probleme mit dem Password geben könnte.

Hast du eine Idee?
Member: Ueba3ba
Ueba3ba May 24, 2023 updated at 20:03:34 (UTC)
Goto Top
Nachtrag:

Windows dot1x Authentifizierung klappt jetzt endlich auch.

Es musste ,,Identität des Servers mittels Zertifikatsprüfung überprüfen"

ausgeschaltet werden.

Eigenschaften des Netzwerk-Adapters - Authentifizierung - Einstellungen.


Das User-Password muss aber als ,,Cleartext" im radius hinterlegt sein.

Ist das nicht auch anders möglich??


Edit:

Setzt man das User-Password auf ,,NT-Password" klappt die Authentifizierung ebenfalls.
Gefällt mir besser als ein Cleartext Password im radius stehen zu haben.
Member: Ueba3ba
Ueba3ba May 25, 2023 at 08:06:17 (UTC)
Goto Top
Da es bei mir nun jetzt funktioniert bleibt noch mein Problem mit dem OfficeConnect 1920S.

Habe ihn nach dieser Anleitung eingerichtet.

OfficeConnect Radius Config

Am radius Server kommt nichts an. Mit tcpdump überprüft.

Der Switch wurde resetet. Es existiert nur das vlan1.

Hat wer eine Idee??
Member: aqui
aqui May 25, 2023, updated at May 31, 2023 at 08:58:49 (UTC)
Goto Top
In meinem Debug-Log sehe ich keine Backslashes
Danke fürs Feedback und guter Punkt! 😉
Dazu muss man noch sagen das kann unter Windows normal sein!
Ich habe im Test den Haken im 802.1x Client gesetzt bei:
win1x.
Damit setzt der Windows .1x Client dann immer die Domain voran. Bei .1x Windows Clients die NICHT in einer Domain sind, wird dann der Hostname angehängt so das die Radius Anfrage immer mit Usernamen ala z.B. NoteBook\\user kommt.
Setzt du den Haken nicht, dann poppt beim Zugriff mit .1x aufs Netzwerk sonst ja immer eine Eingabemaske hoch die dann Username und Passwort abfragt. Dann hast du, wie bei dir oben, keine Backslashes im Usernamen.
Es macht also immer Sinn die Escape Character bei SQL Nutzung richtig zu setzen wie oben beschrieben! So ist man absolut safe, weil so auch immer beide Userformate mit oder ohne Domain sicher über den Radius authentisiert werden können. face-wink

Es musste ,,Identität des Servers mittels Zertifikatsprüfung überprüfen" ausgeschaltet werden.
Auch das ist ein guter Punkt. Das Tutorial geht bewusst darauf nicht ein weil man dann noch einen Exkurs in Kryptografie und Zertifikaten machen müsste was den Rahmen eines solchen Tutorial natürlich sprengt. Aber ich werde dazu noch einen kurzen Hinweis für den Windows .1x Client ins Tutorial setzen.
Normal kommt der FreeRadius mit einem Default Zertifikat ("Snakeoil") was du im Radius Setup ja sehen kannst.
Mit der Zertifikatsabfrage kann man im Client sicherstellen das auch der gewollte Radius abgefragt wird und einer einem keinen Fake Radius unterjubelt. Damit das klappt musst du aber das CA Root Zertifikat im Client importieren.
Das ist exakt das gleiche Spielchen wie beim IKEv2 VPN Server und dem Windows VPN Client!
Wenn du da ein Server Zertifikat generiert hast kannst du das entsprechend auch im Setup des FreeRadius eintragen und dann klappt es natürlich auch mit der Zertifikatsüberprüfung. Aber guter Hinweis, wird berücksichtigt! Ebenso das hilfreiche Cisco Dokument. face-wink
Gefällt mir besser als ein Cleartext Password im radius stehen zu haben.
Du hast Recht! Zumindestens bei den MS-CHAP2 Auths ist das eine gute Option.
Wählt man MD5, klappt die Authentifizierung nicht mehr.
Das ist korrekt und das musst du dann am Switchport des Cisco auch explizit konfigurieren wenn du MD5 willst. mab eap siehe Beispiel Port 0/2 oben. Das ist aber recht exotisch und wenig supportet. Siehe dazu auch HIER.

mein Problem mit dem OfficeConnect 1920S.
Ich habe hier eine V1910 Gurke. Angeblich soll die auch .1x können, zumindestens Mac Auth. Ich meine ich hatte das dort auch schon mal versucht zu konfigurieren mit exakt dem gleichen Ergebnis wie bei dir...keinerlei Radius Traffic vom Switch. face-sad Das 1910er GUI ist aber auch der wahre Albtraum dazu. Na ja, HP eben... face-sad
Ich mache aber nochmal einen Anlauf und werde berichten...
Member: Ueba3ba
Ueba3ba May 26, 2023 at 12:17:27 (UTC)
Goto Top
Danke aqui.

Eine Sache hätte ich nur noch.

Wenn ich:

 authentication event fail action authorize vlan 666 

am Switchport mit configuriere, wird das Notebook irgendwie nicht ins Vlan 10 gestellt wenn die Authentifizierung fehlschlägt.

Mach ich da etwas falsch?
Member: aqui
aqui May 26, 2023, updated at May 31, 2023 at 09:05:30 (UTC)
Goto Top
Mach ich da etwas falsch?
Nein, falsch machst du nichts aber vermutlich einen Denkfehler?!
Du gibst ja an das das "Gummizellen VLAN" (AuthFail VLAN) im Falle einer fehlgeschlagenen Authentisierung das VLAN 666 ist. Folglich landet der Client dann niemals in VLAN 10 sondern in VLAN 666
Dazu musst du natürlich vorher mit "vlan 666" und "name Gummizelle" das VLAN auf dem Switch definieren. Ein show vlan zeigt dir alle dem Switch bekannten VLANs.
Du kannst keine nicht im Switch definierten VLANs dynamisch auf dem Switch zuweisen!

Übrigens das "Guest VLAN" ist das VLAN was Nutzern ganz ohne aktiviertes 802.1x zugewiesen wird. Also allen Usern die kein EAPoL senden. Es gibt also einen kleinen aber feinen Unterschied zw. dem AuthFail und dem Guest VLAN sofern man denn diese automatisch zuweisen will. 😉

Wenn du übrigens die Übermittlung der Mac Adress Formate umstellen willst auf dem Catalysten kann man das z.B. mit dem Kommando:
mab request format attribute 1 groupsize 4 separator : lowercase
machen.
Das ändert das Mac Format von alles klein auf z.B. 0800:2b86:19de. Das kann insofern sinnvoll sein wenn man noch andere Hersteller im Netz hat die andere Formate verwenden und das dort ggf. nicht anpassbar ist wie bei vielen Billigheimern. Das erspart einem dann das mehrfache Erfassen gleicher Mac Adressen. Alternativ kann man es auch umgekehrt verwenden um Nutzer von bestimmter 802.1x/MAB Hardware zu selektieren um ihnen z.B. auf der HW andere VLANs zuzuteilen usw. face-wink
Siehe hier Seite 3.

Übrigens noch ein Tip zu den NT Passwords: Man kann im Daloradius auch komplett die Anzeige der Passwörter in den Übersichten über die Settings Config -> Interface Settings -> Enable Password Hiding deaktivieren wenn man gar keine Passwörter sehen möchte. face-wink
Tutorial ist angepasst.
Member: Ueba3ba
Ueba3ba May 26, 2023 at 12:47:52 (UTC)
Goto Top
Übrigens noch ein Tip zu den NT Passwords: Man kann im Daloradius auch komplett die Anzeige der Passwörter in den Übersichten über die Settings Config -> Interface Settings -> Enable Password Hiding deaktivieren wenn man gar keine Passwörter sehen möchte.

danke für den Tipp.

Ein show vlan zeigt dir alle dem Switch bekannten VLANs.
Du kannst keine nicht definierten VLANs dynmaisch auf dem Switch zuweisen!

Das weiß ich ja auch. Schreibst du bestimmt weil ich oben von Vlan10 geschrieben habe und hier von Vlan 666

Hätte ich dran denken sollen.

Dann nehmen wir eben das Vlan10.

Bei einem:
 authentication event fail action authorize vlan 10 

Wird das Notebook nicht ins Vlan 10 geschoben.
Member: aqui
aqui May 26, 2023 updated at 13:02:14 (UTC)
Goto Top
Wird das Notebook nicht ins Vlan 10 geschoben.
Mmmhhh, das wäre ungewöhnlich... 🤔
Du hast sicher beachtet das wenn du keinen DHCP Server im VLAN 10 (oder 666 😉) hast, der Client dort mit einer Zeroconf IP 169.254.x.y rumdümpelt??
Das sieht dann oft so aus also ob der Port nicht zugewiesen wurde. Mit einem show Kommando auf dem Port sollte man das zugewiesene VLAN sehen.
Ich checke das hier mal und gebe dir ein Feedback...
Member: Ueba3ba
Ueba3ba May 26, 2023 at 13:08:48 (UTC)
Goto Top
Danke. An den DHCP hab ich echt nicht gedacht.

Aber nach der fail Auth, ein:

 sh vlan 
Zeigte mir keine zugewiesenen Port im Vlan10.

Ich teste natürlich heute Abend weiter.
Member: aqui
aqui May 26, 2023, updated at May 31, 2023 at 09:09:05 (UTC)
Goto Top
OK, auch das Problem gelöst. 👍 Man muss nur mal das Manual lesen... 😉

Der Port wartet im Default drei 802.1x Authentisierungs Versuche ab, also der Client darf 3mal versuchen sich zu authentisieren erst dann wird er ins Fail VLAN bewegt.
Je nach .1x Client kann das also 3 Minuten oder auch mehr dauern. Die Geduld hat aber nicht jeder... face-wink
Ein
authentication event fail retry 0 action authorize vlan 99
setzt die Retries auf 0 so das gleich nach dem Fail des Radius der Clients ins Fail VLAN kommt.
Gewusst wie...
Wieviel Versuche man seinem Client dann zugesteht muss jeder selber entscheiden...
Member: Ueba3ba
Ueba3ba May 26, 2023 at 22:51:57 (UTC)
Goto Top
Prima. Vielen dank aqui.

OK, Problem gelöst. Man muss nur mal das Manual lesen...

Werde ich mir für die Zukunft merken. face-wink

Jetzt funktioniert eigentlich alles.

Bis auf eines:

Habe die Dynamische Vlan Zuweisung eingerichtet.

Profil angelegt und einem User zugeordnet.
Leider klappt diese nicht. Parallel das ganze mit einem NPS auf Windows Server 2019 gegen gecheckt.

Mit dem NPS funkioniert es einwandfrei.

Nutze einen Cisco WLC-5508.

Ich werde später meine freeradius instanz neu aufsetzten und es erneut testen.

Berichte dann.
Member: aqui
aqui May 27, 2023, updated at May 31, 2023 at 09:09:57 (UTC)
Goto Top
Werde ich mir für die Zukunft merken.
Das galt natürlich auch für den Verfasser dieser Zeilen! 😉
Jetzt funktioniert eigentlich alles.
👍 Ggf. sollte man dem Client mit retry 1 für das Auth Fail VLAN einen Versuch geben. Aber das hängt von der Geduld der User ab.
Dynamische Vlan Zuweisung eingerichtet. Leider klappt diese nicht.
Hier musst du unbedingt darauf achten die 3 VLAN Attribute beim Setup im Target als REPLY einzurichten!! Das wird gern mal übersehen.
attr
Wenn du dann später das Profil editierst findest du sie auch unter dem Karteireiter REPLY Attributes.
vlan
Hab das hier auf dem Cisco Catalysten und einem Ruckus ICX getestet. Rennt fehlerlos! 👍
Kannst du auch im Radius sehen wenn du den mal im Debug Mode mit freeradius -X startest. Da werden die Attribute mit dem Access Accept dann an den Switch gesendet.

Ich mach mich mal an die HP 1910er Gurke mit 802.1x.... face-wink
Member: aqui
aqui May 27, 2023, updated at May 31, 2023 at 09:15:36 (UTC)
Goto Top
So, die HP 1910 Gurke ist auch bezwungen!! 💪 Auch hier kann man wieder dem Manual folgen. 😉
Ich habe keine extra AAA Domain benutzt sondern nutze, wie bei anderen auch üblich, die Systemeinstellung.


back-to-top802.1x Funktion aktivieren und .1x Ports zuweisen


hp1

back-to-topRadius Server definieren


hp2

back-to-topRadius Passwort setzen


In meinem GUI (aktuellste Firmware Version) muss man unten den Policy Server auf die Radius Server IP setzen ansonsten meckert das GUI. Im Handbuch steht das leider nicht. 😡
hp3

back-to-topAAA Settings


Achtung! Hier wieder mit Windows "Login Automatismus", deshalb der Doppelbackslash am Usernamen! face-wink

hp4

back-to-topRadius Debug Check HP 1910


Und nun kommen auch die Radius Requests des Switches am Server an...
(0) Received Access-Request Id 0 from 10.1.10.6:3484 to 10.1.10.104:1812 length 214
(0)   User-Name = "NoteBook\\User"
(0)   Framed-MTU = 1450
(0)   EAP-Message = 0x0201001301456c697465426f6f6b5c55736572
(0)   Message-Authenticator = 0x1052dfe22325b9fb198920a8f48a8d97
(0)   NAS-IP-Address = 10.1.10.6
(0)   NAS-Identifier = "HPE1910"
(0)   NAS-Port = 16846849
(0)   NAS-Port-Id = "slot=1;subslot=0;port=17;vlanid=1"
(0)   NAS-Port-Type = Ethernet
(0)   Service-Type = Framed-User
(0)   Framed-Protocol = PPP
(0)   Calling-Station-Id = "8C-AE-4C-FE-01-94"
(0)   H3C-Connect_Id = 65537
(0)   H3C-Product-ID = "HPE V1910-48G Switch"
(0)   H3C-NAS-Startup-Timestamp = 956750411 

Works as designed!! 👍
Member: wuestenfuchs
wuestenfuchs May 30, 2023 at 09:28:50 (UTC)
Goto Top
Ein Hinweis für alle, die sich nach einem geeigneten Switch umsehen:

Wie ich feststellen musste, können Switches der Cisco 250-Serie (SG250 oder CBS250) nur eine recht simple 802.1x-Authentifizierung. D.h. folgende Funktionen sind auf diesen Switches nicht möglich:
  • VLAN-Zuweisung via RADIUS (das VLAN muss auf dem Switch manuell für den Switchport eingestellt werden)
  • MAC-based Authentication via RADIUS (geht nur mit lokaler MAC-ACL direkt auf dem Switch)
  • Der Switch kann selbst nicht als Supplicant fungieren, um sich an einem anderen Switch via RADIUS zu authentifizieren.

Diese Funktionen sind erst ab der Cisco 350er-Serie möglich (SG350 bzw. "Cisco Managed Switches der Serie 350" oder CBS350 bzw. "Cisco Business Managed Switches der Serie 350").
Member: Ueba3ba
Ueba3ba Jun 02, 2023 at 12:05:27 (UTC)
Goto Top
@aqui

Danke für deine Mühe.

Die Sache mit dem HP Switch hab ich aufgegeben. Bekomme es nicht ans laufen.
Ist in meinen Augen totaler Schrott.

Dynamische Vlan Zuweisung über die MAC Adresse funktioniert mit dem freeradius Server.
Warum es nicht mit der User-Authentifizierung funktioniert, weiß ich noch nicht.
Bin leider noch nicht dazu gekommen den freeradius-Server neu aufzusetzen.

Habe ihn aus VMWare Workstation exportiert und in VSphere 7 importiert. Daran sollte es eigentlich ja nicht liegen.
Dennoch werde ich ihn einmal neu installieren.

Geplant ist sowieso den freeradius nur für die MAC und Dyn.Vlan auf MAC Basis Authentifizierung zu nutzen.
Sind schon einige Geräte im Haus die kein dot1x unterstützen.

Für alle anderen Geräte die dotx1 unterstützen, kommt dann eben der NPS zum Einsatz.


Nochmals vielen Dank für deine hilfreichen Beiträge.
Member: aqui
aqui Jun 02, 2023, updated at Jun 12, 2023 at 12:09:47 (UTC)
Goto Top
Ist in meinen Augen totaler Schrott.
Da bist du mit deiner Meinung sicher nicht alleine. 😉
Allerdings sollten sich ja (geraten) die 1910er Konfigs nicht groß von den 1920ern unterscheiden. Die o.a. getestete Beispielkonfig des 1910ers macht auch lediglich eine simple 802.1x Port Authentisierung und bewusst erstmal keine dyn. VLANs!
Das die 1910er dynamische VLANs supporten steht so nicht in der Doku und wäre einen zusätzlichen Test wert. Wenn du also gleich mit dyn. VLANs losgelegt hast, hast du den HP ggf. überfordert wenn er dies nicht supportet?! face-wink
Warum es nicht mit der User-Authentifizierung funktioniert, weiß ich noch nicht.
Am Tutorial kann es definitiv nicht liegen, das habe ich mit Cisco, Ruckus, HP und Mikrotik absolut wasserdicht getestet. 😉
Sind schon einige Geräte im Haus die kein dot1x unterstützen.
Wenn du Cisco nutzt mit der Flexauth kann man das ja sinnvoll koppeln ala wenn das eine scheitert mach das andere.... Das können aber viele andere so in der Kombi nicht. Bei sowas sind die HP 19xxer definitiv raus.
Für alle anderen Geräte die dotx1 unterstützen, kommt dann eben der NPS zum Einsatz.
Nein, das wäre Unsinn, denn der FreeRadius kann das ja de facto auch. Nicht aufgeben... 💪
Du hast da ganz sicher noch irgendwo einen Konfig Kinken... Wichtig ist das die Tunnel Attribute eben alle REPLY definiert haben müssen im Dalo.
Lasse den Freeradius im Debug Mode laufen, dann sagt er dir ja immer genau ob die Attribute auch sicher auf den Switch zurückgehen.
Ich teste das auch gerne nochmal ohne "\\" Windblows Login Automatismus...
Nochmals vielen Dank für deine hilfreichen Beiträge.
Immer gerne! 🙂