Cisco Port Security
Hallo 😊
Ich habe zwei LAN-Kabel die in den öffentlichen Bereich (Zählerraum, Tiefgarage) gehen. Nun würde ich gern am Cisco SG300 Port Security aktivieren. Da ich keine Lust habe mich wiedermal aus meinem Switch auszusperren, experimentiere ich an einem Port im Arbeitszimmer herum.
Mein Gedanke ist der:
Einmal hängt ein Raspberry Pi dran, und am anderen Kabel ein Access Point mit Multi VLAN MSSID Konfiguration.
Ich würde gern die Ports Sperren oder Abschalten falls jemand ein anderes Gerät anschließt.
Macht das überhaupt Sinn? Was sagen die Profis?
Muss ich die MAC Adresse für jedes VLAN angeben?
Ist das auf den Bildern alles was ich einstellen muss?
Dankeschön, liebe Grüße 😊
Ich habe zwei LAN-Kabel die in den öffentlichen Bereich (Zählerraum, Tiefgarage) gehen. Nun würde ich gern am Cisco SG300 Port Security aktivieren. Da ich keine Lust habe mich wiedermal aus meinem Switch auszusperren, experimentiere ich an einem Port im Arbeitszimmer herum.
Mein Gedanke ist der:
Einmal hängt ein Raspberry Pi dran, und am anderen Kabel ein Access Point mit Multi VLAN MSSID Konfiguration.
Ich würde gern die Ports Sperren oder Abschalten falls jemand ein anderes Gerät anschließt.
Macht das überhaupt Sinn? Was sagen die Profis?
Muss ich die MAC Adresse für jedes VLAN angeben?
Ist das auf den Bildern alles was ich einstellen muss?
Dankeschön, liebe Grüße 😊
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7433807135
Url: https://administrator.de/contentid/7433807135
Ausgedruckt am: 17.11.2024 um 15:11 Uhr
126 Kommentare
Neuester Kommentar
Guten Morgen,
das kommt ein bisschen auf die Umgebung an. Wenn du sagst die Tiefgarage ist viel frequentiert dann würde ich eher über Zertifikatsbasierte Steuerung nachdenken. Stichwort 802.1x der Pi sollte das auf jeden Fall können und beim AP ist halt abhängig davon wie alt das Model ist.
Grundsätzlich ist eine Port Security über MAC immer noch besser als gar nichts aber ein wirkliches Hindernis stellt es nicht da. MAC Adressen lassen sich dafür zu einfach fälschen.
Es ist aber halt auch eine Abwägungsentscheidung der Gegebenheiten.
Mfg Njord90
das kommt ein bisschen auf die Umgebung an. Wenn du sagst die Tiefgarage ist viel frequentiert dann würde ich eher über Zertifikatsbasierte Steuerung nachdenken. Stichwort 802.1x der Pi sollte das auf jeden Fall können und beim AP ist halt abhängig davon wie alt das Model ist.
Grundsätzlich ist eine Port Security über MAC immer noch besser als gar nichts aber ein wirkliches Hindernis stellt es nicht da. MAC Adressen lassen sich dafür zu einfach fälschen.
Es ist aber halt auch eine Abwägungsentscheidung der Gegebenheiten.
Mfg Njord90
In solchen Umfeldern macht das sogar sehr großen Sinn wenn einem die Netzwerk Sicherheit etwas bedeutet. Das ist also ein übliches und sehr oft genutztes Verfahren.
Es gibt wie Kollege @Njord90 schon richtig sagt 2 Optionen:
Letzteres verifiziert die Mac Adressen oder auch die 802.1x User Credentails über einen externen Radius Server. Damit ist dann z.B. auch die dynamische Zuweisung von VLANs möglich je nach Mac oder User Credentials. 802.1x erfordert einen Radius Server der damit auch eine zentrale User und Mac Security Verwaltung für das gesamte Netz ermöglicht. Bei statischer Port Security musst du immer jeden Switch separat anfassen.
Alles Nähere zu 802.1x beschreiben dir diese Tutorials:
Freeradius Management mit WebGUI
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Wie schon gesagt: Was du letztlich machst ist eine Abwägungsentscheidung der Gegebenheiten.
Es gibt wie Kollege @Njord90 schon richtig sagt 2 Optionen:
- Statische Port Security über die Mac Adresse(n) die man auf dem Port speichert und nur diese zulässt.
- Port Security mit 802.1x
Letzteres verifiziert die Mac Adressen oder auch die 802.1x User Credentails über einen externen Radius Server. Damit ist dann z.B. auch die dynamische Zuweisung von VLANs möglich je nach Mac oder User Credentials. 802.1x erfordert einen Radius Server der damit auch eine zentrale User und Mac Security Verwaltung für das gesamte Netz ermöglicht. Bei statischer Port Security musst du immer jeden Switch separat anfassen.
Alles Nähere zu 802.1x beschreiben dir diese Tutorials:
Freeradius Management mit WebGUI
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Wie schon gesagt: Was du letztlich machst ist eine Abwägungsentscheidung der Gegebenheiten.
Du machst einen Denkfehler!
Wenn du die Port Security auf eine IP begrenzt lernt der Switch die zuallererst auf den Port gesteckte Mac automatisch wie es auch generell üblich ist und sichert diese. Er lernt dann keine neuen Macs mehr an dem Port.
Also genau so wie es mit dem PC ja klappt.
Der Port wird nicht "gesperrt" sondern der Switch lernt einfach keine neue Mac Adresse an einem so gesicherten Ports. Ohne mac Adresse kein Layer 2 Forwarding am Switch. Einfaches Prinzip...
Mit Ports blocken hat das nichts zu tun, das wäre .1x oderMBP MAB.
Wenn du die Port Security auf eine IP begrenzt lernt der Switch die zuallererst auf den Port gesteckte Mac automatisch wie es auch generell üblich ist und sichert diese. Er lernt dann keine neuen Macs mehr an dem Port.
Also genau so wie es mit dem PC ja klappt.
Der Port wird nicht "gesperrt" sondern der Switch lernt einfach keine neue Mac Adresse an einem so gesicherten Ports. Ohne mac Adresse kein Layer 2 Forwarding am Switch. Einfaches Prinzip...
Mit Ports blocken hat das nichts zu tun, das wäre .1x oder
Aber warum funktioniert der PC an einen anderen Port nicht mehr?
Klein bisschen Nachdenken über die Grundfunktion eines Layer 2 Switches vor dem Hintergrund der Einzigartigkeit von Mac Adressen kann hier helfen... Wenn dein Switch die Mac Adresse xyz an Port A gelernt hat und diese fest dort statisch zugeordnet hat über die Port Security Option kann diese Mac normalerweise niemals mehr an einem anderen Port B zum 2ten Male auftreten. Sie ist ja einzigartig wie es Macs in der Regel sind.
Tut sie es dennoch lehnt der Switch logischerweise ein Lernen dieser Mac aktiv ab.
Ansonsten hättest du doppelte Macs in der Switch Forwarding Tabelle was technisch nicht erlaubt wäre und würde auch die Port Security Option ad absurdum führen wenn du sie durch simples Umstecken aushebeln könntest.
MBP war ein Tippfehler, sollte "MAP" heissen, sorry.
https://networklessons.com/cisco/ccie-routing-switching-written/mac-auth ...
Ich dachte der Port akzeptiert nur noch die MAC-Adressen welche im SW angelegt werden. Und der rest wird geblockt.
Das ist ja auch ganz richtig gedacht! Genau so ist es auch, diese Mac ist quasi auf dem Port "festgenagelt" ind der Mac Forwarding Tabelle/Database des Switches. Den Lock Status kannst du mit einem "no shut" wieder aufheben. (Port aktivieren). Das kann man auch automatisieren. Thema Error disable Mode.
Eigentlich ist das doch genau die Konfig die du willst wenn du nur eine einzige Mac Adresse bzw. Endgerät an dem Port zulassen möchtest? 🤔
Da ich aber sehr technikaffin bin werde ich mich mit .1x befassen.
Sehr löblich. 👍 Diese Port Security bietet dir natürlich mehr Flexibilität.Ein kleiner Raspberry Pi (Zero) oder Orange Pi reicht fürs erste dafür:
Freeradius Management mit WebGUI
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Nein, das ist natürlich nicht der normale Weg. Das ist der Error Disable Mode. Ich checke das hier mal auf meinem SG300er...
Aktuellste Image 1.4.11.5 hast du drauf?
Das Handbuch beschreibt das für die Version 1.4 ab Seite 402ff.
Seite 404 sagt wenn man als Action Shutdown gewählt hat "until reactivated". Folglich muss es noch irgendeinen Reaktivierungs Mechanismus außer dem Reboot geben.
Aktuellste Image 1.4.11.5 hast du drauf?
Das Handbuch beschreibt das für die Version 1.4 ab Seite 402ff.
Seite 404 sagt wenn man als Action Shutdown gewählt hat "until reactivated". Folglich muss es noch irgendeinen Reaktivierungs Mechanismus außer dem Reboot geben.
Der eingespritzte Seidl... 🤣
Jein... Es wäre ja letzlich nur die Mac Adresse des Management Interfaces einzutragen. Du merkst den Konjunktiv, denn...
Der AP arbeitet ja auch als einfache Bridge, sprich alle Mac Adressen sämtlicher WLAN Clients tauchen an dem Port auch auf und müssen dann entsprechend konfiguriert werden.
Hier zeigt sich jetzt die Schwäche dieses statischen Verfahrens in der Skalierbarkeit.
Es ist primär dafür da Ports mit einzelnen Endgeräten und einer Handvoll Mac Adressen abzusichern.
An Ports wo eine Vielzahl von Macs auftaucht skaliert sowas nicht und wird dann sehr schnell unbrauchbar bzw. nicht managebar. Letztlich hängt es an deiner Anzahl der WLAN Clients und dem Aufwand diese entsprechend zu pflegen an dem Port.
Da kommt dann wieder .1x oder MAB oder eine Kombination beider ins Spiel mit der solche Anforderungen dann deutlich leichter und skalierbarer umzusetzen ist.
Jein... Es wäre ja letzlich nur die Mac Adresse des Management Interfaces einzutragen. Du merkst den Konjunktiv, denn...
Der AP arbeitet ja auch als einfache Bridge, sprich alle Mac Adressen sämtlicher WLAN Clients tauchen an dem Port auch auf und müssen dann entsprechend konfiguriert werden.
Hier zeigt sich jetzt die Schwäche dieses statischen Verfahrens in der Skalierbarkeit.
Es ist primär dafür da Ports mit einzelnen Endgeräten und einer Handvoll Mac Adressen abzusichern.
An Ports wo eine Vielzahl von Macs auftaucht skaliert sowas nicht und wird dann sehr schnell unbrauchbar bzw. nicht managebar. Letztlich hängt es an deiner Anzahl der WLAN Clients und dem Aufwand diese entsprechend zu pflegen an dem Port.
Da kommt dann wieder .1x oder MAB oder eine Kombination beider ins Spiel mit der solche Anforderungen dann deutlich leichter und skalierbarer umzusetzen ist.
Mikrotik ist etwas tricky, weil der ja auch selber Radius Server und auch aktiver 802.1xs Client (Kupferport) spielen kann. Hier muss man aufpassen das man nicht Radius Server und Client Mode verwechselt. Deine Schritte hören sich aber richtig an. WLAN Security Mode muss auf "WPA2 EAP" im "Passthrough Mode" gesetzt sein!
Hast du deinen FreeRadius einmal im Debug Mode laufen lassen (freeradius -X) um grundsätzlich mal zu sehen ob überhaupt Radius Requests vom AP dort ankommen?
Siehe HIER Punkt 5.
Wenn du den Freeradius auf der Firewall nutzt solltest du über das Diagnostics Menü und der dortigen Ping Funktion auch sicherstellen das er mit der richtigen FW Absender IP auch den AP pingen kann um die Radius IP Erreichbarkeit zu verifizieren. Natürlich auch vice versa Ping AP zu Radius Server.
So sieht eine funktionierende 802.1x Bilderbuch Konfig im VLAN Umfeld aus:
Die Textpassage ist der Debug Output des Freeradius (freeradius -X) mit der Authentisierungsanfrage des Mikrotik APs.
Hast du deinen FreeRadius einmal im Debug Mode laufen lassen (freeradius -X) um grundsätzlich mal zu sehen ob überhaupt Radius Requests vom AP dort ankommen?
Siehe HIER Punkt 5.
Wenn du den Freeradius auf der Firewall nutzt solltest du über das Diagnostics Menü und der dortigen Ping Funktion auch sicherstellen das er mit der richtigen FW Absender IP auch den AP pingen kann um die Radius IP Erreichbarkeit zu verifizieren. Natürlich auch vice versa Ping AP zu Radius Server.
So sieht eine funktionierende 802.1x Bilderbuch Konfig im VLAN Umfeld aus:
Die Textpassage ist der Debug Output des Freeradius (freeradius -X) mit der Authentisierungsanfrage des Mikrotik APs.
pfSense/SSH: freeradius -X = Command not found
Hast du mit radiusd -X intuitiv richtig gemacht. 😉 Zeigt aber leider auch das du das pfSense-Radius Tutorial nicht gelesen hast! 😡Habe dann radiusd -X probiert, dass ist die Ausgabe:
Bist du als root User eingeloggt und hast du die ToDo Schritte im Punkt 5 wirklich genau befolgt??Freeradius auf pfSense
Wichtig ist das du den Daemon VORHER stoppst. (ps ax und kill id)
Da keine radiusd.conf Datei auf deiner pfSense vorhanden ist, ist zu befürchten das du gar keine .1x Radius Konfig auf deiner pfSense hast, kann das sein?? (Siehe pfSense-Radius Tutorial für die pfSense).
Ein Screenshot bzw. deine Radius Users Konf Datei wäre hier hilfreich.
Du kannst aber auch anders prüfen ob Radius Traffic vom AP zur pfSense kommt:
- Stelle Sicher das das Management VLAN 100 Verbindung zur pfSense hat und Radius Frames passieren dürfen.
- Starte im Diagnostics Menü ein Paket Capture auf dem lokalen LAN Interface
- Gib dort als Filter "Source IP" die Management IP des Mikrotik IPs an damit der nicht alles mitsniffert sondern nur den eingehenden Management Traffic des APs
- Starte einen WLAN Client und logge dich ins WLAN ein.
- Jetzt sollte im Capture entsprechende Radius Daten auftauchen. Den runterladbaren .pcap File kannst du auch noch detailierter im Wireshark ansehen.
Alternativ kannst du das auch über die "Torch" Funktion auf dem AP selber machen wenn du dir das VLAN100 Interfaces damit ansiehst.
Fehler in deinem WLAN Setup:
- Bei 2,4 Ghz gibt es nur 20 Mhz Kanalbreite und keine 40!
- 5 Ghz wäre a/ac only besser und Bandbreite auf CaCC setzen
Das sieht schonmal sehr gut aus.
Radius Requests kommen an, aber der Radius Server schickt für den Usernamen "alex" ein "Access denied" an den AP wie du ja auch selber im Debugger Output lesen kannst.
Sprich 802.1x Username und Passwort stimmen entweder nicht oder kommen nicht richtig an.
Setze unter "EAP-PEAP" den Haken bei Use Tunneled Reply! (Siehe dazu auch HIER "Abschnitt peap"!)
Das fehlt in deinem Setup und damit sollte es dann klappen.
Beachte auch die Windows Besonderheiten sofern du einen Windows 802.1x Client nutzt. (Zertifikatsprüfung abschalten etc.) HIER.
Aber kannst du dir ja jetzt sparen, denn wenn du den Debugger Mode am Freeradius laufen hast ist das umso besser, dann benötigst du das nicht mehr.
Der PEAP tunneled Reply sollte das Problem sofort fixen!
Radius Requests kommen an, aber der Radius Server schickt für den Usernamen "alex" ein "Access denied" an den AP wie du ja auch selber im Debugger Output lesen kannst.
Sprich 802.1x Username und Passwort stimmen entweder nicht oder kommen nicht richtig an.
Setze unter "EAP-PEAP" den Haken bei Use Tunneled Reply! (Siehe dazu auch HIER "Abschnitt peap"!)
Das fehlt in deinem Setup und damit sollte es dann klappen.
Beachte auch die Windows Besonderheiten sofern du einen Windows 802.1x Client nutzt. (Zertifikatsprüfung abschalten etc.) HIER.
Das mit dem Paket Capture versteh ich nicht ganz
Eigentlich ganz einfach, denn du willst ja schlicht und einfach nur die vom AP kommenden Radius Pakete mitschneiden. Also:- Diagnostics -> Packet Capture
- Interface = Das Interface bzw. IP Netz wo die Management IPs vom AP ankommen, also vermutlich das VLAN 100 Interface was ja dein Management Interface ist.
- Address family = IPv4 only
- Host address = 192.168.100.4 = deine Mikrotik AP Management IP
- Fertisch und Feuer frei...
Aber kannst du dir ja jetzt sparen, denn wenn du den Debugger Mode am Freeradius laufen hast ist das umso besser, dann benötigst du das nicht mehr.
Der PEAP tunneled Reply sollte das Problem sofort fixen!
Bzgl. WLan, habe ich nur das zur Auswahl:
20/40/80Mhz eCee ist das richtige Setting bei 5Ghz!Muss ich ein VLAN definieren?
Nein, erstmal nicht und keine dynamische VLAN Zuweisung, denn dafür musst du zusätzlich Mikrotik spezifische Radius Attribute in die users.conf Datei bingen. Das kann man dann machen wenn die Radius Authentisierung grundlegend sauber rennt! Nicht zuviele Fussfallen auf einmal!! WAS für eine Fehlermeldung im Debugger Mode bekommst du dann nach der Änderung mit dem Tunneled PEAP Reply?
Poste einmal einen kompletten Debug Durchgang der WLAN Anmeldung.
(Am besten als .txt Textfile per PM und https://schicks.digital um den Thread hier nicht zum Monsterthread aufzublähen!)
Wenn das iPhone damit rennt, der Winblows PC aber nicht, dann liegt es klar am Setup des Winblows PCs bzw. dessen 802.1x Client! Übliche Gründe:
Die Debug Datei sehe ich mir an...
Nur nebenbei:
Die pfSense gibt bei der Insallation eine entsprechende Hinweismeldung:
Daraus folgt das in jedem Falle! vorher immer ein eigenes Server Zertifikat auf der pfSense zu installieren ist!!
Wie das geht wird im Detail im pfSense VPN Tutorial erklärt!
- Vergessen die die Zertifikatsprüfung im Client auszuschalten
- Login Automatismus mit Backslash im Usernamen verwendet
Die Debug Datei sehe ich mir an...
Nur nebenbei:
Die pfSense gibt bei der Insallation eine entsprechende Hinweismeldung:
EAP certificate configuration is required before using the package.
Visit System > Cert. Manager and create a CA and a server certificate.
After that, visit Services > FreeRADIUS > EAP tab and complete
the 'Certificates for TLS' section (and, optionally, also the 'EAP-TLS' section.)
Wie das geht wird im Detail im pfSense VPN Tutorial erklärt!
Laborcheck bestätigt das es bei dir sehr wahrscheinlich an den fehlenden Server Zertifikaten der pfSense liegt. (TLS Fehlermeldung)
Generell sollte man nie mit dem Default Zertifikat arbeiten und nach einer Neuinstallation, auch schon aus Security Gründen, immer ein eigenes verwenden!
Ein finaler Test mit dem in der Doku aktualisiertem pfSense-Freeradius-Mikrotik Tutorial zeigt dann auch das es fehlerfrei rennt:
Login OK, Access Accept!
Works as designed! 👍 😉
So, und jetzt einen schönen, gekühlten Ottakringer "Seidl"!! 🍺😉
Generell sollte man nie mit dem Default Zertifikat arbeiten und nach einer Neuinstallation, auch schon aus Security Gründen, immer ein eigenes verwenden!
Ein finaler Test mit dem in der Doku aktualisiertem pfSense-Freeradius-Mikrotik Tutorial zeigt dann auch das es fehlerfrei rennt:
Received Access-Request Id 23 from 192.168.1.107:59922 to 192.168.1.1:1812 length 204
Service-Type = Framed-User
Framed-MTU = 1400
User-Name = "bob"
State = 0xde875322d78d4a1f59ce667046ae71eb
NAS-Port-Id = "wlan1"
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = "00-33-FA-7B-D9-E6"
Called-Station-Id = "B9-69-F4-2E-30-C9:MikroTik 802.1x"
EAP-Message = 0x020a002e190017030300230000000000000004dadd2251d35f66ebebb3ff829514c0556917778a02c4eac15fa4bd
Message-Authenticator = 0x7f00255f4ecd61bd433259a76adef3bf
NAS-Identifier = "MikroTik"
NAS-IP-Address = 192.168.1.107
Restoring &session-state
&session-state:Framed-MTU = 994
&session-state:TLS-Session-Information = "(TLS) recv TLS 1.3 Handshake, ClientHello"
&session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHello"
&session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Certificate"
&session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerKeyExchange"
&session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, ServerHelloDone"
&session-state:TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, ClientKeyExchange"
&session-state:TLS-Session-Information = "(TLS) recv TLS 1.2 Handshake, Finished"
&session-state:TLS-Session-Information = "(TLS) send TLS 1.2 ChangeCipherSpec"
&session-state:TLS-Session-Information = "(TLS) send TLS 1.2 Handshake, Finished"
&session-state:TLS-Session-Cipher-Suite = "ECDHE-RSA-AES256-GCM-SHA384"
&session-state:TLS-Session-Version = "TLS 1.2"
# Executing section authorize from file /usr/local/etc/raddb/sites-enabled/default
authorize {
[preprocess] = ok
[chap] = noop
[mschap] = noop
[digest] = noop
suffix: Checking for suffix after "@"
suffix: No '@' in User-Name = "bob", skipping NULL due to config.
[suffix] = noop
ntdomain: Checking for prefix before "\"
ntdomain: No '\' in User-Name = "bob", skipping NULL due to config.
[ntdomain] = noop
eap: Peer sent EAP Response (code 2) ID 10 length 46
eap: Continuing tunnel setup
[eap] = ok
} # authorize = ok
Found Auth-Type = eap
# Executing group from file /usr/local/etc/raddb/sites-enabled/default
authenticate {
eap: Expiring EAP session with state 0xde875322d78d4a1f
eap: Finished EAP session with state 0xde875322d78d4a1f
eap: Previous EAP request found for state 0xde875322d78d4a1f, released from the list
eap: Peer sent packet with method EAP PEAP (25)
eap: Calling submodule eap_peap to process data
eap_peap: (TLS) EAP Done initial handshake
eap_peap: Session established. Decoding tunneled attributes
eap_peap: PEAP state send tlv success
eap_peap: Received EAP-TLV response
eap_peap: Success
eap: Sending EAP Success (code 3) ID 10 length 4
eap: Freeing handler
[eap] = ok
} # authenticate = ok
# Executing section post-auth from file /usr/local/etc/raddb/sites-enabled/default
post-auth {
update {
&reply::Framed-MTU += &session-state:Framed-MTU[*] -> 994
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) recv TLS 1.3 Handshake, ClientHello'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, ServerHello'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, Certificate'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, ServerKeyExchange'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, ServerHelloDone'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) recv TLS 1.2 Handshake, ClientKeyExchange'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) recv TLS 1.2 Handshake, Finished'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 ChangeCipherSpec'
&reply::TLS-Session-Information += &session-state:TLS-Session-Information[*] -> '(TLS) send TLS 1.2 Handshake, Finished'
&reply::TLS-Session-Cipher-Suite += &session-state:TLS-Session-Cipher-Suite[*] -> 'ECDHE-RSA-AES256-GCM-SHA384'
&reply::TLS-Session-Version += &session-state:TLS-Session-Version[*] -> 'TLS 1.2'
} # update = noop
[exec] = noop
policy remove_reply_message_if_eap {
if (&reply:EAP-Message && &reply:Reply-Message) {
if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
else {
[noop] = noop
} # else = noop
} # policy remove_reply_message_if_eap = noop
} # post-auth = noop
Login OK: [bob] (from client lan-network port 0 cli 00-33-FA-7B-D9-E6)
Sent Access-Accept Id 23 from 192.168.1.1:1812 to 192.168.1.107:59922 length 171
MS-MPPE-Recv-Key = 0x3e89af6d557f42ac5b8b587b20794567947201983002ec6aa987e0a4c478dd6a
MS-MPPE-Send-Key = 0x4271a8f2ba58fddb2f439f0423fbf3e2ec8debe3d4644e8680bea7d75cf46a46
EAP-Message = 0x030a0004
Message-Authenticator = 0x00000000000000000000000000000000
User-Name = "bob"
Framed-MTU += 994
Finished request
Waking up in 0.9 seconds.
Cleaning up request packet ID 23 with timestamp +338
Ready to process requests
Login OK, Access Accept!
Works as designed! 👍 😉
So, und jetzt einen schönen, gekühlten Ottakringer "Seidl"!! 🍺😉
Kannst du mir aber noch sagen wie ich jetzt den Port GE15 am SG300, wo der Mikrotik AP (Multi VLAN/MSSID Setup) hängt mit 802.1x absichere?
Na, klar, das ist ein Kinderspiel... 😉Der Mikrotik AP kann selber sowohl 802.1x Client als auch Authenticator sein, auch gleichzeitig. Als Authenticator nutzt du ihn ja jetzt schon im WLAN.
Hier hast du nun 2 Optionen um den Port zu authentisieren:
- Der AP als 802.1x oder MAB Client öffnet den .1x gesicherten Switchport und schaltet ihn generell frei für alle. Das kann man machen weil du die WLAN User ja schon auf dem AP selber authentisierst.
- Der Switchport authentisiert auch nochmal alle von ihm gebridgten WLAN User.
Technisch gesehen wäre die erste Option am sinnigsten wo der AP den Switchport öffnet und für allen Traffic der über ihn gebridged wird freigibt.
Wenn du das so machst hast du auch wieder 2 Optionen:
- AP authentisiert sich mit seiner Mac Adresse am Radius (MAB) und braucht so nicht als 802.1x Client eingerichtet sein.
- AP authentisiert sich mit 802.1x und muss dann eine entsprechende .1x Client Konfig haben.
Die Port Control steht übrigens immer auf AUTO. Damit ist der Port dann im Default immer geblockt.
Habe aber Angst das ich es am Trunkport GE15 versemmel.
Warum?? Und auch wenn ist das doch kein Problem, kannst du danach ja immer wieder per Konfig wegnehmen oder korrigieren.Oder denke ich falsch, und ich sicher jetzt den Port mit MAB ab, da der Mikrotik ja als Radius Authenticator arbeitet?
Nope, du denkst richtig! Der Mikrotik ist ja bekanntlich ein Tausendsassa und kann alle 3 Funktionen auch gleichzeitig. Deshalb die Frage wie es dir am liebsten ist? 😉Planst du auch mit dynamischer VLAN Zuweisung oder willst du rein nur eine User Authentisierung?
Shame on me, PEAP ist natürlich falsch es muss natürlich EAP mit MSChapv2 sein. Sorry für den Fauxpas. ☹️
So klappt es...
und dann entsprechend auf dem Radius:
So klappt es...
und dann entsprechend auf dem Radius:
Ready to process requests
(0) Received Access-Request Id 22 from 192.168.1.2:1053 to 172.16.1.111:1812 length 139
(0) User-Name = "mikrotik"
(0) Service-Type = Framed-User
(0) Framed-MTU = 1500
(0) NAS-IP-Address = 192.168.1.2
(0) NAS-Port-Type = Ethernet
(0) NAS-Port = 2
(0) NAS-Port-Id = "1/1/2"
(0) NAS-Identifier = "Ethernet-Switch"
(0) Calling-Station-Id = "1C-3B-4B-1F-9E-2F"
(0) EAP-Message = 0x0201000d016d696b726f74696b
(0) Message-Authenticator = 0xf83b01cfbf4c54250b1d51acee8a4258
(0) Login OK: [mikrotik] (from client switch port 1 cli 1C-3B-4B-1F-9E-2F)
(0) Sent Access-Accept Id 105 from 172.16.1.111:1812 to 192.168.1.2:1073 length 0
Dann hast du einen Konfig Fehler irgendwo das ist doch offensichtlich!!
Steck doch an dem Port wo sonst der Mikrotik hängt mal einen PC oder Mac mit aktivem Dot1x dran! Wie verhält sich der denn?? Was sagt der Radius im Debugging Mode? Kommt dort überhaupt ein Radius Request vom Switch an wenn ein .1x Client an diesem Port hängt?
Wenn nein hast du einen Konfig Fehler am Switch! Port nicht für .1x aktiviert oder Radius Server nicht konfiguriert oder falsches Radius Passwort...
Fragen über Fragen...?! Den Fehler mit Debugging zu finden ist doch nun ein Leichtes...
Steck doch an dem Port wo sonst der Mikrotik hängt mal einen PC oder Mac mit aktivem Dot1x dran! Wie verhält sich der denn?? Was sagt der Radius im Debugging Mode? Kommt dort überhaupt ein Radius Request vom Switch an wenn ein .1x Client an diesem Port hängt?
Wenn nein hast du einen Konfig Fehler am Switch! Port nicht für .1x aktiviert oder Radius Server nicht konfiguriert oder falsches Radius Passwort...
Fragen über Fragen...?! Den Fehler mit Debugging zu finden ist doch nun ein Leichtes...
Dürfte also am Mikrotik AP liegen.
Eigentlich nicht wenn die .1x Credentials identisch sind.Hier mit RouterOS 7.10 an
- Cisco Catalyst 2960
- Cisco SG300
- Ruckus ICX 7150
- Mikrotik CRS305
- HP v1910
Der Mikrotik hängt abert im VLAN 100 (MGMT) kann das damit zusammenliegen?
Nöö, das ist doch völlig Wumpe VLANs haben doch mit einer Dot1x Port Authentisierung nichts zu tun...ganz andere Baustelle.Allerdings musst du natürlich darauf achten das...
- a. Der Switchwort der authentisiert statisch in VLAN 100 gelegt ist!
- b. Der Mikrotik Client an dem Port die PVID 100 eingestellt hat!
Debug geht sich im moment leider nicht aus
Wenn man jetzt wüsste was mit ausgehen meins?! Ist das wieder so ein Seidl Ding?? Ausgehen mache ich normalerweise nur mit Madame...Keine Ahnung was du damit meinst aber:
- Dein Debug Auszug des Freeradius (freeradius X) und
- die .1x Log Message am Switch
Fakt ist ja das der MT als .1x Clint etwas via Switch an den Radius sendet. Nur was und was geht ggf. schief? Da helfen die 2 o.a. Outputs ungemein. Kann ja nicht sein das es unter gleichen Voraussetzungen hier fehlerlos klappt bei dir aber nicht. 🤔
Gehe immer strategisch vor...
- Freeradius in den Debug Mode setzen
- PC .1x Client am Port testen. Kommt die Request Message etc. rennt der Debug fehlerfrei
- PC abziehen und am gleichen Port MT aufstecken
- Jetzt sollte die Request Message vom Mikrotik kommen und eine Log Message im Switch!
- Sollte keine Request Message vom MT kommen nochmal schnell PC aufstecken und checken
- Falschen Port ausgewählt im MT Setup
- Credentials stimmen nicht
- EAP MSChapv2 nicht angewählt
- Obiges stimmt aber VLAN Setups beider Ports stimmen nicht (muss UNtagged VLAN 100 bei dir sein!)
Nur der Vollständigkeit halber hier der Test auf einem Catalyst 2960:
Port Konfig Switch
interface GigabitEthernet0/3
description Authentication dot1x only
switchport mode access
authentication port-control auto
authentication periodic
dot1x pae authenticator
Dot1x Client Konfig Mikrotik
Switchlog
AUTHMGR-5-START: Starting 'dot1x' for client (6c3b.6b1f.9e8f) on Interface Gi0/3
DOT1X-5-SUCCESS: Authentication successful for client (6c3b.6b1f.9e8f) on Interface Gi0/3
AUTHMGR-7-RESULT: Authentication result 'success' from 'dot1x' for client (6c3b.6b1f.9e8f) on Interface Gi0/3
AUTHMGR-5-VLANASSIGN: VLAN 99 assigned to Interface Gi0/3
Debug Message Freeradius
Mikrotik bekommt hier optional dynamisch VLAN 99 vom Switch zugewiesen.Bei allen anderen Switchmodellen ist die Message erwartungsgemäß identisch.
.9 = Switch und .104 = Radius Server im Management Netz.
Received Access-Request Id 12 from 10.1.10.9:1645 to 10.1.10.104:1812 length 237
User-Name = "mikrotik"
Service-Type = Framed-User
Cisco-AVPair = "service-type=Framed"
Framed-MTU = 1500
Called-Station-Id = "00-17-5A-99-FA-03"
Calling-Station-Id = "6C-3B-6B-1F-9E-8F"
EAP-Message = 0x020400061a03
Message-Authenticator = 0xece51ba482cc689ee542b9834d096531
Cisco-AVPair = "audit-session-id=0A010A9500000017003B7B41"
NAS-Port-Type = Ethernet
NAS-Port = 50003
NAS-Port-Id = "GigabitEthernet0/3"
State = 0x42b4b15040b0ab65cb22b184cc02b3a8
NAS-IP-Address = 10.1.10.9
Login OK: [mikrotik] (from client test-net port 50003 cli 6C-3B-6B-1F-9E-8F)
Sent Access-Accept Id 12 from 10.1.10.104:1812 to 10.1.10.9:1645 length 0
Tunnel-Type = VLAN
Tunnel-Medium-Type = IEEE-802
Tunnel-Private-Group-Id = "99"
MS-MPPE-Encryption-Policy = Encryption-Allowed
MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
MS-MPPE-Send-Key = 0x41b5997ddcb455f24bd4595b7144de1b
MS-MPPE-Recv-Key = 0x51b1201da4b58a163f493403ef0ffd92
EAP-Message = 0x03040004
Message-Authenticator = 0x00000000000000000000000000000000
User-Name = "mikrotik"
Finished request
Fazit
Works as designed! 👍 😉Mehr "Silbertablett" geht nicht...
Bitte nicht immer alles zitieren, das ist doch sinnfrei und bläht den Thread nur unnötig auf. Wir können doch alle lesen! 🧐
Generell aber kein Problem wenn du die WinBox danach neu startest und damit dann eine neue Discovery über VLAN 100 machst, was ja dann UNtagged an dem Port anliegt.
ACHTUNG:
Gleichzeitig musst du dann logischerweise auch den Switchport auf U100 setzen was du, wie man oben leider sieht, ja versäumt hast, denn dort steht VLAN 100 immer noch auf Tagged!
Das die VLAN Enden logischerweise gleich sein müssen sollte klar sein! Ansonsten hast du einen VLAN Mismatch und man muss sich nicht groß wundern das das dann in die Hose geht.
Also...
Sobald ich auf 50T, 200T, 210T, 100U umstelle bricht sofort die Verbindung in der Winbox ab.
Das ist doch auch logisch, denn du hängst dann sehr wahrscheinlich über eine Layer 2 Session via VLAN 1 (1U) am Mikrotik. Wenn du die kappst indem du das native VLAN von 1 auf 100 änderst sägst du dir doch buchstäblich den Ast ab auf dem du sitzt.Generell aber kein Problem wenn du die WinBox danach neu startest und damit dann eine neue Discovery über VLAN 100 machst, was ja dann UNtagged an dem Port anliegt.
ACHTUNG:
Gleichzeitig musst du dann logischerweise auch den Switchport auf U100 setzen was du, wie man oben leider sieht, ja versäumt hast, denn dort steht VLAN 100 immer noch auf Tagged!
Das die VLAN Enden logischerweise gleich sein müssen sollte klar sein! Ansonsten hast du einen VLAN Mismatch und man muss sich nicht groß wundern das das dann in die Hose geht.
Also...
- Erstmal Port Security .1x kurz temporär deaktivieren am Port
- Dann den Switchtrunk aufs Native VLAN 100 setzen (U100). 50T, 200T, 210T bleibt.
- Dann Mikrotik auf PVID 100 setzen. 50T, 200T, 210T bleibt auch dort.
- Ohne Port Security testen, jetzt sollte die Winbox den MT auch wieder via VLAN 100 erreichen und pingen können. So wäre es ja auch korrekt wenn dein Management im VLAN 100 ist!! 50T, 200T, 210T Access sollte über den Port auch weiter wasserdicht klappen
- Dann Port Security einschalten auf VLAN 100 und testen
aber ich habe noch nicht rausgefunden wie man einzelne Sätze zitiert
Cut and Pasten und ein "> " davor....kinderleicht! Deine VLAN Konfig auf der Bridge ist komplett falsch für die VLAN 50, 200 und 210!
Unter "Tagged" kommt bei diesen VLANs (nicht 100!) dort zuallererst deine Bridge und dann der Port "ether1". Das muss exakt so aussehen wie du es richtigerweise am VLAN 100 gemacht hast. Logisch, denn der Switch auf der anderen Seite erwartet diese VLANs ja Tagged an seinem Switchport!
Zusätzlich musst/kannst du den Port ether1 in der Brigde auf
Bei VLAN 100 muss der Port NICHT als untagged eingetragen werden! Dort reicht NUR die Bridge!!
Bei VLAN 100 dann im Portsetting der Bridge den Port Mode auf
Siehe auch MT VLAN Tutorial!!
Der Rest ist soweit OK.
Hab das hier auf einem Catalyst 2950 mit einem hAP genauso laufen. Ich teste das aber gerne auch nochmal auf einem SG300.
bei allen VLAN soll ich PVID 100 einstellen?
Nein, das machst du natürlich nur auf Trunk Ports.glaube hier habe ich mich ausgesperrt
Ja, du hast Recht, sorry! Hab oben Unsinn geschrieben. 🤦♂️ 🙈Natürlich steht der ether1 Port auf Mode admit all und die PVID ist auf 100 gesetzt, ansonsten würde natürlich kein UNtagged 100 Traffic durchkommen.
Shame on me und sorry für den Fauxpas!! 😵💫
So Funktioniert es:
OK, du redest dann von der WLAN Connectivity, richtig?!Ich habe es rein NUR auf Kupfer ausprobiert, deshalb hängt da auch nur der Kupferport dran!!
Dein wlan2.4 ist (vermutlich) dein WLAN Interface und wenn du das natürlich ans VLAN 200 nicht anhängst klappt kein WLAN im VLAN 200, das ist ja logisch und eher ein kosmetisches Problem.
Da kein Ping von ether1 zu 192.168.100.1 möglich ist, kann niemals ein Authentication stattfinden, oder irre ich mich?
Die .100.1 ist was?? Die IP des Switches oder des MT??Wenn die Authentisierung nicht erforlgreich war ist der Port ether1 geblockt. Dann kann logischerweise KEIN IP Traffic vom Switsch Richtung MT fleissen und vice versa. Das ist so als ob du die Strippe vom Port abgezogen hast.
Klappt die Authentisierung öffnet das den Port generell und der andere VLAN Traffic fliesst dann automatisch mit da rüber. Einfache Logik!
hast das mein VLAN Konfig falsch wäre.
Sorry, hatte dein WLAN Interface nicht auf dem Radar! 🙈Die .100.1 ist das GW/pfSense im MGMT Netzwerk
OK, vom Switch ist die dann pingbar aber vom MT ohne erfolgreiche Port Authentisierung erwartungsgemäß natürlich dann nicht.Ich hab vorerst Dot1x gar nicht aktiv. Also müsste eigentlich eine Verbindung da sein. Habe ich aber nicht
Sehr gut, diese Vorgehensweise ist genau richtig! 👍Die IP Connectivity sollte dann erstmal ohne Port Auth. sauber für alle VLANs klappen.
Aber wenn du keine Connectivity hast dann stimmt ja schon ganz grundsätzlich das VLAN Handling am Koppelport MT zum Switch nicht. Da hast du dann irgendwo noch einen Kinken drin!!
Das "D" (Default) vor dem VLAN 1 ist sehr wahrscheinlich der Grund. Du hast das VLAN VOR setzen des VLAN Filtering Hakens fälschlicherweise vermutlich nicht manuell konfiguriert, sondern als Default vom System übernommen. Das kannst du daran sehen das die Settings vom VLAN 1 dann alle ausgegraut sind!
Das ist falsch! Siehe zu der Thematik die roten Hinweise im MT Tutorial!
Nur nochmal dumm nachgefragt um sicher zu gehen:
Folglich kann er selber die Switch IP auch nur von seinem VLAN 100 pingen weil er selber in keinem anderen VLAN eine Absender IP hat. Daher ist es egal ob du oben ein Interface angibst oder nicht. Er hat ja nur diese eine, einzige .100er IP.
Der MT selber sollte aber auch alle anderen VLAN IPs des Switches pingen können sofern er eine Default Route 0.0.0.0/0 auf die .100.1 des Switches hat.
Nicht das du hier einen Denkfehler machst. Der MT hat nur eine einzige IP die im Management VLAN 100 liegt. Er hat ja sonst keine andere IP und soll sie auch nicht haben, denn er ist ja nur ein bridgender AP.
Ether 1 ist ja der L2 Port der alle VLANs überträgt und im VLAN 100 hängt seine einzige IP.
Also ist das Verhalten des MTs doch auch korrekt?
Ein Client z.B. der sich an einem dem VLAN 200 gemappten WLAN anmeldet oder an einem dem VLAN 200 zugewiesenen LAN Port des MT steckt bekommt eine VLAN 200 IP und kann dann auch die .100.1 pingen weil der Switch es ja routet. Der MT selber kann aus dem VLAN 200 niemals pingen weil ihm da schlicht und einfach die IP fehlt. Logisch, denn er ist ja eine Bridge und kein Router!
Wo genau liegt denn jetzt dein Problem?
- Du routest zentral auf dem Cisco SG300? Sprich die VLANs 1, 50, 100, 200 und 210 haben jeweils IP Adressen auf dem Switch und alle IP Netze sind untereinander erreichbar?
- Die .100.1 ist die Switch L3 IP im VLAN 100?
- Der Mikrotik ist über einen Switch Trunk angeschlossen wie hier also 1 UNtagged und 50-210 tagged?
- Der Mikrotik bedient auch von seiner Seite alle diese VLANs im Layer 2. Er ist also mit seinem ether1 Port an den Switchport GE15 angeschlossen?
- Von WELCHEN anderen (VLAN) Interfaces pingst du die .100.1 und mit welchem Endgerät?
- Einem VLAN Interface auf dem Switch?
- Einem VLAN Interface auf dem Mikrotik?
- Aus anderen VLAN Interfaces kannst du die .100.1 logischerweise nur pingen wenn dein Ping Client auch eine IP in diesem anderen VLANs hat.
Folglich kann er selber die Switch IP auch nur von seinem VLAN 100 pingen weil er selber in keinem anderen VLAN eine Absender IP hat. Daher ist es egal ob du oben ein Interface angibst oder nicht. Er hat ja nur diese eine, einzige .100er IP.
Der MT selber sollte aber auch alle anderen VLAN IPs des Switches pingen können sofern er eine Default Route 0.0.0.0/0 auf die .100.1 des Switches hat.
Nicht das du hier einen Denkfehler machst. Der MT hat nur eine einzige IP die im Management VLAN 100 liegt. Er hat ja sonst keine andere IP und soll sie auch nicht haben, denn er ist ja nur ein bridgender AP.
Ether 1 ist ja der L2 Port der alle VLANs überträgt und im VLAN 100 hängt seine einzige IP.
Also ist das Verhalten des MTs doch auch korrekt?
Ein Client z.B. der sich an einem dem VLAN 200 gemappten WLAN anmeldet oder an einem dem VLAN 200 zugewiesenen LAN Port des MT steckt bekommt eine VLAN 200 IP und kann dann auch die .100.1 pingen weil der Switch es ja routet. Der MT selber kann aus dem VLAN 200 niemals pingen weil ihm da schlicht und einfach die IP fehlt. Logisch, denn er ist ja eine Bridge und kein Router!
Wo genau liegt denn jetzt dein Problem?
Zentral Route ich mit meiner pfSense 192.168.100.1 bzw. .50.1 200.1 usw....
OK, sorry, hatte ich missverstanden! Ändert ja aber nichts am Handling. Bedeutet dann nur das der Switch dann im L2 Mode rennt und die Frames dann lediglich nur auf dem tagged Trunk zur Firewall weiterreicht. Ist also lediglich kosmetisch und das gleiche was das L3 Handling anbetrifft.
Ich erreiche mi ether1 nicht meine pfSense (kanns auch nicht umstellen):
Jetzt bist du hier aber schon wieder bei der 802.1x Port Authentisierung?!Hattest du nicht gesagt du wolltest VOHER erstmal ohne Authentisierung wasserdicht das Routing vom Mikrotik in allen VLANs testen?
DAS ist die Grundvoraussetzung!! Erst wenn das alles wasserdicht klappt kannst du die Port Authentisierung am Switchport (Authenticator) und am Mikrotik (Client an ether1) aktivieren.
Ist das denn passiert und hast du das getestet?!
Oben hast du leider schon wieder 2 grobe Kardinalsfehler begangen!!! Liest du eigentlich was man dir hier postet?? 😡
Die Interfaces vlan_bridge und ether1 haben nativ KEINE IP Adressen auf dem Mikrotik. (Dürfen und sollen sie auch nicht haben wenn du das VLAN Konzept richtig konfiguriert hast!)
Wenn sie also keine IP Adressen haben wie meinst du denn soll über diese Interfaces ein Ping möglich sein? Ping ist ICMP und erfordert logischerweise immer eine IP Adresse weil ICMP auf IP basiert.
Es ist doch dann vollkommen klar und erwartbar das wenn du diese Interfaces, die völlig ohne konfigurierte IP sind, als Source Interfaces in der Ping Funktion wählst das es in die Hose geht. Keine IP Adresse, kein Ping...!
Ist doch eine sehr einfache Logik die einem auch der gesunde Menschenverstand doch schon sagt, oder?!
vlan100 "dauert immer etwas" aber das ist das einzige Interface wo es Funktioniert...
Logisch, denn das ist dein VLAN IP Interface und das Einzige mit einer gültigen IP Adresse auf dem Mikrotik. Erwartbar also das es damit selbstredend klappt!Wenn du es mit der Port Authentisierung getestet ist es auch klar das da eine kleine "Gedächtnisminute" dabei ist denn das ist die Radius Authentisierung die etwas Zeit braucht! Stoppst und startest du den Ping ein 2tes Mal sollte es dann verzögerungsfrei klappen weil der Port offen ist.
Macht also Sinn z.B. einen NTP Server auf dem MT zu setzen das z.B. solcher Traffic die Port Authentisierung schonmal triggert und den Port öffnet.
Wie Baut eigentlich der Dot1x Client eine Verbindung über das ether1 Interface, zum Cisco Switch auf?
Über EAPOL Frames auf OSI Layer-2 da zu dem Zeitpunkt ja noch keinerlei layer3 Kommunikation möglich ist.Einmal den Packet Sniffer am Mikrotik angeworfen hätte man es auch selbst gesehen was auf der Leitung abgeht.
Zeppel
Ich dachte mir nur wenn ich mit dem Interface ether1 kein Gerät im .100 Netz erreiche ist klar das es nicht Funktionieren kann...
Da hast du natürlich Recht. Wenn das schon nicht klappt, dann hast du ein generelles Problem. Aber wie du oben an deinem erfolgreichen Ping im VLAN 100 ja sehen kannst funktioniert dies ja fehlerlos. VLAN 100 IP Connectivity ist also gegeben! 👍Je nachdem WAS du für ein MT Modell dort hast kannst du einen freien LAN Port ja immer mal testweise untagged ins eins der am ether1 zu übertragenden VLANs legen und so wasserdicht die Connectivity für alle VLANs über den ether1 Trunk testen.
Wie Baut eigentlich der Dot1x Client eine Verbindung über das ether1 Interface, zum Cisco Switch auf?
Kollege @.Zeppel hat es oben ja schon erklärt. Hier kannst du es noch einmal en detail nachlesen:https://de.wikipedia.org/wiki/IEEE_802.1X
Einen weiteren groben Kardinalsfehler hat deine AP Konfig leider immer noch!
In der Definition der Bridge VLANs fehlt bei allen anderen VLANs (50, 200, 210) außer 100 dort die Angabe des VLAN Bridge Interfaces als Tagged Interface. Dann ist es klar das eine Kommunikation mit allen anderen VLANs außer 100 in die Hose geht! 🧐
Auch hier weist das MT VLAN Tutorial im Kapitel des VLAN Setups in der Bridge explizit auf diesen Punkt hin! Lesen hilft also wirklich.
Noch eine Anmerkung zum Setup:
Problematisch könnte sein das du die Authentisierung mit Tagged Frames vornimmst. Du taggst ja das Management VLAN 100 an Switchport und auch MT AP Port (ether1).
Es ist möglich das die Billigserie oder ggf. auch der MT keine 802.1x Frames getagged haben will. Zumal dein VLAN 1 keinerlei Funktion hat sofern es das Native bzw. PVID VLAN an ether1 ist!
Deutlich funktionssicherer wäre das Setup wenn du das VLAN 100 als Native VLAN an ether1 und dem Switchport überträgst!
Dazu sind folgende ToDos zu machen:
- Switchport: Hier im VLAN Port Setup das Native VLAN (untagged) auf 100 setzen. In der Anzeige sollte "U:100, 50T, 200T, 210T" stehen am Switchport in der Übersicht!
- Mikrotik:
- In der VLAN Bridge unter "VLAN" bei der ID 100 den Port ether1 vom Tagging ausnehmen (löschen). Dort (ID 100) darf als tagged Port nur das VLAN Bridge Interface selber stehen
- In der VLAN Bridge unter "Ports" die PVID am Port ether1 auf "100" setzen
So wird das VLAN 100 als native, untagged PVID VLAN an ether1 übertragen und diese Frames triggern dann sofort auch immer sicher die 802.1x Port Authentisierung!
Diese Korrektur und auch die Obige mit den falschen bzw. fehlenden Bridge Interfaces im VLAN Setup der Bridge solltest du unbedingt anpassen dann klappt das auch sofort!
Denke dran:
Immer erst alles OHNE Port Authentisierung testen das du für ALLE MSSID VLANs IP Connectivity hast! Dann erst die Port Authentisierung aktivieren!
Zitat von @hell.wien:
Tut er eben leider nicht 🥹🥹🥹
Tut er eben leider nicht 🥹🥹🥹
Dann aktiviere das Logging-Topic Dot1x auf dem Mikrotik und starte den Radius im Debug Mode (Hat @aqui oben schon geschrieben wie) und du siehst schwarz auf weiß warum.
Weiß dir zur helfen und du weißt wie du's löst 😉
Es scheint doch etwas speziell mit dem Mikrotik Dot1x Client zu sein wenn man mal debugged...
Port vorab auf dem Cisco mit einem Windows Dot1x LAN Client und Cisco Switch Dot1x Client wasserdicht geteset. Port geht fehlerlos in den "Authorized" Mode!
Im MSCHAPv2 Mode wird der Port im Radius problemlos authentisiert...
Der Switch meckert aber das ihm ein EAP Attribut fehlt und deshalb wird der Port nicht authentisiert.
Gleiches bei PEAP. Da ist also in der Tat etwas im Argen mit dem MT Client und erfordert noch etwas Forschung.
Was als einfacher Workaround erstmal half: Den Cisco auf Mac Authentisierung am Port umzustellen mit der Mikrotik Mac Adresse im Radius Server statt Dot1x.
Port vorab auf dem Cisco mit einem Windows Dot1x LAN Client und Cisco Switch Dot1x Client wasserdicht geteset. Port geht fehlerlos in den "Authorized" Mode!
Im MSCHAPv2 Mode wird der Port im Radius problemlos authentisiert...
(28) Login OK: [mikrotik] (from client lab-network port 49 cli 6C-3B-6B-1F-9E-8C)
(28) Sent Access-Accept Id 16 from 10.99.1.222:1812 to 10.1.10.1:49205 length 0
(28) MS-MPPE-Encryption-Policy = Encryption-Allowed
(28) User-Name = "mikrotik"
(28) Finished request
Gleiches bei PEAP. Da ist also in der Tat etwas im Argen mit dem MT Client und erfordert noch etwas Forschung.
Was als einfacher Workaround erstmal half: Den Cisco auf Mac Authentisierung am Port umzustellen mit der Mikrotik Mac Adresse im Radius Server statt Dot1x.
Fehlendes Server-Zertifikat am Radius? Bei PEAP zumindest zwingend für die Funktion des Tunnels ....
Das ist es leider nicht. Das trat zwar auf wenn man auf PEAP umstellt, dann meckert der Radius Server das das Zertifikat abgelaufen ist.
In der /etc/freeradius/3.0/certs ist aber eine Datei bootstrap mit der man schnell ein Testzertifikat erstellen kann.
Die Debugging Meldung im Server mit dem Zertifikat verschwindet dann. Aber mit PEAP rennt die Authentisierung dann nicht bis zum Ende durch.
Sehr wahrscheinlich muss das Server Zertifikat bzw. die CA auf dem MT installiert sein wenn der MT Client zwangsweise einen Zertifikats Check macht. Bei Windows und Cisco kann man die ZertCheck Option deaktivieren (siehe hier). Soweit hatte ich das aber mit dem MT nicht getestet...
In der /etc/freeradius/3.0/certs ist aber eine Datei bootstrap mit der man schnell ein Testzertifikat erstellen kann.
Die Debugging Meldung im Server mit dem Zertifikat verschwindet dann. Aber mit PEAP rennt die Authentisierung dann nicht bis zum Ende durch.
Sehr wahrscheinlich muss das Server Zertifikat bzw. die CA auf dem MT installiert sein wenn der MT Client zwangsweise einen Zertifikats Check macht. Bei Windows und Cisco kann man die ZertCheck Option deaktivieren (siehe hier). Soweit hatte ich das aber mit dem MT nicht getestet...
Ist auf der Bridge (R)STP aktiviert? Wenn nicht solltest du es mal einschalten. Mikrotik schreibt das dies aktiviert sein muss wenn der Port Member einer Bridge ist.
Der Dot1x Client war aber immer schon Recht Buggy. Probiere mal eine alte RouterOS-Version, irgendwann hat das wohl mal funktioniert.
Auf jeden Fall sollte die CA des Radius auf dem MIkrotik hinterlegt und als (T)rusted markiert sein, den ohne Trust der CA rückt der Mikrotik die Credentials nicht an den Radius raus.
Mikrotik benutzt da nichts von der Stange, die entwickeln das aufgrund des Speichermangels vieler ihrer Geräte und möglicher Sicherheitslücken alles selbst, deswegen läuft da nicht immer alles reibungslos weil die Implentierungen oftmals eben nicht vollständig umgesetzt wurden.
Der Dot1x Client war aber immer schon Recht Buggy. Probiere mal eine alte RouterOS-Version, irgendwann hat das wohl mal funktioniert.
Auf jeden Fall sollte die CA des Radius auf dem MIkrotik hinterlegt und als (T)rusted markiert sein, den ohne Trust der CA rückt der Mikrotik die Credentials nicht an den Radius raus.
Mikrotik benutzt da nichts von der Stange, die entwickeln das aufgrund des Speichermangels vieler ihrer Geräte und möglicher Sicherheitslücken alles selbst, deswegen läuft da nicht immer alles reibungslos weil die Implentierungen oftmals eben nicht vollständig umgesetzt wurden.
Auf jeden Fall sollte die CA des Radius auf dem MIkrotik hinterlegt und als (T)rusted markiert sein...
Das dürfte vermutlich der Schlüssel sein. Ich checke das nochmal....Wenn man damit nicht rumfrickeln will, dann ist die einfachste Altrernative den Switch auf Mac Adress Authentisierung umzustellen. (S.o.) Wenn man dann z.B. einen NTP Client auf dem MT definiert hat (was man eh immer machen sollte!) triggert die Mac Adresse des MT die Port Authentisierung und erreicht das gleiche.
Das dürfte vermutlich der Schlüssel sein.
Leider doch nicht. ca.der und ca.key auf dem MT vom Radius Server importiert und den Client entsprechend auf das Zertifikat eingestellt...Nada.
Auch der FreeRadius meckert rum was das Zertifikat angeht.
(3) eap: Expiring EAP session with state 0x060ae74a0709fedc
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! EAP session with state 0x060ae74a0709fedceef10fc1f37cd16d did not finish! !!
!! Please read http://wiki.freeradius.org/guide/Certificate_Compatibility !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(3) eap: Expiring EAP session with state 0x0dd2c9b50dd0cdb5
Interessanter ist das MT Log, denn der sagt zumindestens das er keinen Key zum Zertifikat finden kann. Das mag auch sein, denn man kann zwar die ca.key Datei importieren aber beim Import passiert nix. Die Key Usage wird nirgendwo angezeigt.
Ein Cisco Catalyst mit der .1x Supplicant Konfig
cisp enable
method md5
dot1x credentials TEST
username cisco
password 0 test123
!
interface GiagabitEthernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
dot1x pae supplicant
dot1x credentials TEST
Aber gut, mit Mac Authentication lässt sich diese .1x Problematik auf dem MT sehr einfach umgehen.
Du darfst das CA Cert nicht im Radius Client eintragen! Das Feld dort ist nur für ein Client-Cert gedacht wenn man (P)EAP-TLS Auth macht und sich mit einem CA Zertifikat ohne private Key zu authentifizieren macht ja auch keinen Sinn, sollte dir aber eigentlich selbst klar sein 😀!
Servus Kollegen,
der DOT1X Client ist leider ab RouterOS Version 7 nachvollziehbar so gut wie tot, selbst zwischen zwei Mikrotik Routern und Usermanager als Radius ist er nicht dazu zu bewegen eine Auth fehlerfrei durchzuführen. Benutzt mal die letzte 6er Version (v6.49.8) dort funktioniert er noch wie erwartet. Habe ich schon ein paar mal dem Support gemeldet, hat sich jedoch noch nichts diesbezüglichen getan,der ganze 7er Zweig ist deswegen zu meiden sollte man auf den Dot1x Client zwingend angewiesen sein, hier bleibt dann die MAC-Auth Variante wie @aqui schreibt.
Lässt sich leicht nachvollziehen wenn man sich mal die letzte ROS 6er CHR Version in einer VM installiert. Dort funktioniert der Client noch, sobald man auf irgendeine 7er Version wechselt = tot.
Über ein "EAPPOL Start" Frame kommt der Client dort nicht hinaus, er sendet noch nicht mal die EAP Identity.
Hier der Wireshark Trace mit irgendeiner RouterOS Version 7
Der Client hat dabei die MAC mit der 1f:57 am Ende. Man sieht sehr schön das der Switch immer wieder die Identity anfordert sie aber vom Client nicht bekommt
Und hier mit RouterOS 6.49.8, so wie es sein soll für eine EAP-MSCHAPv2 Auth
Grüße Uwe
der DOT1X Client ist leider ab RouterOS Version 7 nachvollziehbar so gut wie tot, selbst zwischen zwei Mikrotik Routern und Usermanager als Radius ist er nicht dazu zu bewegen eine Auth fehlerfrei durchzuführen. Benutzt mal die letzte 6er Version (v6.49.8) dort funktioniert er noch wie erwartet. Habe ich schon ein paar mal dem Support gemeldet, hat sich jedoch noch nichts diesbezüglichen getan,der ganze 7er Zweig ist deswegen zu meiden sollte man auf den Dot1x Client zwingend angewiesen sein, hier bleibt dann die MAC-Auth Variante wie @aqui schreibt.
Lässt sich leicht nachvollziehen wenn man sich mal die letzte ROS 6er CHR Version in einer VM installiert. Dort funktioniert der Client noch, sobald man auf irgendeine 7er Version wechselt = tot.
Über ein "EAPPOL Start" Frame kommt der Client dort nicht hinaus, er sendet noch nicht mal die EAP Identity.
Hier der Wireshark Trace mit irgendeiner RouterOS Version 7
Der Client hat dabei die MAC mit der 1f:57 am Ende. Man sieht sehr schön das der Switch immer wieder die Identity anfordert sie aber vom Client nicht bekommt
Und hier mit RouterOS 6.49.8, so wie es sein soll für eine EAP-MSCHAPv2 Auth
Grüße Uwe
Hallo Uwe!
Danke für das erlösende Feedback. 👍
Hatte insgeheim auch gehofft das du mitliest und etwas zu deinen Erfahrungen damit postest. Gut zu wissen. Dann kann man sich vorerst alle Liebesmüh' ersparen und der Bugfixes harren die da (hoffentlich) kommen sollen. 😉
Danke für das erlösende Feedback. 👍
Hatte insgeheim auch gehofft das du mitliest und etwas zu deinen Erfahrungen damit postest. Gut zu wissen. Dann kann man sich vorerst alle Liebesmüh' ersparen und der Bugfixes harren die da (hoffentlich) kommen sollen. 😉
Wie richte ich am SG350 die MBA richtig ein?
Bitte sieh' dir die Screenshots an die man dir hier dazu postet!! 🧐 Steht alles oben!Zitat von @hell.wien:
Wie richte ich am SG350 die MBA richtig ein?
Hat @aqui doch oben schon mit Bildern gezeigtWie richte ich am SG350 die MBA richtig ein?
Im Freeradius dann einfach statt dem Usernamen die MAC-Adresse des Clients hinterlegen, fertsch.
Zitat von @hell.wien:
Das ich am Cisco auf MBA umstelle wie am Screenshot war mir klar, nur nicht wo ich die MAC eintrage.
Na natürlich am Radius-Server (freeradius in der users Datei) 🙃, alter Schwede... glaube du solltest die Tutorials nochmal gründlicher lesen und verstehen. 🙄Das ich am Cisco auf MBA umstelle wie am Screenshot war mir klar, nur nicht wo ich die MAC eintrage.
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Hab die MAC welche in der WINBOX ersichtlich ist
Das ist auch falsch. Sorry, aber als alter, gestandene Mikrotik Schwede... ääähhh Hase solltest du solche Basics ja nun langsam mal gelernt haben. Das ist die physische Mac Adresse des LAN Ports. Dein MT connectet am Switchport aber oben, wie du selber schreibst, mit der Management Mac Adresse des VLAN 100 Interfaces, was sehr wahrscheinlich eine völlig andere Mac Adresse hat?!Diese sollte es sein die du am Radius einträgst. Achte auch auf das Format! Der Cisco übermittelt diese in der Regel alles klein und ohne Trennzeichen!
Im Zweifel lässt du deinen Radius einfach mal im Debug Mode rennen (freeradius -X oder radiusd -X) und siehst dir selber an mit welcher genauer Mac Adresse dein Mikrotik da aufschlägt! 😉
Also in Ruhe einen "Seidl" lenzen bei der Hitze und nochmal langsam mit Bedacht ans Werk! 🤣
Tja wenn man hundert mal sagen muss Radius im Debug-Mode starten und selbst nachsehen wie der Switch die MAC an den Radius versendet oder mit dem Sniffer oder Torch auf dem Interface lauschen, dann ist echt Hopfen und Malz verloren, unglaublich.
ich nehme an: 48a98a5abc6f sollte dann richtig sein?
👍Einmal steht in einem Tutorial MAC als Name und Pass eintragen: funktioniert nicht
Das ist auch genau richtig so!"48a98a5abc6f" Cleartext-Password := "48a98a5abc6f"
Dann steht man soll es mit kleinen Buchstaben eingeben: funktioniert nicht
Das kann man nie sicher so sagen und hängt logischerweise immer davon ab wie und in welchen Format der Authenticator (Switchport) diese Client Mac Information am Radius Server anliefert.Das kann 001a2b, 001A2B, 00:1A:2B, 00:1a:2b, 00-1a-2B, 00-1A-2B usw. usw. sein. Jedes Format erkennt der Radius als unterschiedliche Mac Adresse. In der Regel ist das Format in gewissen Grenzen auf dem Authenticator konfigurierbar.
Die absolut sichere Nummer: Immer mit dem Debugger nachsehen! Oder wie Kollege @7426148943 oben schon sagt, beim Mikrotik auch mit der "Torch"!
Und bevor jetzt wieder ein "geht nicht" kommt, denke daran das das Management Interface irgendeinen Traffic senden sollte um die Mac Authentisierung zu triggern. Bleibt das Management stumm, bleibt auch der Port dicht. Sinnvoll ist also den Haken bei "NTP Client" zu setzen und einen NTP Server zu konfigurieren, dann fragt der MT zyklisch immer mal nach der Uhrzeit was Management Traffic erzeugt und so den Port öffnet! Gewusst wie... 😉
48-A9-8A-5A-BC-6E
Ist falsch, denn den für uns fürs Troubleshooting wichtigsten und zielführensten Part hast du ganz oben im Trace leider abgeschnitten. Der kommt gleich zu Anfang nach dem "Ready to service all requests" mit incoming Request for xyz from... Das "xyz" ist wichtig und der korrekte Username!
Beispiel Ruckus ICX7150 Switch:
Ready to process requests
(0) Received Access-Request Id 16 from 192.168.7.181:1065 to 192.168.7.166:1812 length 128
(0) User-Name = "002185dd065c"
(0) User-Password = "002185dd065c"
(0) Service-Type = Call-Check
(0) Framed-MTU = 1500
(0) NAS-IP-Address = 192.168.7.181
(0) NAS-Port-Type = Ethernet
(0) NAS-Port = 1
(0) NAS-Port-Id = "1/1/1"
(0) NAS-Identifier = "ICX7150-Switch"
(0) Calling-Station-Id = "00-21-85-DD-06-5C"
(0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
Was logischerweise als Username zählt ist aber ausschliesslich nur das was unter "(0) User-Name = "002185dd065c" " steht.
Du kannst es aber im obigen Debug im Traceverlauf auch am "username 48a98a5abc6e" sehen wie das korrekte Format lautet!!!
Muss also so dann auch in deiner user Datei stehen!
"48a98a5abc6e" Cleartext-Password := "48a98a5abc6e"
So und jetzt nochmal deine users Datei posten mit der Mac Adresse!
Den Radius Server hast du hoffentlich nach der Änderung der users Datei neu gestartet?? Der liest diese Datei nur bei einem Neustart neu ein!
Was allerdings merkwürzig ist das bei dir oben im Debug Trace das "User-Password = ..." fehlt. 🤔
Den Radius Server hast du hoffentlich nach der Änderung der users Datei neu gestartet?? Der liest diese Datei nur bei einem Neustart neu ein!
Was allerdings merkwürzig ist das bei dir oben im Debug Trace das "User-Password = ..." fehlt. 🤔
Zitat von @aqui:
Was allerdings merkwürzig ist das bei dir oben im Debug Trace das "User-Password = ..." fehlt. 🤔
Jepp denn die RFC sagt, bei MAC Auth muss wenn es kein separates Passwort gibt das Passwort = der MAC-Adresse sein und auch übermittelt werden muss, sagt das Radius log oben ja auch schon.Was allerdings merkwürzig ist das bei dir oben im Debug Trace das "User-Password = ..." fehlt. 🤔
Cisco sollte die MAC also auch als Passwort übermitteln, da muss am Switch eine PAP Einstellung verstellt worden sein.
MAC Authentication Bypass Deployment Guide
MAC Authentication Bypass Deployment Guide
By default, the Access-Request message is a Password Authentication Protocol (PAP) authentication request, The request includes the source MAC address in the following three attributes:
•Attribute 1 (Username)
•Attribute 2 (Password)
•Attribute 31 (Calling-Station-Id)
•Attribute 1 (Username)
•Attribute 2 (Password)
•Attribute 31 (Calling-Station-Id)
Cisco sollte die MAC also auch als Passwort übermitteln
Stimmt, funktioniert aber auch so... Mikrotik
Cisco SG300 Switch
Radius Debug
Ready to process requests
(0) Received Access-Request Id 1 from 10.1.10.1:49205 to 10.99.1.222:1812 length 137
(0) NAS-IP-Address = 10.1.10.1
(0) NAS-Port-Type = Ethernet
(0) NAS-Port = 49
(0) User-Name = "6c3b6b1f9e8c"
(0) Acct-Session-Id = "05000003"
(0) Called-Station-Id = "08-CC-68-47-75-B7"
(0) Calling-Station-Id = "6C-3B-6B-1F-9E-8C"
(0) EAP-Message = 0x0200001101366333623662316639653863
(0) Message-Authenticator = 0x4d0915aba55866ddf4e0b4f195c516a5
(0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(0) authorize {
.....
(0) Login OK: [6c3b6b1f9e8c] (from client lab-network port 49 cli 6C-3B-6B-1F-9E-8C)
(0) Sent Access-Accept Id 2 from 10.99.1.222:1812 to 10.1.10.1:49205 length 0
(0) Finished request
Fazit
Works as designed!!! 👍 😉
Wenn du den Client auf ether1 aktivierst ist die MAC von ether1 die die benutzt wird, es können nur physische Interfaces für DOT1X Client benutzt werden keine virtuellen ...
physische Interfaces für DOT1X Client benutzt werden keine virtuellen
Nur zur Erinnerung im Eifer des Gefechts: Kollege @hell.wien macht wg. der o.a. Problematik ja gar kein Dot1x mehr sondern nur noch Mac Auth. Am MT wird also gar nichts mehr in der Richtung konfiguriert nur der einfache Layer 2 VLAN Switch.Dot1x sollte deshalb alles vollständig gelöscht sein bei ihm. Hoffentlich...?! 😉
So sollte es eigentlich sein... Die Mac die am Radius ankommt zählt, denn das ist ja die, die de facto vom Cisco zur Authentisierung an den Radius gemeldet wird.
Siehe Screenshot von oben was von einem Testaufbau mit einem hAP Lite mit RouterOS Ver. 7.10.2 an einem Cisco SG300 mit latest Firmware 1.4.11.5 stammt.
Management VLAN ist hier 1 statt 100 aber das ist ja nur kosmetisch.
Du kannst ja sehen das auch diese Mikrotik VLAN Interface Mac Adresse genau so wie sie im Screenshot zu sehen ist auch am Radius ankommt. Wie gesagt: Works as designed!
Dann natürlich ja , war gerade an ner anderen Baustelle.
Das siehst du richtig! Die "f" Adresse ist der interne Accesspoint. Der sendet scheinbar auch was. Müsste man sich mit einem Wireshark mal ansehen. Komisch ist aber das der WLAN AP niemals im Management VLAN sein sollte oder hast du den da sträflicherweise etwa auch mit eingehängt?!
Der Output ist hier aber mehr oder minder identisch:
Alles was virtuell an der Bridge hängt nutzt die gleiche Mac.
In deinem Log steht: "files: users: Matched entry 48a98a5abc6e at line 12"
Er findet also deinen User in der /usr/local/etc/raddb/mods-config/files/authorize Datei in Zeile 12 aber dann...
Irgendwas stimmt also mit deiner User Defintion nicht im Setup! (Fehlender Authentication Type) Deshalb gibt es trotz eingetragenem User ein Access-Reject vom Radius.
Entweder mal ein Screenshot des User Setups posten oder mit cat /usr/local/etc/raddb/mods-config/files/authorize einmal den Eintrag in der Users Datei.
Der Output ist hier aber mehr oder minder identisch:
Alles was virtuell an der Bridge hängt nutzt die gleiche Mac.
In deinem Log steht: "files: users: Matched entry 48a98a5abc6e at line 12"
Er findet also deinen User in der /usr/local/etc/raddb/mods-config/files/authorize Datei in Zeile 12 aber dann...
(1) pap: No User-Password attribute in the request. Cannot do PAP
(1) [pap] = noop
(1) WARNING: No module configured to handle comparisons with &control:Cleartext-Password
(1) WARNING: Add pap or chap to the authorize { ... } and authenticate { ... } sections of this virtual server to handle this "known good" password type
(1) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
(1) Failed to authenticate the user
(1) Using Post-Auth-Type Reject
(1) Login incorrect (Failed retrieving values required to evaluate condition): [48a98a5abc6e] (from client Cisco-Switch port 63 cli 48-A9-8A-5A-BC-6E)
(1) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(1) Sending delayed response
(1) Sent Access-Reject Id 111 from 192.168.100.1:1812 to 192.168.100.3:49205 length 44
Entweder mal ein Screenshot des User Setups posten oder mit cat /usr/local/etc/raddb/mods-config/files/authorize einmal den Eintrag in der Users Datei.
Wenn im Mikrotik das Neighbor Discovery auf ether1 aktiv ist sendet der Mikrotik auf ether1 in kurzen Abständen regelmässig LLDP und MNDP Pakete raus die dann die Auth mit der MAC von ether1 triggern.
https://wiki.mikrotik.com/wiki/Manual:IP/Neighbor_discovery
https://wiki.mikrotik.com/wiki/Manual:IP/Neighbor_discovery
Wird wohl daran liegen das die PAP /Chap Module in der Config auskommentiert wurden wenn man das hier aus dem Log oben liest
Sollte man ja dann sehen wenn man sich die config mal anschaut. Der TO sagt das Teil läuft auf einer pfSense, dann poste doch mal die Settings-Seite der Sense für den freeradius.
WARNING: No module configured to handle comparisons with &control:Cleartext-Password
(1) WARNING: Add pap or chap to the authorize { ... } and authenticate { ... } sections of this virtual server to handle this "known good" password type
O.a. Test mit dem pfSense Firewall Package wiederholt und auch gleich auf die aktuelle Ver. 2.7.0 upgedatet.
(Der Cisco SG300 Switch hat die IP: 192.168.1.102 im lokalen pfSense LAN, Switch Mac ist: 08cc684775b7)
Erwartungsgemäß taucht die Mikrotik Mac Adresse nach erfolgter Radius Authentisierung dann auch in der Mac Forwarding Tabelle des Switches auf!
Mehr "Silbertablet" geht jetzt aber nicht mehr!
pfSense Freeradius Setup
Debug Output Freeradius Package
(Der Cisco SG300 Switch hat die IP: 192.168.1.102 im lokalen pfSense LAN, Switch Mac ist: 08cc684775b7)
(2) Received Access-Request Id 15 from 192.168.1.102:49205 to 192.168.1.1:1812 length 172
(2) NAS-IP-Address = 192.168.1.102
(2) NAS-Port-Type = Ethernet
(2) NAS-Port = 49
(2) User-Name = "6c3b6b1f9e8c"
(2) Acct-Session-Id = "0500000A"
(2) State = 0x1ee81f9c1fea1b6e69740a179d90175e
(2) Called-Station-Id = "08-CC-68-47-75-B7"
(2) Calling-Station-Id = "6C-3B-6B-1F-9E-8C"
(2) Found Auth-Type = eap
(2) authenticate {
(2) eap: Peer sent packet with method EAP MD5 (4)
(2) eap: Sending EAP Success (code 3) ID 2 length 4
(2) [eap] = ok
(2) } # authenticate = ok
(2) Login OK: [6c3b6b1f9e8c] (from client pfsense port 49 cli 6C-3B-6B-1F-9E-8C)
(2) Sent Access-Accept Id 15 from 192.168.1.1:1812 to 192.168.1.102:49205 length 64
(2) User-Name = "6c3b6b1f9e8c"
(2) Framed-MTU += 994
(2) Finished request
pfSense Authentication Log
Erwartungsgemäß taucht die Mikrotik Mac Adresse nach erfolgter Radius Authentisierung dann auch in der Mac Forwarding Tabelle des Switches auf!
Fazit
Works as designed!!! 👍 😉Mehr "Silbertablet" geht jetzt aber nicht mehr!
Klar läuft das, wenn er oder jemand anderes nicht schon dran rum gebastelt hat 😉. Ansonsten eben Package zurücksetzen und clean starten, da sollte aber der TO nach 111 Posts auch von selbst drauf kommen (man kanns nur hoffen)...
ein WLAN-Netzwerk mit dem Standard WPA PSK und einem vorab festgelegten Schlüssel betreiben.
Guckst du hier:Mikrotik VLAN Konfiguration ab RouterOS Version 6.41
Bei MSSIDs wie in deinem Fall hier:
Mikrotik VLAN Konfiguration ab RouterOS Version 6.41
Das sieht in der Tat gut aus von der Konfig her.
Mit dem Radius vergibst du da dynamische VLANs?
Was sein kann ist das du vergessen hast den AP Port am Switch mit einem VLAN 210 Tag für die neue MSSID zu versehen so das die IP Adressvergabe durch die fehlende Connectivity scheitert.
Leider spezifizierst du auch nicht was mit "aber leider funktioniert dies nicht" genau gemeint ist.
Ist es die IP Connectivity? Kannst du schon die SSID nicht sehen? Scheitert schon die Assoziierung mit dem AP? Was ist es genau?
Mit dem Radius vergibst du da dynamische VLANs?
Was sein kann ist das du vergessen hast den AP Port am Switch mit einem VLAN 210 Tag für die neue MSSID zu versehen so das die IP Adressvergabe durch die fehlende Connectivity scheitert.
Leider spezifizierst du auch nicht was mit "aber leider funktioniert dies nicht" genau gemeint ist.
Ist es die IP Connectivity? Kannst du schon die SSID nicht sehen? Scheitert schon die Assoziierung mit dem AP? Was ist es genau?
Ich seh zwar das WLAN/SSID aber bekomme kein Verbindung.
Mmmhhh...das ist jetzt leider wieder widersprüchlich. Wenn es nur die IP Connectivity ist, dann kannst du dich mit dem WLAN immer verbinden, bekommst nur keine IP bzw. eine Zeroconf IP mit 169.254.x.y was du am Client ja sehen kann.
Wenn du dich schon erst gar nicht mit dem AP verbinden kannst also der WLAN Connection Prozess schon per se scheitert hat es ja erstmal nichts mit der IP Connection zu tun.
Hier machst du leider doppeldeutige Aussagen...
Da du unterschiedliche VLAN IDs verwendest für beide Verfahren nährt das den Verdacht das das Tagging am Access Point Port des Switches ggf. nicht stimmt. Das würde man dann aber an der Zerconf IP sehen wenn der Client mit dem WLAN verbunden ist.
Scheitert es schon am WLAN wäre es interessant WAS im MT Log steht dazu?!
Ein kurzer Test hier mit einem cAP und 2 MSSIDs einer mit WPA2-PSK und einer mit WPA2-Enterprise (Radius / Usermanager) funktioniert absolut problemlos. Es muss also etwas mit deinem Setup zu tun haben...
Beispielkonfiguration Mikrotik cAP mit 2 MSSIDs
(Sorry, Screenshot zeigt vertauschte Zuweisung für Usernamen und Device! !)
Radius:
PSK:
Works as designed!! 👍 😉
Tip nebenbei:
Wenn du so oder so schon eine Radius SSID am Laufen hast wäre es doch sicherheitstechnisch deutlich sinnvoller dort dynamische VLANs zu nutzen und den Nachbarn so in ein separates VLAN über seine User Credentials zu zwingen.
So kannst du verhindern das der die statischen PSKs an die 10 anderen Nachbarn weitergibt und die dann das ganze Dorf mit den Credentials versorgen.
Desweitern verschwendet man nicht kostbare WLAN Bandbreite mit weiterer "Airtime" durch MSSID Management Frames, sondern nutzt diese sinnvoll für Produktivdaten. Mit dem Radius hast du doch securitytechnisch alle Optionen.
- MSSID "MT-Radius", phys. WLAN Interface, WPA2-Enterprise (802.1x), gemappt auf VLAN 11, IP: 10.11.1.0 /24
- MSSID "MT-WPA-PSK", virtuelles WLAN Interface, WPA2-PSK, gemappt auf VLAN 99, IP: 10.99.1.0 /24
- VLAN Bridge mit 3 VLANs. 1 = (Management IP Zugang ausschliesslich über Kupferport (Security!)), 11 = (Radius WLAN), 99 = (PSK WLAN)
- VLAN 1 IP Interface DHCP Client im VLAN 1 (Management via IP ausschliesslich nur via VLAN 1!)
Inhaltsverzeichnis
VLAN Bridge Setup und IP Adressierung
- Verwendete Firmware: 7.12(stable)
- ether1 = Frame Type "admit all", PVID 1 (Management untagged)
- WiFi Interfaces = Frame Type "admit only tagged"
WLAN Interface Setup
Security Profil Setup
- PSK verwendet hier das Default Profil was auf PSK gesetzt wurde.
Radius Server Setup (Usermanager am Router)
- Router / Radius Server IP: 10.1.10.254
(Sorry, Screenshot zeigt vertauschte Zuweisung für Usernamen und Device! !)
Check mit Win 10 WLAN Client und Logging
Radius:
PSK:
Fazit
Works as designed!! 👍 😉
Tip nebenbei:
Wenn du so oder so schon eine Radius SSID am Laufen hast wäre es doch sicherheitstechnisch deutlich sinnvoller dort dynamische VLANs zu nutzen und den Nachbarn so in ein separates VLAN über seine User Credentials zu zwingen.
So kannst du verhindern das der die statischen PSKs an die 10 anderen Nachbarn weitergibt und die dann das ganze Dorf mit den Credentials versorgen.
Desweitern verschwendet man nicht kostbare WLAN Bandbreite mit weiterer "Airtime" durch MSSID Management Frames, sondern nutzt diese sinnvoll für Produktivdaten. Mit dem Radius hast du doch securitytechnisch alle Optionen.