+ Responder ao Tópico



  1. #1

    Padrão 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.

  2. #2

    Padrão

    Isto acontece com os dois sistemas (hotspot e pppoe) ou apenas com um dos dois?

  3. #3

    Padrão

    O problema ocorre Principalmente no HotSpot.

  4. #4

    Padrão

    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...

  5. #5

    Padrão

    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

  6. #6

    Padrão

    a dica do clecio eh quente faz quase 1 ano que ele me passou funciona 100%