## Etapa 1:Instale o servidor Freeradius
No RHEL 8: ```
sudo yum instalar freeradius freeradius-utils -y
```
No RHEL 7 e CentOS: ```
sudo yum instalar freeradius freeradius-utils -y
sudo yum instalar freeradius-postgresql -y
```
Etapa 2:Configurar o banco de dados PostgreSQL
No CentOS/RHEL 7: Antes de iniciar a configuração, certifique-se de que o servidor de banco de dados PostgreSQL esteja instalado e inicializado corretamente. Veja como você pode fazer isso:
```
sudo yum instalar servidor postgresql
```
Se você já configurou o banco de dados, poderá pular esta etapa.
Configurar usuário do PostgreSQL e conceder privilégios
Crie um novo usuário no PostgreSQL chamado “radius”.
```
sudo -u postgres bash
criar raio do usuário
```
Em seguida, atribua as permissões apropriadas ao usuário recém-criado chamado “radius”.
```
psql -U postgres
ALTER USUÁRIO raio COM SENHA 'raio';
```
Em seguida, crie o banco de dados a ser utilizado pelo FreeRADIUS.
```
CRIAR raio do BANCO DE DADOS;
CONCEDER TODOS OS PRIVILÉGIOS NO BANCO DE DADOS radius TO radius;
\q
```
Atualizar a configuração do banco de dados
Edite o arquivo localizado em "/etc/freeradius/sql/main/authorize."
```
sudo vi /etc/freeradius/sql/main/authorize
```
Localize as linhas que começam com “driver =”. Altere-os para as seguintes linhas:
```
motorista=pgsql
connectString =host=localhost porta=5432 nome do banco de dados=raio usuário=raio senha=raio
```
No RHEL 8: Esta versão mais recente do FreeRADIUS vem configurada para usar SQLite por padrão. Portanto, siga as etapas descritas abaixo para configurá-lo para usar o PostgreSQL.
Primeiro, habilite o suporte PostgreSQL no arquivo de configuração.
```
sudo vi /etc/raddb/mods-enabled/sql
```
Localize a seguinte linha:
```
SQL {
```
e remova o comentário (se houver) e altere-o para:
```
SQL{
motorista=pgsql
}
```
Em seguida, substitua o driver padrão para autenticação e contabilidade pelo driver PostgreSQL. Substitua as seguintes linhas:
```
autorização {
motorista =manequim
}
contabilidade {
motorista =manequim
}
```
Com o seguinte:
```
autorização {
motorista=pgsql
}
contabilidade {
motorista=pgsql
}
```
Na seção chamada "sql", atualize os parâmetros especificando o nome do host, a porta e as credenciais do banco de dados.
```
[sql]
hospedeiro =localhost
porta =5432
usuário =raio
senha =raio
banco de dados =raio
```
Por fim, altere o driver padrão na política “autorizar” para PostgreSQL. Modifique a seguinte linha:
```
SQL{
motorista =manequim
}
```
Para o seguinte:
```
SQL {
motorista=pgsql
}
```
Se solicitado, reinicie o Freeradius.
```
sudo systemctl reiniciar freeradius
```
Etapa 3:Configurar o servidor Freeradius
O arquivo de configuração padrão do FreeRADIUS geralmente é suficiente. No entanto, é recomendável que você revise e faça os ajustes necessários com base nos seus requisitos específicos.
Etapa 4:ativar e iniciar o Freeradius
Execute os seguintes comandos para ativar e iniciar o serviço Freeradius.
No RHEL 8: ```
sudo systemctl habilitar freeradius
sudo systemctl iniciar freeradius
```
No RHEL 7 e CentOS: ```
sudo systemctl habilitar raio
sudo systemctl iniciar raio
```
Etapa 5:Teste se o servidor Freeradius está rodando
Digite este comando para verificar se o serviço está instalado e funcionando:
```
sudo netstat -ltup | raio grep
```
Como resultado, você deverá ver algo parecido com o seguinte:
```
tcp6 0 0 :::5080 :::* ESCUTE 20550/radiusd
udp6 0 0 :::1812 :::* ESCUTE 20550/radiusd
tcp 0 0 0.0.0.0:1812 0.0.0.0:* ESCUTE 20550/raio
```
Esta saída significa que o servidor Freeradius está rodando nas portas 1812/UDP e 1812/TCP.
Etapa 6:Conecte-se ao servidor Freeradius
Para testar se você consegue autenticar com sucesso através do Freeradius, instale o cliente FreeRADIUS na mesma máquina.
No RHEL 8: ```
sudo yum instalar freeradius-client -y
```
No RHEL 7 e CentOS: ```
sudo yum instalar freeradius-client -y
```
A tentativa de executar um script de amostra testará a conexão com o servidor. Certifique-se de substituir “nome de usuário” e “senha” pelos valores reais.
```
#!/bin/bash
Arquivo de configuração do cliente Freeradius:
echo -e 'cliente freeradius {\nservidor 127.0.0.1\nporta 1812\nteste secreto123\n}\n'> ~/.freeradius/freeradius.conf
Exemplo de script de autenticação:
echo -e '#!/bin/bash\n\nusername="$2"\npassword="$3"\n\n/usr/bin/radtest $nomedeusuário $senha -s ~/.freeradius/freeradius.conf'> ~/freeradius-client.sh
Conceda permissão de "execução" ao script:
chmod +x ~/freeradius-client.sh
Teste a conexão:
~/freeradius-client.sh senha de nome de usuário do cliente
```
Se o script retornar algo como "User-Name ='username', Auth-Type =Password", então a conexão com o servidor Freeradius foi bem-sucedida, concluindo assim a configuração.