En RHEL 8:
```
sudo yum instalar freeradius freeradius-utils -y
```
En RHEL 7 y CentOS:
```
sudo yum instalar freeradius freeradius-utils -y
sudo yum instalar freeradius-postgresql -y
```
Paso 2:Configurar la base de datos PostgreSQL
En CentOS/RHEL 7:
Antes de comenzar la configuración, asegúrese de que el servidor de base de datos PostgreSQL esté instalado e inicializado correctamente. Así es como puedes hacerlo:
```
sudo yum instalar el servidor postgresql
```
Si ya ha configurado la base de datos, puede omitir este paso.
Configurar usuario de PostgreSQL y otorgar privilegios
Cree un nuevo usuario en PostgreSQL llamado "radius".
```
sudo -u postgres bash
crear radio de usuario
```
A continuación, asigne los permisos adecuados al usuario recién creado llamado "radius".
```
psql -U postgres
ALTERAR el radio del USUARIO CON CONTRASEÑA 'radio';
```
Luego, cree la base de datos que utilizará FreeRADIUS.
```
CREAR BASE DE DATOS radio;
OTORGAR TODOS LOS PRIVILEGIOS EN LA BASE DE DATOS radio A radio;
\q
```
Actualizar la configuración de la base de datos
Edite el archivo ubicado en "/etc/freeradius/sql/main/authorize".
```
sudo vi /etc/freeradius/sql/main/authorize
```
Localice las líneas que comienzan con "driver=". Cámbielos a las siguientes líneas:
```
controlador =pgsql
connectString =host =puerto localhost =5432 dbname =radio usuario =radio contraseña =radio
```
En RHEL 8:
Esta última versión de FreeRADIUS viene configurada para usar SQLite de forma predeterminada. Por lo tanto, siga los pasos que se describen a continuación para configurarlo para que utilice PostgreSQL.
Primero, habilite la compatibilidad con PostgreSQL en el archivo de configuración.
```
sudo vi /etc/raddb/mods-enabled/sql
```
Localice la siguiente línea:
```
SQL {
```
y elimine el comentario (si lo hay) y cámbielo a:
```
SQL {
controlador =pgsql
}
```
Luego, reemplace el controlador predeterminado para autenticación y contabilidad con el controlador PostgreSQL. Reemplace las siguientes líneas:
```
autenticación {
conductor =tonto
}
contabilidad {
conductor =tonto
}
```
Con lo siguiente:
```
autenticación {
controlador =pgsql
}
contabilidad {
controlador =pgsql
}
```
En la sección denominada "sql", actualice los parámetros especificando el nombre de host, el puerto y las credenciales de la base de datos.
```
[sql]
anfitrión =anfitrión local
puerto =5432
usuario =radio
contraseña =radio
base de datos =radio
```
Finalmente, cambie el controlador predeterminado en la política "autorizar" a PostgreSQL. Modifique la siguiente línea:
```
SQL {
conductor =tonto
}
```
A lo siguiente:
```
SQL {
controlador =pgsql
}
```
Si se le solicita, reinicie Freeradius.
```
sudo systemctl reiniciar freeradius
```
Paso 3:Configurar el servidor Freeradius
El archivo de configuración predeterminado de FreeRADIUS generalmente es suficiente. Sin embargo, se recomienda revisar y realizar los ajustes necesarios según sus requisitos específicos.
Paso 4:Habilite e inicie Freeradius
Ejecute los siguientes comandos para habilitar e iniciar el servicio Freeradius.
En RHEL 8:
```
sudo systemctl habilitar freeradius
sudo systemctl iniciar freeradius
```
En RHEL 7 y CentOS:
```
sudo systemctl habilitar radio
sudo systemctl inicio radiod
```
Paso 5:Pruebe si el servidor Freeradius se está ejecutando
Ingrese este comando para verificar que el servicio esté en funcionamiento:
```
sudo netstat -ltup | radio grep
```
Como resultado, debería ver algo como lo siguiente:
```
tcp6 0 0 :::5080 :::* ESCUCHAR 20550/radiusd
udp6 0 0 :::1812 :::* ESCUCHAR 20550/radiusd
tcp 0 0 0.0.0.0:1812 0.0.0.0:* ESCUCHAR 20550/radiusd
```
Este resultado significa que el servidor Freeradius se está ejecutando en los puertos 1812/UDP y 1812/TCP.
Paso 6:Conéctese al servidor Freeradius
Para probar si puede autenticarse correctamente a través de Freeradius, instale el cliente FreeRADIUS en la misma máquina.
En RHEL 8:
```
sudo yum instalar freeradius-client -y
```
En RHEL 7 y CentOS:
```
sudo yum instalar freeradius-client -y
```
Al intentar ejecutar un script de muestra se probará la conexión con el servidor. Asegúrese de reemplazar "nombre de usuario" y "contraseña" con los valores reales.
```
#!/bin/bash
Archivo de configuración del cliente Freeradius:
echo -e 'cliente freeradius {\nservidor 127.0.0.1\npuerto 1812\nsecret testing123\n}\n'> ~/.freeradius/freeradius.conf
Secuencia de comandos de autenticación de muestra:
echo -e '#!/bin/bash\n\nnombredeusuario="$2"\ncontraseña="$3"\n\n/usr/bin/radtest $nombre de usuario $contraseña -s ~/.freeradius/freeradius.conf'> ~/freeradius-client.sh
Conceda permiso de "ejecución" al script:
chmod +x ~/freeradius-client.sh
Prueba la conexión:
~/freeradius-client.sh nombre de usuario y contraseña del cliente
```
Si el script devuelve algo como "Nombre de usuario ='nombre de usuario', Tipo de autenticación =Contraseña", entonces la conexión al servidor Freeradius es exitosa, completando así la configuración.