Hallo Wolfgang,
die Sache mit den huntgroups will nicht funktionieren.
meine /etc/freeradius/sites-enable/default:
....
post-auth {
if ( Group == teachers ) {
noop
}
elsif ( Group == wireless && Huntgroup-Name==schueler ) {
noop
}
else {
reject
}
}
#
meine /etc/freeradius/huntgroups:
# fuer schueler in Gruppe wireless und lehrer
schueler NAS-IP-Address == 10.0.2.18
lehrer NAS-IP-Address == 10.0.2.22
lehrer NAS-IP-Address == 10.0.2.23
#
freeradius -X loggt bei einem Schüler:
# Executing section post-auth from file /etc/freeradius/sites-enabled/default
+- entering group post-auth {...}
++? if (Group == teachers )
? Evaluating (Group == teachers ) -> FALSE
++? if (Group == teachers ) -> FALSE
++? elsif (Group == wireless && Huntgroup-Name==schueler )
? Evaluating (Group == wireless ) -> TRUE
(Attribute Huntgroup-Name was not found)
? Evaluating (Huntgroup-Name==schueler ) -> FALSE
++? elsif (Group == wireless && Huntgroup-Name==schueler ) -> FALSE
++- entering else else {...}
+++[reject] returns reject
++- else else returns reject
Muss ich freeradius irgendwo vorschreiben, dass er die huntgroups ausliest oder mache ich etwas falsch?
Bin für jeden Tipp dankbar
Gruß
Thomas
------------------------------------------------------------
ursprüngliche Nachricht:
Hallo Thomas,
das sollte eigentlich so gehen (ungetestet):
Alle Access-Points in der Datei "/etc/freeradius/huntgroups"
jeweils einer Gruppe zuordnen:
# /etc/freeradius/huntgroups
schueler-aps NAS-IP-Address == 10.1.0.201
schueler-aps NAS-IP-Address == 10.1.0.202
schueler-aps NAS-IP-Address == 10.1.0.203
schueler-aps NAS-IP-Address == 10.1.0.204
schueler-aps NAS-IP-Address == 10.1.0.205
lehrer-aps NAS-IP-Address == 10.1.0.220
lehrer-aps NAS-IP-Address == 10.1.0.230
reserve-aps NAS-IP-Address == 10.1.0.240
#
In der Datei "/etc/freeradius/sites-available/default" den Abschnitt
"authorize" ergänzen um "preprocess", damit der Inhalt der Datei huntgroups
ausgewertet wird; die Bedingungen am Ende geeignet anpassen:
#/etc/freeradius/sites-available/default
authorize {
auth_log
eap {
ok = return
}
preprocess
files
}
authenticate {
Auth-Type Kerberos {
krb5
}
eap
}
accounting {
# detail
unix
radutmp
exec
attr_filter.accounting_response
}
session {
radutmp
}
# Hier wird der Zugang von Gruppen festgelegt. Beispiel: User erlauben,
# falls zu den Gruppen teachers oder wireless gehoerend, dazu noch auf
# bestimmte APs beschränken.
# "teachers" dürfen alle APs bis auf die in der Gruppe reserve-aps benutzen,
# die Gruppe "wireless" nur die schueler-aps.
post-auth {
if ( Group == teachers && Huntgroup-Name != reserve-aps ) {
noop
}
elsif ( Group == wireless && Huntgroup-Name == schueler-aps ) {
noop
}
else {
reject
}
}
-----------------------------------------------------------------------
Gruß,
Wolfgang
------------------------------------------------------------------------------------------------------------------------------- Am 24.10.2012 12:00, schrieb user-request@skolelinux.de: Send User mailing list submissions to user@skolelinux.de To subscribe or unsubscribe via the World Wide Web, visit https://www.skolelinux.de/mailman/listinfo/user or, via email, send a message with subject or body 'help' to user-request@skolelinux.de You can reach the person managing the list at user-owner@skolelinux.de When replying, please edit your Subject line so it is more specific than "Re: Contents of User digest..." Today's Topics: 1. Re: GOSA und RADIUS- Server (Wolfgang Schweer) ---------------------------------------------------------------------- Message: 1 Date: 23 Oct 2012 13:05:09 +0200 From: "Wolfgang Schweer" <wschweer@arcor.de> Subject: Re: GOSA und RADIUS- Server To: user@skolelinux.de Message-ID: <20121023110509.GA14289@schweer-online.local> Content-Type: text/plain; charset="iso-8859-1" On Fri, Oct 19, 2012 at 07:30:40PM +0200, Thomas Ritter wrote:hat Jemand von euch einen RADIUS-Server für ein WLAN am Laufen oder möchte es gern mit mir gemeinsam ausprobieren? Ich möchte einer ausgewählten Benutzergruppe ( ->GOSA) einen Zugang zum schulischen WLAN einrichten (können)Hallo Thomas, kurz aufgeschrieben, alles ohne Garantie: -------------------------------------------------------------------- Debian-Edu Squeeze: WLAN mit WPA2 Enterprise (EAP-TTLS außen, PAP im inneren Tunnel) -------------------------------------------------------------------- Als root auf tjener ausführen: (1) Kerberos-Anbindung für freeradius herstellen. kadmin -p root/admin@INTERN [Admin-Passwort eingeben] Am kadmin-Prompt Schlüssel erzeugen, in Datei ablegen, verlassen. kadmin: ank -randkey radius/tjener@INTERN kadmin: ktadd -k /etc/krb5.keytab.radius radius/tjener@INTERN kadmin: q Rechte der Datei kontrollieren, sollte 0600 sein. (2) Pakete installieren. aptget update apt-get install freeradius-krb5 (Die Pakete freeradius, freeradius-common und freeradius-utils sollten automatisch mit installiert werden.) (3) Sechs Dateien modifizieren; unten sind alle überflüssigen Inhalte weggelassen. 1. #/etc/freeradius/modules/krb5 krb5 { keytab = /etc/krb5.keytab.radius service_principal = radius/tjener } # 2. #/etc/freeradius/eap.conf: eap { default_eap_type = ttls timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 4096 md5 { } tls { certdir = ${confdir}/certs cadir = ${confdir}/certs private_key_password = whatever private_key_file = ${certdir}/server.key certificate_file = ${certdir}/server.pem CA_file = ${cadir}/ca.pem dh_file = ${certdir}/dh random_file = /dev/urandom CA_path = ${cadir} cipher_list = "DEFAULT" cache { enable = no } } ttls { default_eap_type = md5 copy_request_to_tunnel = yes use_tunneled_reply = yes virtual_server = "inner-tunnel" } } # 3. #/etc/freeradius/users # # Alternativ; bessere Zugangssteuerung ueber Gruppen ist # in der Datei ../sites-available/default realisiert. # #DEFAULT Group != "wireless", Auth-Type := Reject # Reply-Message = "Zugang nicht erlaubt" DEFAULT Auth-Type = Kerberos # 4. #/etc/freeradius/clients.conf # Client-IP (Access-Point oder Concentrator),secret und shortname # anpassen, secret im AP ebenfalls. # client 10.0.2.3 { secret = bitte_aendern shortname = ddwrt } # 5. #/etc/freeradius/sites-available/default authorize { auth_log eap { ok = return } files } authenticate { Auth-Type Kerberos { krb5 } eap } accounting { # detail unix radutmp exec attr_filter.accounting_response } session { radutmp } # Hier wird der Zugang von Gruppen festgelegt. Beispiel: User erlauben, # falls zu den Gruppen teachers oder wireless gehoerend. post-auth { if ( Group == teachers ) { noop } elsif ( Group == wireless ) { noop } else { reject } } # 6. #/etc/freeradius/sites-available/inner-tunnel server inner-tunnel { listen { ipaddr = 127.0.0.1 port = 18120 type = auth } authorize { update control { Proxy-To-Realm := LOCAL } eap { ok = return } files expiration logintime pap } authenticate { Auth-Type PAP { pap } Auth-Type Kerberos { krb5 } } session { radutmp } } (4) Den Dienst neu starten. invoke-rc.d freeradius restart Zur Fehlerkontrolle Debug-Modus: invoke-rc.d freeradius stop freeradius -X Dann Verbindung aufbauen und den Output kontrollieren. Viele Grüße, Wolfgang -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature Url : http://www.skolelinux.de/pipermail/user/attachments/20121023/7563c37b/attachment-0001.pgp ------------------------------ |