xaero1982
Goto Top

Ruckus ICX - 802.1x - is mac-vlan member of 2 vlans in single-untagged mode

Nabend zusammen,

folgendes Problem:
Testumgebung aufgebaut mit mehreren Ruckus ICX 7150 für 802.1x und dynamische VLAN Zuweisung.
ESX mit einem Server 2019 als NPS und DC
Konfiguration lief auf dem Switch problemlos. Ich konnte mich authentifizieren und bekam eine IP aus dem jeweiligen VLAN und konnte ich mich nicht authentifizieren wurde ich in das Gästevlan verschoben und bekam eine IP und konnte ins Web.

Nun der Umzug in die Produktivumgebung und es geht gar nichts.

- NPS im Rechenzentrum
- Außenstelle über eine Sophos SG UTM mit einer Sophos SG UTM im RZ verbunden
- NPS ist erreichbar
- Radius-Server test vom Switch aus der Außenstelle ist im Radius Eventlog zu sehen
- Radius Test auf der UTM geht auch und ist im Eventlog des NPS zu sehen
- DHCP Relay über einen IPSec Tunnel auf der UTM ging nicht. Die Anfrage kam im RZ am DC an, ging zurück, aber die kam nie an. Woran das liegt keine Ahnung.
- DHCP liegt nun daher auf der UTM

Sollte kein Problem sein, aber ich bekomme die Authentifizierungsanfragen von meinem Testgerät nicht im Eventlog zu sehen.

Des Weiteren erhalte ich nun permanent auf dem Switch die Meldung:

Nov 13 20:23:58:N:FLEXAUTH: Clearing dynamic information from Port [2/1/18] Reason [Vlan-Movement-Err]
Nov 13 20:23:58:N:FLEXAUTH: ERROR as Port 2/1/18 is mac-vlan member of 2 vlans in single-untagged mode

Sehe ich: Die Ports sind als Mac-Vlan Ports in Vlan 99 (gäste Vlan).

Bekomme ich aber nicht entfernt, weil das auch für jeden Port passiert den ich in die Authentifizierung aufnehme.

Ich komm hier nicht weiter und bräuchte mal ein paar Tipps für die Fehlerbehebung.

Hier mal die Konfig vom Switch (ist ein Stack aus 6 Switchen)

lag utm1 dynamic id 1
 ports ethe 1/3/2 ethe 3/3/2
 port-name "Uplink 1 to UTM 1" ethernet 1/3/2  
 port-name "Uplink 2 to UTM 1" ethernet 3/3/2  
!
lag utm2 dynamic id 2
 ports ethe 2/3/2 ethe 4/3/2
 port-name "Uplink 1 to UTM 2" ethernet 2/3/2  
 port-name "Uplink 2 to UTM 2" ethernet 4/3/2  
!
!
spanning-tree single
!
!
vlan 1 name DEFAULT-VLAN by port
 no untagged ethe 2/1/17 ethe 6/1/1
 spanning-tree
 management-vlan
 default-gateway  172.20.1.1 1
!
vlan 10 name 1_LAN by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 11 name 1_Voice by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 12 name 1_Print by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 13 name 1_WLAN by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 20 name 2_LAN by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 21 name 2_Voice by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 22 name 2_Print by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 23 name 2_WLAN by port
 tagged lag 1 to 2
 spanning-tree
!
vlan 99 name auth-default-vlan by port
 tagged lag 1 to 2
 spanning-tree
!
!
vlan 999 name Guest by port
 tagged lag 1 to 2
 spanning-tree
!
!
!
!
!
!
!
!
spanning-tree single 802-1w
spanning-tree single 802-1w priority 8192
!
!
!
authentication
  auth-default-vlan 99
  reauth-period 1200
  dot1x enable
  dot1x enable ethe 2/1/17 to 2/1/18 ethe 6/1/1
  dot1x guest-vlan 999
  mac-authentication enable
  mac-authentication enable ethe 2/1/17 ethe 6/1/1
