Situation:
Ich versuche, 802.1X für mich zum Laufen zu bringen. Ich möchte, dass der RADIUS-Server Ports basierend auf dem RADIUS-Antwortattribut für einen bestimmten Benutzer dynamisch VLANs zuweist. Ich habe einen HP E2620-Switch und einen FreeRADIUS-Server. Der Supplicant ist ein Windows 8.1-Computer
Ich habe auf dieses Dokument auf der freeradius-Website verwiesen.
Was ich bisher gemacht habe:
Auf FreeRADIUS habe ich einen Benutzer mit folgenden Parametern erstellt:
dot1xtest User-Password := "secret"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
Tunnel-Private-Group-ID = "100"
Ich habe es auch versucht Tunnel-Pvt-Group-ID
, aber es funktioniert nicht unter FreeRADIUS, sondern bellt mich nur an (ich habe dies bei Ressourcen für die Konfiguration unter Microsoft NPS gesehen, eine davon ). Außerdem habe ich die Werte "802", 802, 6 für den Tunnelmedientyp ausprobiert.
Außerdem habe ich versucht, den tatsächlichen VLAN-Namen anstelle der VLAN-ID als Gruppen-ID-Wert zu verwenden. Auf jeden Fall ist sein Datentyp Zeichenfolge.
Ich habe den HP Switch so konfiguriert, dass er diesen RADIUS-Server für AAA verwendet, und dies für Port 10 eingerichtet:
aaa port-access gvrp-vlans
aaa authentication port-access eap-radius
aaa port-access authenticator 10
aaa port-access authenticator 10 auth-vid 150
aaa port-access authenticator 10 unauth-vid 200
aaa port-access authenticator active
VLANs:
VLAN 100 - VLAN which I want to get after authentication.
VLAN 150 - VLAN which I get now, because my config is not working
VLAN 200 - Unauthorized VLAN which is used on auth. failure
Anmerkungen:
Port 10 ist auch das VLAN 150 ohne Tags zugewiesen :
vlan 150 untagged 10
. Und ich kann die statische Zuordnung nicht loswerdenAlle oben aufgeführten VLANs sind in der VLAN-Datenbank des Switch vorhanden.
Immer wenn ich an diesen Port anschließe, werden Sie nach Anmeldeinformationen gefragt. Nachdem ich die Authentifizierung erfolgreich abgeschlossen habe, werde ich nur an VLAN150 gesendet. Wenn ich versuche, einen Fehler zu machen, erhalte ich VLAN200.
Ich habe die 802.1X-Authentifizierung unter Windows-Verbindung wie hier beschrieben aktiviert .
Ich habe versucht, GVRP zu aktivieren - es ändert nichts
Ausgabe des Diagnose- / Showbefehls:
Statische VLAN-Zuweisung für Port 10. VLAN 150 ohne Tags
SW # show vlans ports 10 detail
Status and Counters - VLAN Information - for ports 10
VLAN ID Name | Status Voice Jumbo Mode
------- -------------------------------- + ---------- ----- ----- --------
150 VLAN150 | Port-based No No Untagged
In show logging
sehe ich das:
I 08/28/14 08:29:24 00077 ports: port 10 is now off-line
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by AAA
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by STP
I 08/28/14 08:29:29 00076 ports: port 10 is now on-line
I 08/28/14 08:29:29 00001 vlan: VLAN200 virtual LAN enabled
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by AAA
I 08/28/14 08:29:29 00002 vlan: UNUSED virtual LAN disabled
I 08/28/14 08:29:29 00435 ports: port 10 is Blocked by STP
I 08/28/14 08:29:29 00076 ports: port 10 is now on-line
I 08/28/14 08:29:29 00001 vlan: UNUSED virtual LAN enabled
I 08/28/14 08:29:47 00002 vlan: UNUSED virtual LAN disabled
show port-access authenticator
Ausgabe:
SW # show port-access authenticator
Port Access Authenticator Status
Port-access authenticator activated [No] : Yes
Allow RADIUS-assigned dynamic (GVRP) VLANs [No] : Yes
Auths/ Unauth Untagged Tagged % In RADIUS Cntrl
Port Guests Clients VLAN VLANs Port COS Limit ACL Dir
---- ------- ------- -------- ------ --------- ----- ------ -----
10 1/0 0 150 No No No No both
RADIUS-Benutzertest:
Linux-server # radtest dot1xtest secret localhost 0 secretkey
Sending Access-Request of id 158 to 127.0.0.1 port 1812
User-Name = "dot1xtest"
User-Password = "secret"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=158, length=37
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = 802
Tunnel-Private-Group-Id:0 = "100"
Dies habe ich in TCPdump auf dem RADIUS-Server gesehen. Ich habe ausgehenden UDP-Verkehr mit dem Quellport 1812 erfasst. Es ist das, was mein Switch erhält (wenn dies tatsächlich der Fall ist, weiß ich nicht, wie ich das überprüfen soll ...).
Tunnel Type Attribute (64), length: 6, Value: Tag[Unused]#13
0x0000: 0000 000d
Tunnel Medium Attribute (65), length: 6, Value: Tag[Unused]802
0x0000: 0000 0006
Tunnel Private Group Attribute (81), length: 5, Value: 100
0x0000: 3130 30
Debuggen:
debug security radius-server
debug security port-access authenticator
debug destination buffer
Danach habe ich das Kabel ausgesteckt und eingesteckt show debug buffer
und hier ist das Kopieren und Einfügen . Es ist seltsam, es wird nichts über irgendetwas gesagt, das mit VLAN zusammenhängt.
Fragen:
Was mache ich falsch?
Ich habe in einer Reihe von Ressourcen gelesen, dass, wenn der RADIUS einen VLAN-ID-Switch zuweist, dieser überhaupt verwendet wird. Wenn die Authentifizierung erfolgreich ist, wird auf das für Port-Access Authenticator konfigurierte autorisierte VLAN zurückgegriffen. Ist dies nicht der Fall, wird das am Port konfigurierte VLAN ohne Tags zugewiesen. Warum verstehe ich dieses Verhalten nicht?
Ich fange an zu denken, dass das Attribut Tunnel-Private-Group-Id
auf diesen Schaltern nicht unterstützt wird. Es scheint, dass sich jede Ressource Tunnel-Pvt-Group-Id
stattdessen bezieht (Konfiguration unter Microsoft). Schade, dass ich Windows Server nicht überprüfen muss.
Vielleicht hängt es mit der Firmware zusammen? Ich habe noch nicht versucht, ein Upgrade durchzuführen. Ich verwende RA_15_06_0009.swi und es gibt bereits RA_15_14_0007.swi
Aktualisieren
Habe gerade ein 3500yl-24G-PWR
Modell anprobiert und funktioniert immer noch nicht. Also ... ich denke, Switches erhalten die Konfiguration einfach nicht vom RADIUS-Server (oder habe ich falsche Attribute oder Operatoren verwendet?). Wie kann ich das beheben?
quelle
aaa port-access authenticator 10 auth-vid 150
Aussage geben sollte . IIRC würde dies den Switch anweisen, 150 für authentifizierte Geräte zu verwenden, es sei denn, er erhält einen anderen Wert als RADIUS. Ohne dies wird vermutlich nur der konfigurierte Portwert verwendet. Nicht als Antwort posten, weil ich an Speicher arbeite und es heutzutage oft fehlschlägt. Wenn es funktioniert, lass es mich wissen und ich werde es als Antwort posten.Antworten:
Alex, hallo da!
Ich habe eine Testumgebung für Sie erstellt, daher verwende ich Freeradius 2.1.12 + dfsg-1.2 (auf Debian) und schalte HP 2650 um. Ich habe gerade Ihre Konfiguration wiederholt und habe keine Probleme damit. Mein Test Procurve IP 10.0.10.29, Test Freeradius IP 192.168.2.60.
procurve config:
/ etc / freeradius / users:
/etc/freeradius/radiusd.conf:
Und ich habe dieses Handbuch verwendet, um 8021x in Windows zu aktivieren:
Aber ich habe die Verwendung von protokollierten Benutzer-Creds deaktiviert.
Also, wenn Benutzer Creds korrekt sind, habe ich diese Nachricht in /var/log/freeradius/radius.log
und auf meinem Schalter habe ich:
Wenn Creds falsch sind:
Vielleicht haben Sie 8021x in Windows nicht aktiviert? Ich hoffe das hilft dir Mann.
quelle
Wow, ich hätte nie daran gedacht. Es war nur eine zufällige Lösung.
Das Problem war also der
authorize
Abschnitt in meinerdefault
Site-Konfiguration unter/etc/raddb/sites-enabled/default
, es war eine Art Standard. Ich weiß nicht wirklich, was damit los ist (wenn ihr das wisst, kommentiert das bitte), werde ich etwas darüber recherchieren. hier ist es:Ich habe dies auskommentiert und durch nur ersetzt:
Ich hatte nicht mehr gehofft, es jemals zum Laufen zu bringen und dann habe ich mich wieder verbunden und ... es ist passiert, nur zufällig und ich bin jetzt so aufgeregt! Mir wurde dynamisch ein VLAN zugewiesen:
Debuggen:
SW # show port-access authenticator 10 vlan
- zeigt weiterhin Unauthorized VLAN 200 und Authorized VLAN 150 anSW # show vlans ports 10 detail
- Und das nicht getaggte VLAN an Port 10 wurde eingestelltVLAN 100
SW # show port-access authenticator
Wenn Sie möchten, dass es funktioniert, müssen Sie alle erforderlichen VLANs auf dem Switch erstellen. Andernfalls erhalten Sie Folgendes:
und das Windows wird nur sagen: Das
Authentication failed
ist auch etwas verwirrend.aaa port-access gvrp-vlans
Ich habe es nicht ganz geschafft, mit unbekannten VLANs zu arbeiten, obwohl GVRP aktiviert war, eingestellt wurde und ich auch explizitunknown-vlans learn
auf Schnittstelle 10 eingestellt habe, aber na ja ... nvm.quelle
Sie müssen den folgenden Befehl hinzufügen:
aaa port-access authenticator 10 auth-vid 150
Dies würde dem Switch mitteilen, dass Port 10 das von auth-vid zugewiesene VLAN für authentifizierte Geräte verwendet, sofern es keinen anderen Wert als RADIUS erhält. Ohne dies wird nur der konfigurierte Portwert verwendet und alle von RADIUS bereitgestellten VLAN-Zuweisungen ignoriert.
Ich habe ein bisschen gegraben und diesen Leckerbissen in einem meiner gespeicherten HP Dokumente gefunden:
quelle
show logging
odershow port-access authenticator
zum Beispiel)? Haben Sie dies mit einigen anderen Änderungen kombiniert, die Sie zuvor versucht haben? Vielleicht wurde eines benötigt, das Sie ausgeschlossen haben, aber vor der Arbeit fehlte auch ein anderes Stück.