Nuestro escenario es la necesidad de un servidor Radius para poder configurar el addon de ipcop “CopSpot”.
Debemos tener instalado Ubuntu como LAMP (no voy a entrar en detalle de como instalar Apache+PHP+Mysql).
Instalamos Freeradius–> apt-get install freeradius
Instalamos el proxy entre Freeradius y mysql –> apt-get install freeradius-mysql
El fichero radiusd.conf debe quedar como muestro:
bind_address = *
proxy_requests = no
authorize {
preprocess
# auth_log
# attr_filter
chap
mschap
# digest
# IPASS
suffix
# ntdomain
eap
files
sql
# etc_smbpasswd
# ldap
# daily
# checkval
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
# digest
# pam
# unix
# Auth-Type LDAP {
# ldap
# }
eap
}
preacct {
preprocess
acct_unique
# IPASS
suffix
# ntdomain
files
}
accounting {
detail
# daily
unix
sql
radutmp
# sradutmp
# main_pool
# pgsql-voip
}
session {
radutmp
sql
}
En clients.conf debemos habilitar el cliente correspondiente. Por defecto disponemos de localhost para poder ralizar pruebas:
client 127.0.0.1 {
secret = radiussecret
nastype = other # localhost isn’t usually a NAS…
}
Cualquier otro cliente qeu deba acceder:
client 192.168.1.1 {
secret = radiussecret
short-name = loquequeramos
}
y en users debemos comentar las siguientes lineas para que el radius solo valide sobre sql y no sobre las cuentas unix:
#DEFAULT Auth-Type = System
# Fall-Through = 1
Por ultimo en /etc/freeradius/sql.conf añadimos estas lineas para que freeradius pueda acceder a mysql:
# Connect info
server = “localhost”
login = “radius”
password = “radiuspassword”
Creamos la bd en mysql –>
# mysql -u root -p
> create database radius;
> quit
Creamos las tablas de la BD y concedemos permisos al usuario–>
cd /usr/share/doc/packages/freeradius/doc/examples/
mysql -uroot -p radius root@localhost IDENTIFIED BY ‘contraseña de root‘;
> quit
Si queremos dar de alta algun usuario directamente desde mysql usaremos:
INSERT INTO radcheck (UserName, Attribute, Value) VALUES (’chux’, ‘Password’, ‘clave qeu deseamos’);
Ahora instalamos DialUpAdmin que es una interface web para manejar el servidor Radius, para esto tendremos que bajar el tar.gz de la pagina www.freeradius.org y descomprimirlo –>
cp -r freeradius-x.x.x/dialup_admin /usr/local/
ln -s /usr/local/dialup_admin/htdocs /var/www/html/dialupadmin
Una vez Configurado dialupdadmin, nos queda insertar unas tablas necesarias que encontraremos en el paquete tar.gz descomprimido anteriormente. En mi caso en la siguiente ruta “freeradius-server-2.0.4/dialup_admin/sql/mysql/”–>
mysql -h mysql.host.com -u username -p radius
Editamos el fichero dialup_admin/conf/admin.conf para configurar correctamente los datos de acceso a nuestra bd mysql-->
sql_type: mysql
sql_server: localhost
sql_port: 3306
sql_username: radiususer
sql_password: radius69passwd
sql_database: radius
Podemos ejecutar en modo debuf el freeradisu medianete freeradius -X