El método más simple de combinar freeradius con mySQL falló, no sé por qué.
mysql -u root -p
Crear un radio de base de datos;
Otorgar todos los permisos en el radio. *Al radio@localhost identificado por "radpass"
Salir
El comando anterior crea una base de datos llamada radio y crea un usuario de base de datos llamado radio@localhost, la contraseña es radpass, y dados los permisos correspondientes.
2. Definición de estructura de tabla en MySQL
Para FreeRadius2, el diseño y estructura de la tabla de datos se definen en los siguientes archivos:
/etc/ raddb/SQL /MySQL/schema. Definición de la base de datos principal SQL, 7 tablas, incluida
Tabla de información de verificación del usuario de Radcheck
Tabla de información de respuesta del usuario de Radreply
Usuario de Radgroupcheck. Tabla de información de verificación de grupo
Tabla de información de verificación de grupo de usuarios de Radgroupreply
Tabla de relaciones entre usuarios y grupos de grupos de usuarios de rad
Factura de Radacct
Post- información de procesamiento de autenticación, que puede incluir registros de solicitudes de autenticación exitosas y rechazadas.
/etc/raddb/sql/mysql/nas.sql Definición del dispositivo de red, solo una tabla.
Lista de dispositivos de red Nas
La siguiente tabla se utiliza para algunas funciones de extensión y se puede importar según sea necesario.
Ippool.sql ip pool
Compatibilidad con dispositivos Wimax Wimax.sql
Compatibilidad con cui.sql cui
Para obtener una definición detallada de la tabla, consulte http://wiki.freeradius.org/MySQL_DDL_script.
3. Importar y crear la estructura de la tabla
MySQL-u root-p radio lt;/etc/raddb/SQL/MySQL/schema. lt ;/etc/raddb/sql/mysql/nas.sql
El comando anterior ejecuta las declaraciones sql de esquema.sql y nas.sql y establece la estructura de base de datos correspondiente.
4.Configuración de FreeRadius2, ¡importante! !
-El archivo de configuración principal de Radius incluye la parte sql: /etc/raddb/radiousd .
De lo contrario, se producirá un error:
No se puede cargar el módulo 'sql'.
Al mismo tiempo, también afectará la instalación de otros módulos freeradius y se producirá un error:
e: El proceso hijo /usr/bin/dpkg devolvió el error código (1)
-Configuración de la base de datos/etc/raddb/sql.conf, consistente con la definición de la base de datos (servidor de base de datos, contraseña de usuario, nombre de tabla, etc.). ):
Database="MySQL"
Login="radius"
contraseña="rad pass"
-Definición de función de base de datos Archivo: /etc/raddb/sites-available/default.
Realizar módulos relevantes para soportar bases de datos.
Se han agregado palabras clave SQL a las subsecciones Autorizar (autenticación), contabilidad (auditoría), sesión (sesión, utilizada para monitorear conexiones simultáneas) y post_auth (grabación), por ejemplo: autorizar {
Pretratamiento
Guy
mschap
Sufijo
Presión de aire equivalente (abreviatura de Presión de aire equivalente)
Lenguaje de consulta estructurado
Nipple
}
: configure la base de datos para registrar todas las solicitudes de autenticación (incluidas las rechazadas). De forma predeterminada, el módulo SQL solo registra solicitudes de autenticación exitosas (probablemente para evitar el rápido crecimiento de ataques DDoS y bases de datos). Si necesitamos activar esta función en función de consideraciones estadísticas, es muy simple. O en la sección post_auth en /etc/raddb/sites-available/default, busque o agregue el subtipo de denegación Post_Auth_Type y agregue la palabra clave sql. El principio es que después de la autenticación, si falla, ingresará al subtipo de rechazo de tipo de autenticación posterior. Si se define sql, el sistema llamará a la declaración sql definida en el archivo /sql/mysql/dialup.conf para su procesamiento. Después de la autorización {.... Lenguaje de consulta estructurado.... Después del tipo de autorización denegado {
#Error de inicio de sesión: inicie sesión en la base de datos SQL.
Lenguaje de consulta estructurado
}} 5. Pruebe para agregar una cuenta de prueba: MySQL-uroot-puse radio insertar en rad check (prueba de userdb, 'cleartext-password', contraseña 123 ' , ':=') Pruebe usando la cuenta de prueba: Inicie el servidor o use el modo de depuración: Servicio RadioUSD Reinicie el cliente de prueba: radtest userdb contraseña 123 localhost 10 prueba 123.