- Integração com RADIUS
+ Responder ao Tópico
-
Integração com RADIUS
Atualmente eu utilizo o Mikrotik como HotSpot e outras Bases com PPPoE, ambas autenticando o servidor principal - RADIUS.
Acontece que em muitos casos o Mikrotik está liberando o usuário após confirmar dados no RADIUS mas não está passando de volta o comando para o RADIUS quando o cliente desconecta ou está inativo, ou seja, em muitos casos o usuário vai tentar novamente e não consegue pois já existe uma conexão ativa no RADIUS.
Gostaria de saber se tem alguma forma do Mikrotik "avisar" o RADIUS que o cliente X não está mais logado, e na sequencia o RADIUS encerra a conexão.
-
Isto acontece com os dois sistemas (hotspot e pppoe) ou apenas com um dos dois?
-
O problema ocorre Principalmente no HotSpot.
-
ja viu os logs do radius ? talvez exista problemas no radius ..
tive problemas aqui de sessoes "presas" no radius, acontecia com frequencia... verificando, o radius estava com um "bug" com a versao do mysql.. (usava um radius antio 1.1.4) fiz upgrade para 1.7 ou 1.1.7 (nao recordo agora) ... e resolveu o problema todo...
-
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
Pois o 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@server4 raddb]# whereis checkrad
checkrad: /usr/sbin/checkrad
Vamos editar o arquivo clients.conf
[root@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@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@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@server4 raddb]#
Vamos agora analisar o log do radius
[root@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@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
-
a dica do clecio eh quente faz quase 1 ano que ele me passou funciona 100%