Servidor Radius en Ubuntu Server
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