onkelheini
Goto Top

Radius Anmeldung über freeradius 3 filtert Attribute, soll aber nicht!

Hallo,

ich habe einen freeradius 3 Server der zur Anmeldung ans WLAN genutzt wird. Funktioniert auch.
Es gibt mehrere SSIDs, eine für die Anmledung via WPA2 und RADIUS an einen NPS (MS Server 2012R2)
und eine WPA2 und RADIUS an einen freeradius und dann zum NPS.
Wenn die Pakete über den freeradius geleitet werden fehlen mir am NPS die Attribute, die ich für die VLAN zuordnung benötige.
In freeradius wird aber kein Filter genutzt. Die Frage ist nun warum werden diese nicht transportiert? Muss man Attribute expliziet angeben die durchgeleitet werden sollen???

Besten Dank
Heini

Content-Key: 371137

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

Printed on: April 19, 2024 at 15:04 o'clock

Member: aqui
aqui Apr 13, 2018, updated at May 15, 2023 at 14:33:20 (UTC)
Goto Top
Member: OnkelHeini
OnkelHeini Apr 16, 2018 at 06:43:34 (UTC)
Goto Top
Guten Morgen.

Ich habe mir am Wochenende die Anleitungen durchgelesen und einige Stunden mit verschieden Konfigurationen erfolglos getestet.
Über ein WLAN bei dem sich die User via WPA2-Enterprise und Radius am AD bzw. NPS anmelden, verwende ich die NAS-IP-Address und Windows-Gruppe um dem Client ein VLAN zuzuordnen. Funktionier einwandfrei.
Ein anderes WLAN (eduroam) wird über einen freeradius 3.0 geleitet, bei dem ich leider das Attribut "NAS-IP-Address" nicht am NPS auswerten kann, da es in den Paketen nicht enthalten ist.
Ich habe in der /etc/raddb/mods-enabled/eap ttls - use_tunneled_reply auf yes gestellt, änder nichts. Im Bereich peap ist use_tunneled_reply auf yes gestellt.
Anbei die /etc/raddb/mods-enabled/eap
eap {
default_eap_type = md5
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = ${max_requests}
md5 {
}
leap {
}
gtc {
auth_type = PAP
}
tls-config tls-common {
private_key_password = whatever
private_key_file = ${certdir}/eduroam.key
certificate_file = ${certdir}/eduroam.pem
ca_file = ${cadir}/ca.pem
dh_file = ${certdir}/dh
ca_path = ${cadir}
cipher_list = "DEFAULT"
ecdh_curve = "prime256v1"
cache {
enable = no
lifetime = 24 # hours
}
verify {
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
}
}
tls {
tls = tls-common
}
ttls {
tls = tls-common
default_eap_type = md5
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
}
peap {
tls = tls-common
default_eap_type = mschapv2
copy_request_to_tunnel = no
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
mschapv2 {
}
}

In der /etc/raddb/mods-config/attr_filter/pre-proxy gibt es die Zeile NAS-IP-Address =* ANY,
Wennn ich diese auskommentiere ändert sich nichts.

/etc/raddb/mods-config/attr_filter/pre-proxy
DEFAULT
User-Name =* ANY,
User-Password =* ANY,
CHAP-Password =* ANY,
CHAP-Challenge =* ANY,
MS-CHAP-Challenge =* ANY,
MS-CHAP-Response =* ANY,
EAP-Message =* ANY,
Message-Authenticator =* ANY,
State =* ANY,
NAS-IP-Address =* ANY,
NAS-Identifier =* ANY,
Operator-Name =* ANY,
Calling-Station-Id =* ANY,
Chargeable-User-Identity =* ANY,
Proxy-State =* ANY

In /etc/raddb/sites-enabled/ gibt es eine Konfigurationsdatei für default und eine für inner-tunnel

Magst du noch mal schauen was ich ändern muss?
Member: aqui
Solution aqui Apr 16, 2018 at 14:19:44 (UTC)
Goto Top
Die Frage ist nun warum werden diese nicht transportiert?
Hast du mal mit dem Wireshark geprüft ob diese Attribute vom NAS Device schon fehlen ? Wenn ja, dann liegt es natürlich nicht am Radius sondern am NAS Device selber.
Die NAS IPs die "dürfen" werden am FreeRadius in der clients.conf definiert. Idealerweise gibt man hier erstmal die Netzadresse an um nicht jedes Device einzelnd konfigurieren zu müssen.
Du solltest dir dann mal einen eingehenden Request ansehen was da übertragen wird.
Fehlende Parameter die vom NAS Device selber schon fehlen kann der Radius natürlich nicht "raten". Wenn du den FreeRadius mal im Debugger Mode startest mit -X dann kannst du aber sehen das der die NAS IP auch anzeigt.
Deine Konfig sieht eigentlich richtig aus.
Member: OnkelHeini
OnkelHeini Apr 18, 2018 at 09:02:58 (UTC)
Goto Top
So jetzt läuft es.

Mit folgenden Parametern:
copy_request_to_tunnel = yes
use_tunneled_reply = yes


/etc/raddb/mods-enabled/eap
eap {
default_eap_type = md5
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = ${max_requests}
md5 {
}
leap {
}
gtc {
auth_type = PAP
}
tls-config tls-common {
private_key_password = whatever
private_key_file = ${certdir}/eduroam.key
certificate_file = ${certdir}/eduroam.pem
ca_file = ${cadir}/ca.pem
dh_file = ${certdir}/dh
ca_path = ${cadir}
cipher_list = "DEFAULT"
ecdh_curve = "prime256v1"
cache {
enable = no
lifetime = 24 # hours
}
verify {
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
}
}
tls {
tls = tls-common
}
ttls {
tls = tls-common
default_eap_type = md5
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
peap {
tls = tls-common
default_eap_type = mschapv2
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "inner-tunnel"
}
mschapv2 {
}
}


Gruß
Heini
Member: aqui
aqui Apr 19, 2018 at 10:12:25 (UTC)
Goto Top
Glückwunsch ! So sollte es sein (und war es auch gemeint oben) face-wink
Dank auch für das Konfig Feedback. Ist bestimmt dem einen oder anderen eine Hilfe hier !