!
!
aaa authentication web-server default local
aaa authentication dot1x default radius
aaa authentication login default local
boot sys fl pri
enable aaa console
ip address 172.20.1.100 255.255.255.0
ip dns domain-list blabla.local
ip dns server-address 172.16.10.23
no ip dhcp-client enable
ip multicast active
!
no telnet server
username super password .....
!
!
radius-server host 172.16.10.23 auth-port 1812 acct-port 1813 default key 2 $aFNQbCJ7S2I0ZURiaFdvXw== dot1x mac-auth
!
!
clock summer-time
clock timezone europe CET
!
!
ntp
 server 172.20.1.1
!
!
hitless-failover enable
!
!
sz registrar
!
!
!
!
!
!
!
ip ssh  idle-time 10
!
!
!
!
!
end

Edit: Wenn ich auf einem Port dot1x explizit aktiviere kommen die Meldungen am Radius an und werden rejected.

Ich habe nun mein Testgerät an einen anderen Port gehangen 1/1/18 und dot1x aktiviert. Habe den Port einmal disabled und enabled und dann kommen diese Meldungen

Nov 13 21:06:16:N:FLEXAUTH: Port 1/1/18 is added into Auth-Default Vlan 99 as mac-vlan member
Nov 13 21:06:16:N:FLEXAUTH: Clearing dynamic information from Port [1/1/18] Reason [Vlan-Movement-Err]
Nov 13 21:06:16:N:FLEXAUTH: ERROR as Port 1/1/18 pvid is different - flexauth-pvid [99] l2-pvid [1]
Nov 13 21:03:34:I:STP: VLAN 4094 Port 1/1/18 STP State -> FORWARDING (DOT1wTransition)
Nov 13 21:03:34:I:STP: VLAN 4094 Port 1/1/18 STP State -> LEARNING (DOT1wTransition)
Nov 13 21:03:30:I:STP: VLAN 4094 Port 1/1/18 STP State -> BLOCKING (DOT1wTransition)
Nov 13 21:03:30:I:System: Interface ethernet 1/1/18, state up
Und schon ist der Port ein Mac-Vlan Port in Vlan 99 und irgendwann gehen die oben genannten Fehlermeldungen los.

Grüße

Content-Key: 621930

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

Printed on: September 30, 2023 at 21:09 o'clock

Member: aqui
aqui Nov 14, 2020 updated at 19:27:24 (UTC)
Goto Top
Dein Fehler liegt daran das du die zu authentisierenden Ports mit beiden Verfahren, dot1x und Mac Bypath, parallel konfiguriert hast. Das ist so nicht möglich. Es geht immer nur entweder oder.
Zwar ist auch eine kombinierte Authentisierung z.B. erst Mac Auth und danach dot1x möglich, das muss aber durch ein Radius Attribut gesetzt werden.

Korrigiert: Ist Default bei Dot1x Mac override ! Siehe Testsetup unten.
Passe also die Konfig an, dann klappt das auch sofort. Für eine reine Mac Authentisierung kannst du dich an die folgende Beispiel Konfiguration für einen Ruckus oder Cisco Switch halten:
Cisco SG 350x Grundkonfiguration
Member: Xaero1982
Xaero1982 Nov 14, 2020 at 07:48:13 (UTC)
Goto Top
Moin,

In der Doku steht aber eindeutig, dass wenn man beide auf einem Port haben will das es mit dot1x override geht. Dann wird erst dot1x gemacht und dann mac auth. Das sehe ich ja auch im Logg.
Dot1x rejected - und dann mac auth geht. Vlan ist zugewiesen, aber als tagged - warum auch immer.
Also irgendwie geht das schon?!

Grüße
Member: aqui
aqui Nov 14, 2020 at 07:51:36 (UTC)
Goto Top
aber als tagged - warum auch immer.
Dann hast du im Radius Server ggf. "T:<vlan_id>" eingetragen ? Kann das sein ? Mit T und U kannst du immer bestimmen ob Tagged oder Untagged. Ohne Parameter gilt immer U = Untagged.
M.W. kann der Override nur durch einen Radius Parameter getriggert werden aber ich muss das auch genau nachlesen... face-wink
Member: Xaero1982
Xaero1982 Nov 14, 2020 at 07:56:10 (UTC)
Goto Top
Hatte bisher nur die VLAN ID und als ich das sah hab ich nochmal explizit U:10 eingetragen. Nix.

