[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GOSA und RADIUS- Server



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


Reply to: