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
Attachment:
signature.asc
Description: Digital signature