Ok!face-smile
Member: aqui
aqui Nov 14, 2020, updated at Oct 06, 2022 at 13:37:54 (UTC)
Goto Top
Die Lösung funktioniert wie im Security Guide Kapitel Flexible Authentication dokumentiert ! face-wink
Duale Port Authentisierung zuerst 802.1x und sollte das fehlschlagen nachfolgende Mac Authentisierung.
Getestet mit Windows 10 (21H2) und Mac OS (Monterey)
Das sind die erforderlichen Schritte:
back-to-topTest Setup:
icxtest
back-to-topWindows 10 802.1x auf dem LAN Adapter aktivieren:
Dienst DOT3SVC starten bzw. auf Automatischen Start klicken:
windot1x1

LAN Port Authentisierung customizen:
windot1x2

back-to-topClient mit Switch verbinden:
Das lässt dann sofort das Username/Passwort Fenster hochkommen zur Abfrage (ist bei Winblows identisch). Ausnahme natürlich man aktiviert die automatische Übermittlung (siehe oben).
abfrage

Mit den richtigen Credentials ist der User dann im VLAN 10 (wird dynamisch vom Radius übergeben !)
loginok

back-to-topSwitchkonfig (Port 1/2/2 ist der tagged Uplink zur Firewall):
Client Testports 1/1/1 und 1/1/2.
!
spanning-tree single
!
vlan 1 name DEFAULT-VLAN by port
 no untagged ethe 1/1/1 to 1/1/2
 spanning-tree
 management-vlan
 default-gateway  172.30.1.1 1 dynamic
!
vlan 3 name Test3 by port
 tagged ethe 1/2/2
 spanning-tree
!
vlan 10 name Test10 by port
 tagged ethe 1/2/2
 spanning-tree
!
vlan 20 name Test20 by port
 tagged ethe 1/2/2
 spanning-tree
!
spanning-tree single 802-1w
!
!
authentication
  auth-default-vlan 3
  restricted-vlan 20
  auth-fail-action restricted-vlan
  dot1x enable
  dot1x enable ethe 1/1/1 to 1/1/2
  dot1x port-control auto ethe 1/1/1 to 1/1/2
  dot1x macauth-override
  mac-authentication enable
  mac-authentication enable ethe 1/1/1 to 1/1/2
!
aaa authentication web-server default local
aaa authentication dot1x default radius
aaa authentication login default local
aaa authentication login privilege-mode
enable telnet authentication
enable super-user-password .....
enable aaa console
enable user password-masking
ip address 172.30.1.108 255.255.255.0 dynamic
ip dns domain-list testnetz.home.arpa dynamic
ip dns server-address 172.30.1.1(dynamic)
ip multicast passive
ip multicast version 3
!
telnet server enable vlan 1
username admin password .....
!
radius-server host 172.30.1.109 auth-port 1812 acct-port 1813 authentication-only key 2 $b24tbz1nIlp8OA== dot1x mac-auth (no-login)
!
clock summer-time
clock timezone europe CET
!
ntp
 server ntp1.fau.de
! 
back-to-topFunktionscheck im Radius (gekürzter Output !):
Erster Test mit rein Dot1x...
(9) Received Access-Request Id 82 from 172.30.1.108:1070 to 172.30.1.109:1812 length 188
(9)   User-Name = "vlan10"
(9)   Service-Type = Framed-User
(9)   Framed-MTU = 1500
(9)   NAS-IP-Address = 172.30.1.108
(9)   NAS-Port-Type = Ethernet
(9)   NAS-Port = 2
(9)   NAS-Port-Id = "1/1/2"
(9)   NAS-Identifier = "ICX7150-C12 Switch"
(9)   Calling-Station-Id = "56-55-CA-25-4B-BB"

(9) eap_peap: Success
(9) eap_peap: Using saved attributes from the original Access-Accept
(9) eap_peap:   Tunnel-Type = VLAN
(9) eap_peap:   Tunnel-Medium-Type = IEEE-802
(9) eap_peap:   Tunnel-Private-Group-Id = "10"
(9) eap_peap:   User-Name = "vlan10"
(9) eap: Sending EAP Success (code 3) ID 10 length 4

