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?
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.