[Inclusão Digital]Problema com múltiplos logins no Freeradius

Clecio Rodrigo clecio em velbras.com.br
Segunda Abril 2 10:38:32 BRT 2012


Ronaldo bom dia,

Segue abaixo como resolver a questão de logins presos no radius, 
qualquer dúvida me adicione no MSN.

Pra resolver os problemas com o radius, freeradius com Multiplos Logins 
segui a dica abaixo aqui funciona sem problemas.

O funcionamento do script é simples quando um cliente tenta conectar e o 
seu login esta preso no radius, o script faz a verificação se o cliente 
esta conectado no Mikrotik via SNMP, se ele não estiver conectado no 
concentrador Mikrotik o login preso no radius é liberado.

Configurando o SNMP do mikrotik

Acesse o concentrador Mikrotik, clique SNMP, agora clique no botão SNMP 
Settings, selecione a opção enable, preencha os campos Contact info e 
Location, clique OK.

É muito interessante permitir que apenas o server radius tenha acesso 
via SNMP ao concentrador Mikrotik, clique duas vezes na community 
public, altere por outro o nome de public para outro caso queira, em 
Address sete o IP do servidor radius, marque a opção Read Access.

O mikrotik esta pronto vamos agora para o servidor Radius

Junto ao radius acompanha o script checkrad que resolve este tipo de 
problemas junto ao concentrador PPPoE ou Hotspot Mikrotik

Verificando a existencia do script

[root em server4 raddb]# whereis checkrad
checkrad: /usr/sbin/checkrad

Vamos editar o arquivo clients.conf

[root em server4 raddb]# vim clients.conf

Localize a entrada do seu concentrador Mikrotik

client 201.60.30.120 {
secret = supersecreto
shortname = fr01
nastype = other
}

Altere o nastypt de other para mikrotik_snmp, fica como no exemplo abaixo

client 201.60.30.120 {
secret = supersecreto
shortname = fr01
nastype = mikrotik_snmp
}

Vamos verificar se no arquivo radius.conf tem a entrada referenciando o 
script checkrad

[root em server4 raddb]# vim radiusd.conf

Dentro do arquivo de configuração do radius o radius.conf

# The program to execute to do concurrency checks.
checkrad = ${sbindir}/checkrad

Agora basta apenas reiniciar o radius

[root em server4 raddb]# /sbin/service radiusd restart
radiusd (pid 4662) está rodando...
radiusd (pid 4662) está rodando...
Parando o servidor RADIUS: [ OK ]
radiusd está parado
Iniciando o servidor RADIUS: Thu Sep 25 08:59:06 2008 : Info: Starting - 
reading configuration files ... [ OK ]
[root em server4 raddb]#

Vamos agora analisar o log do radius

[root em server4 raddb]# tail -f /var/log/radius/radius.log
Thu Sep 25 08:59:06 2008 : Info: rlm_exec: Wait=yes but no output 
defined. Did you mean output=none?
Thu Sep 25 08:59:06 2008 : Info: rlm_sql (sql): Driver rlm_sql_mysql 
(module rlm_sql_mysql) loaded and linked
Thu Sep 25 08:59:06 2008 : Info: rlm_sql (sql): Attempting to connect to 
root em localhost:/mikrotik
Thu Sep 25 08:59:06 2008 : Info: rlm_sql_mysql: Starting connect to 
MySQL server for #0
Thu Sep 25 08:59:06 2008 : Info: rlm_sql_mysql: Starting connect to 
MySQL server for #1
Thu Sep 25 08:59:06 2008 : Info: rlm_sql_mysql: Starting connect to 
MySQL server for #2
Thu Sep 25 08:59:06 2008 : Info: rlm_sql_mysql: Starting connect to 
MySQL server for #3
Thu Sep 25 08:59:06 2008 : Info: rlm_sql_mysql: Starting connect to 
MySQL server for #4
Thu Sep 25 08:59:06 2008 : Info: Ready to process requests.
Thu Sep 25 08:59:18 2008 : Auth: Login OK: [carlosaurelio] (from client 
fr01 port 4827 cli 00:0E:2E:EB:2C:5C)

Script resolvendo o problema de login preso

Wed Sep 24 16:21:54 2008 : Error: Discarding duplicate request from 
client fr02:44279 - ID: 130 due to unfinished request 4572
Wed Sep 24 16:21:54 2008 : Error: Discarding duplicate request from 
client fr02:44279 - ID: 130 due to unfinished request 4572
Wed Sep 24 16:22:01 2008 : Error: Discarding duplicate request from 
client fr02:44281 - ID: 133 due to unfinished request 4576
Wed Sep 24 16:22:02 2008 : Error: Discarding duplicate request from 
client fr02:44281 - ID: 133 due to unfinished request 4576

Abraços

Leia Mais: 
http://under-linux.org/f143/integracao-com-radius-119954/#ixzz1qtEnfmwZ

Att..

Clecio Rodrigo
Velbras Internet


Em 02/04/2012 09:45, Ronaldo Osowski escreveu:
> *Bom dia pessoal,
>
> Estou tendo este problema com o Freeradius, ele dá que o usuário já está
> logado porque a sessão dele deve estar pendurada e nega o próximo login...
>
> Haveria alguma forma de fazer com que ele sempre derrube sessões anteriores
> na hora do login, mantendo somente a última?
>
> Testei várias alternativas aqui, mas até agora nada...
>
> A mensagem que é escrita no log é a seguinte:
>
> Mon Apr  2 09:26:52 2012 : Auth: Multiple logins (max 1) : [nome.usuario]
> (from client popteste port 5756 cli 00:00:00:00:00:00)
>
> Estou usando o Freeradius 2.0.4, MySQL. Obrigado.
> *
> --
>
> Atenciosamente,
>
> Ronaldo Aurélio Osowski
> E-mail/MSN: ronaldo em osowski.com.br
> Site: www.osowski.com.br
>
> "There's no place like 127.0.0.1"
> _______________________________________________
> Inclusaodigital mailing list
> Inclusaodigital em anid.com.br
> http://mail.anid.com.br/mailman/listinfo/inclusaodigital
>


-- 
*Clecio Rodrigo da Silva*
Gerente de T.I.
Provedor Velbras
MSN: clecio_rodrigo em hotmail.com
Tel.: (17) 3249-4530
Cel.: (17) 9748-7464


Mais detalhes sobre a lista de discussão Inclusaodigital