(9) Sent Access-Accept Id 82 from 172.30.1.109:1812 to 172.30.1.108:1070 length 0
(9)   Tunnel-Type = VLAN
(9)   Tunnel-Medium-Type = IEEE-802
(9)   Tunnel-Private-Group-Id = "10"
(9)   User-Name = "vlan10"
(9)   MS-MPPE-Recv-Key = 0x46a19385969812d4c4074f1c81e000d853f5cfc40ae5eb0cae6f8c233020d413
(9) Finished request 
Man sieht die Username Passwort Auth und dynamische Zuweisung des VLANs

Zweiter Test mit einem willentlichen falschen Usernamen "blabla"...
(49) Received Access-Request Id 71 from 172.30.1.108:1068 to 172.30.1.109:1812 length 188
(49)   User-Name = "blabla"
(49)   Service-Type = Framed-User
(49)   Framed-MTU = 1500
(49)   NAS-IP-Address = 172.30.1.108
(49)   NAS-Port-Type = Ethernet
(49)   NAS-Port = 2
(49)   NAS-Port-Id = "1/1/2"
(49)   NAS-Identifier = "ICX7150-C12 Switch"
(49)   Calling-Station-Id = "52-55-CA-25-4B-BB"

(49) eap: Peer sent EAP Response (code 2) ID 9 length 46
(49) eap: Continuing tunnel setup
(49)     [eap] = ok
(49)   } # authorize = ok
(49) Found Auth-Type = eap
(49) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(49)   authenticate {

(49)   } # authenticate = invalid
(49) Failed to authenticate the user
(49) Using Post-Auth-Type Reject

(49) Sent Access-Reject Id 71 from 172.30.1.109:1812 to 172.30.1.108:1068 length 44

(50) Received Access-Request Id 72 from 172.30.1.108:1069 to 172.30.1.109:1812 length 128
(50)   User-Name = "5255ca254bbb"
(50)   User-Password = "5255ca254bb"
(50)   Service-Type = Call-Check
(50)   Framed-MTU = 1500
(50)   NAS-IP-Address = 172.30.1.108
(50)   NAS-Port-Type = Ethernet
(50)   NAS-Port = 2
(50)   NAS-Port-Id = "1/1/2"
(50)   NAS-Identifier = "ICX7150-C12 Switch"
(50)   Calling-Station-Id = "52-55-CA-25-4B-BB"

(50) Sent Access-Accept Id 72 from 172.30.1.109:1812 to 172.30.1.108:1069 length 0
(50)   Tunnel-Type = VLAN
(50)   Tunnel-Medium-Type = IEEE-802
(50)   Tunnel-Private-Group-Id = "10"
(50) Finished request 
Hier kann man sehr schön sehen das der 802.1x Versuch mit dem Phantasieuser blabla fehlschlägt und direkt danach die Mac Authentisierung ausgeführt wird ! (Radius Request Sequencenummer 49 und 50)

Fazit:
Works as designed !! face-wink

Achtung!: bei dynamischen VLANs mit OPNsense FreeRadius Plugin:
OPNSense FreeRadius Server-MAC Authentication-dynamische VLAN Zuweisung

Nun kommt die Kür mit dem übers VPN abgesetzen Radius....
Kann dir aber schon zu 98% sagen das das auch fehlerlos klappen wird ! face-wink
Member: Xaero1982
Xaero1982 Nov 14, 2020 at 14:49:32 (UTC)
Goto Top
Sieht gut aus.
Habe die Einstellungen mal auf meinem Testrechner mit deinen abgeglichen. Bei mir poppt nichts auf. Ich bekomme nur eine Apipaadresse und das wars.

Mein Problem ist ja aber dann auch: Die Nutzer machen den Rechner an und wollen sich anmelden und da das Gerät keine IP hat kann sich auch keiner anmelden?!

Meine Switchconfig ist nun leider auch nicht wirklich anders ace-sad"

Grüße
Matze
Member: Xaero1982
Xaero1982 Nov 14, 2020 at 15:12:37 (UTC)
Goto Top
Ich habe in den erweiterten Einstellungen das einmalige Anmelden für dieses Netzwerk aktivieren aktiviert und die beiden Haken darunter gesetzt.

Jetzt kann ich mich endlich anmelden!!! und bekomme das richtige VLAN beim Test.

