Eduroam Installation in Zambia
Eduroam Installation in Zambia
Eduroam Installation in Zambia
1. Server Requirements
RAM at least 1 GB
HDD at least 20 GB
2. Install Ubuntu
Freeradius install
5. Install necessary aps
# apt-get install freeradius freeradius-ldap freeradius-utils
6. Test Radius
Syntax: radtest [user] [password] localhost [port (default is 1812)] testing123
# radtest first-user supersecret localhost 1812 testing123
//it should fail as no users have been added
client localhost {
ipaddr = 127.0.0.1
secret = XXXXXXXXXX
require_message_authenticator = no
}
client science-lab {
ipaddr = 192.168.0.60 //supply your ip of the access point
netmask =32
secret = XXXXXXXXXX
shortname = Science-lab
virtual_server = eduroam
}
client library {
ipaddr = 192.168.0.0 //supply your ip of the access point
netmask = 24
secret = XXXXXXXXXX
virtual_server = eduroam
}
8. Test Radius
//good practice to test radius after each configuration to determine if there are any errors.
# radtest first-user supersecret localhost 1812 testing123
proxy server {
default_fallback = no
}
home_server firstserver-givename {
type = auth+acct
ipaddr = 127.0.0.1
port = 1812
secret = XXXXXXXXXX
# status_check = status-server
check_interval = 6
response_window = 5
}
home_server_pool groupforallservers{
type = fail-over
home_server = zam-radius1
}
# National Proxy1
home_server zam-flr1 {
type = auth+acct
ipaddr = 41.63.0.19
port = 1812
secret = sharedsecretbetweenzamrenandistitution
# status_check = status-server
}
# National Proxy2
home_server zam-flr2 {
type = auth+acct
ipaddr = 41.63.0.20
port = 1812
secret = sharedsecretbetweenzamrenandistitution
# status_check = status-server
}
home_server_pool zam-flr {
type = fail-over
home_server = zam-flr1
home_server = zam-flr2
}
realm LOCAL {
nostrip
}
realm institution-domain-name.zm{
nostrip
}
realm NULL {
}
realm "~.+$" {
pool = zam-flr
nostrip
}
eap {
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
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
fragment_size = 1024
include_length = yes
check_crl = no
cipher_list = "DEFAULT"
}
ttls {
default_eap_type = mschapv2
use_tunneled_reply = yes
virtual_server = "eduroam"
}
peap {
default_eap_type = mschapv2
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "eduroam"
}
mschapv2 {
}
12 Test Radius
# radtest first-user supersecret localhost 1812 testing123
//it should work.
server eduroam {
authorize {
suffix
preprocess
auth_log
ldap
chap
mschap
pap
eap {
ok = return
}
}
authenticate {
Auth-Type LDAP{
ldap
}
Auth-Type PAP{
pap
}
Auth-Type MS-CHAP{
mschap
}
Auth-Type EAP {
eap
}
Auth-Type CHAP {
chap
}
eap
}
preacct {
preprocess
}
accounting {
detail
radutmp
unix
attr_filter.accounting_response
}
session {
radutmp
}
post-auth {
exec
reply_log
Post-Auth-Type REJECT {
reply_log
}
}
pre-proxy {
attr_filter.pre-proxy
pre_proxy_log
}
post-proxy {
eap
post_proxy_log
attr_filter.post-proxy
Post-Proxy-Type Fail {
detail
}
}
}
########Point of Interest
Auth-Type PAP {
# pap
ldap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
ldap
unix
eap
}
session {
radutmp
}
post-auth {
Post-Auth-Type REJECT {
attr_filter.access_reject
}
}
pre-proxy {
}
post-proxy {
eap
}
}
Workgroup DOMAIN
domain DOMAIN.LOCAL or ZM
DC IP w.x.y.z
[global]
workgroup = DOMAIN
security = ads
password server = w.x.y.z //ip of domain controller
realm = domain.local //FQDN
server string = %h server (Samba, Ubuntu)
syslog = 0
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
DOMAIN.LOCAL = {
kdc = w.x.y.z:88
admin_server = w.x.y.z:749
default_domain = domain.local
}
[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
// insert the path to the binary file in the line below and uncomment the line
# nano /etc/freeradius/modules/mschap
***************************
apt-get install screen
screen -x [name]
***************************
open onother window to test.
# freeradius -XXX
***************************
http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integration-HOWTO
*****************************