- Back to Home »
- Centos , freeradius , hotspot , Linux , mysql , phpmyadmin , radius , rede , ubiquiti , unifi , wifi »
- Servidor CentOS FreeRadius com integração MySQL + phpMyAdmin + Autenticação Hotspot Ubiquiti Unifi - Parte02
Servidor CentOS FreeRadius com integração MySQL + phpMyAdmin + Autenticação Hotspot Ubiquiti Unifi - Parte02
Posted by : Rafael Holanda
terça-feira, 17 de setembro de 2019
Instalação do FreeRADIUS e configuração no CentOS 7
Parte 02
Instalação do servidor FreeRADIUS no CentOS 7
Antes de iniciar a instalação do freeRADIUS, primeiro verificaremos os pacotes freeRADIUS disponíveis no repositório do CentOS YUM[root@freeradius ~]# yum search freeradius
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile
* base: mirror.dhakacom.com
* epel: mirror.xeonbd.com
* extras: mirror.dhakacom.com
* updates: mirror.dhakacom.com
====================== N/S matched: freeradius ===========================
freeradius-devel.i686 : FreeRADIUS development files
freeradius-devel.x86_64 : FreeRADIUS development files
freeradius-doc.x86_64 : FreeRADIUS documentation
freeradius-krb5.x86_64 : Kerberos 5 support for freeradius
freeradius-ldap.x86_64 : LDAP support for freeradius
freeradius-mysql.x86_64 : MySQL support for freeradius
freeradius-perl.x86_64 : Perl support for freeradius
freeradius-postgresql.x86_64 : Postgresql support for freeradius
freeradius-python.x86_64 : Python support for freeradius
freeradius-sqlite.x86_64 : SQLite support for freeradius
freeradius-unixODBC.x86_64 : Unix ODBC support for freeradius
freeradius-utils.x86_64 : FreeRADIUS utilities
freeradius.x86_64 : High-performance and highly configurable free RADIUS server
radcli-compat-devel.x86_64 : Development files for compatibility with radiusclient-ng and freeradius-client
O comando search mostrará os pacotes disponíveis que podem ser instalados como na saída acima. Entre os pacotes listados, instalaremos apenas os pacotes freeradius, freeradius-utils, freeradius-mysql e freeradius-perl
[root@freeradius ~]# yum install freeradius freeradius-utils freeradius-mysql freeradius-perl –y
Dentro de alguns instantes, os pacotes freeRADIUS desejados serão instalados e você receberá uma mensagem de instalação completa. Para garantir a instalação dos pacotes, execute o seguinte comando que mostrará os pacotes freeRADIUS instalados.
[root@freeradius ~] # rpm -qa | grep freeradius
freeradius-utils-3.0.13-9.el7_5.x86_64
freeradius-perl-3.0.13-9.el7_5.x86_64
freeradius-3.0.13-9.el7_5.x86_64
freeradius-mysql-3.0.13-9.el7_5.x86_64
Se você receber a mensagem acima, os pacotes necessários foram instalados com sucesso. A mensagem acima também é informada de que você está usando o freeRADIUS versão 3. Agora, verificaremos se o servidor freeRADIUS está funcionando ou não com o seguinte comando.
[root@freeradius ~]# radiusd –X
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on proxy address * port 47697
Listening on proxy address :: port 60842
Ready to process requests
Se você recebeu a mensagem acima, seu servidor freeRADIUS está pronto para aceitar a solicitação do cliente RADIUS e fornecer resposta.Antes de iniciar a configuração, verificaremos agora se o servidor RADIUS está em execução ou não com o seguinte comando
[root@freeradius ~]# systemctl status radiusd
Se você descobriu que seu radius daemon (radiusd) não está em execução, execute o seguinte comando para iniciar o radius daemon.
[root@freeradius ~] # systemctl start radiusd
Agora você encontrará o servidor RADIUS em execução se emitir o comando status novamente. Execute também o seguinte comando para que o radius daemon possa ser executado no momento da reinicialização do sistema.
[root@freeradius ~] # systemctl enable radiusd
Sempre que você atualizar sua configuração de radius, é necessário reiniciar seu daemon de radius, caso contrário sua configuração não será aplicada. Para reiniciar ou recarregar sua configuração, execute o seguinte comando no prompt de comando do CentOS 7.
[root@freeradius ~] # systemctl restart radiusd
Servidor RADIUS escuta Solicitação de autenticação na porta UDP 1812 e Solicitação de contabilidade na porta UDP 1813. Você deve permitir essas portas no Firewall do CentOS 7.
[root@freeradius ~] # firewall-cmd --zone=public --add-service=radius
Para tornar essa configuração permanente, execute o seguinte comando.
[root@freeradius ~] # firewall-cmd --zone=public --add-service=radius --permanent
Configuração básica do servidor FreeRADIUS
Após a instalação bem-sucedida do freeRADIUS, faremos agora uma configuração básica em que localhost será definido como um dispositivo NAS (cliente RADIUS) e holanda será definido como usuário de teste. Depois de definir o cliente e o usuário de teste, usaremos o programa radtest para preencher a função de um cliente RADIUS e testar a autenticação do holanda.
O FreeRADIUS é configurado modificando os arquivos de configuração. O local padrão do arquivo de configuração do freeRADIUS no CentOS 7 é /etc/raddb . Acesse este diretório e execute o comando ls para visualizar os arquivos e diretórios de configuração disponíveis.
Para a configuração básica, os arquivos importantes são client.conf em que clientes RADIUS são definidos e usuários em que usuários RADIUS são definidos. As instruções a seguir mostram como definir cliente e usuário do radius no arquivo de configuração do cliente e do usuário.
Certifique-se de que seu diretório de trabalho seja /etc/radddb.
O FreeRADIUS inclui um cliente padrão chamado localhost. Esse cliente pode ser usado pelos programas clientes RADIUS no host local para ajudar na solução de problemas e testes.
Abra o arquivo client.conf com o editor vim (vim client.conf) e confirme se a seguinte entrada existe no customers.conf
client localhost {
ipaddr = 127.0.0.1
secret = testing123
require_message_authenticator = no
nas_type = other
}
Defina holanda como um usuário de teste do FreeRADIUS. Abra o arquivo de usuários com o editor vim (usuários do vim) e adicione as seguintes linhas na parte superior do arquivo de usuários. Verifique se a segunda e a terceira linhas são recuadas por um único caractere de tabulação.
“holanda” Cleartext-Password := “password”
Framed-IP-Address = 172.19.0.50,
Reply-Message = “Hello, %{User-Name}”
Recarregue o servidor freeRADIUS com o comando restart.
[root@freeradius ~]# systemctl restart radiusd
Autentique o usuário holanda usando o seguinte comando radtest, em que holanda é um usuário de teste e password é a senha do usuário holanda definida no arquivo de usuários. 127.0.0.1 (localhost) é o endereço IP do dispositivo NAS, 100 é a porta NAS e testing123 é a senha do NAS definida no arquivo client.conf.
[root@freeradius raddb]# radtest holanda password 127.0.0.1 100 testing123
Sent Access-Request Id 118 from 0.0.0.0:52494 to 127.0.0.1:1812 length 75
User-Name = “holanda”
User-Password = “password”
NAS-IP-Address = 172.19.0.62
NAS-Port = 100
Message-Authenticator = 0x00
Cleartext-Password = “password”
Received Access-Accept Id 118 from 127.0.0.1:1812 to 0.0.0.0:0 length 40
Framed-IP-Address = 172.19.0.50
Reply-Message = “Hello, holanda”
Radtest mostrará a resposta do servidor FreeRADIUS como na saída acima. Isso significa que seu servidor freeRADIUS está completamente pronto para aceitar solicitações de clientes e usuários RADIUS.