Mal sehen wie es weiter geht!
Member: aqui
aqui Nov 14, 2020 updated at 17:11:57 (UTC)
Goto Top
und wollen sich anmelden und da das Gerät keine IP hat kann sich auch keiner anmelden?!
Das zeigt dann aber das der Dot1x Client auf dem Rechner nicht läuft !!
Zum Aufpoppen der Dot1x User Credentials braucht es keine IP Adresse. Das machen rein die EAPol Pakete die dann am Port ausgetauscht werden. IP ist da noch gar nicht im Spiel.
Erst wenn der Port sauber authentisiert ist, ist er auch "offen" und dann können auch die DHCP Pakete passieren.
Ein fehlendes User/pass Fenster bedeutet also imemr das kein Dot1x aktiv ist am Client. Bei Winblows ist das blöd da dieser Dienst im Default deaktiviert ist.
Ich habs wie gesagt parallel auch mit Mac OS und Linux getestet (Linux nutzt den eap_supplicant). Beide sind da etwas agiler als Winblows, aber nur etwas. Letztlich sind alle gleich.
Die gesamte Technik dahinter wird hier recht gut erklärt:
https://serwiss.bib.hs-hannover.de/frontdoor/deliver/index/docId/1307/fi ...

Gut wenns jetzt erstmal rennt wie es soll. face-wink
Member: Xaero1982
Xaero1982 Nov 14, 2020 at 17:27:05 (UTC)
Goto Top
Doch doch der Dienst ist aktiv und rennt auch. Aber anscheinend muss man diese Einstellung setzen damit es läuft.

Nächste Baustelle Accesspoint face-smile Ich kann mich anmelden an den Geräten, aber bekomme keine IP. Authentifizierung erfolgt und wird gewährt.

Netzwerk ist in ein anderes VLAN gebridged auf der UTM. Na mal sehen face-smile
Member: aqui
aqui Nov 14, 2020 at 17:31:03 (UTC)
Goto Top
Aber anscheinend muss man diese Einstellung setzen damit es läuft.
Kannst du da mal einen Screenshot posten ?
Netzwerk ist in ein anderes VLAN gebridged auf der UTM.
Da immer dran denken das du bei einer Bridge dann die IP Adresse an das Bridge Interface hängst und nicht an einen Member Port der Bridge !
Member: Xaero1982
Xaero1982 Nov 14, 2020 updated at 17:40:25 (UTC)
Goto Top
Zitat von @aqui:

Aber anscheinend muss man diese Einstellung setzen damit es läuft.
Kannst du da mal einen Screenshot posten ?
whatsapp image 2020-11-14 at 18.35.28.
>

Netzwerk ist in ein anderes VLAN gebridged auf der UTM.
Da immer dran denken das du bei einer Bridge dann die IP Adresse an das Bridge Interface hängst und nicht an einen Member Port der Bridge !

What? Sorry, aber kannst du das erklären bitte?
Ich habe auf der UTM ein VLAN
Verschlüsselung:
Verschlüsselungsmethode: WPA2 - Enterprise
Clientverkehr: in vlan bridgen
In vlan id bridgen: 10
Client Vlan id: Radius & statisch

Da es mehrere APs sind und auch noch andere WLANs sind die in einer Gruppe bei der ich Vlan Tagging aktivieren musste. Da habe ich einfach mal VLAN 2 genommen.

Grüße
Member: aqui
aqui Nov 14, 2020, updated at Aug 27, 2022 at 10:04:53 (UTC)
Goto Top
What? Sorry, aber kannst du das erklären bitte?
Du schriebst oben (Zitat) "...ist in ein anderes VLAN gebridged auf der UTM""
Ein Bridging Interface nutzt man wenn man mehrere Interfaces (Ports) der Firewall über eine Bridge im Layer 2 koppelt und dann an diese Bridge ein IP Interface koppelt. Das war damit gemeint.
Möglich aber das das missverständlich ist und du damit ein stinknormales VLAN Interface meinst...
Verschlüsselungsmethode: WPA2 - Enterprise
Interessante Verschlüsselungsmethode für ein VLAN. ­čśë Vermutlich fehlt da noch die andere Hälfte (VV) des Buchstabens ?!