+ Responder ao Tópico



  1. #1

    Padrão Radius + ADSL + Simultaneous-Login nao funciona

    Olá todos,

    Temos autenticação ADSL em nosso provedor com radius, só que o mesmo não está bloqueando o login simultaneo das adsl's.

    Tipo o cara está conectado com o login e senha dele, posso colocar outro modem com mesmo usuário e senha que autentica e o que já estava autenticado continua funcionando blz, não cai.

    No meu arquivo users no /etc/raddb a configuracao está assim:
    Código :
    DEFAULT Auth-Type = System, Huntgroup-Name = "adsl",       Simultaneous-Use = 1
            Fall-Through = Yes,
            Service-Type = Framed-User,
            Framed-Protocol = PPP,
            Framed-Compression = Van-Jacobson-TCP-IP

    O radius que estou usando é o cistron ultima versao que saiu pra slackware. Alguem já passou por esse problema? Como resolveu?

    Att,
    Leandro

  2. #2
    Avenger
    Visitante

    Padrão Radius + ADSL + Simultaneous-Login nao funciona

    Olha, não precisa ser provedor de adsl prá poder levantar a hipótese sobre o que tá havendo com você. O esquema é bem parecidinho com o DialUp.

    Já deu uma olhada no radius.log prá ver se acha alguma mensagem estranha no ato que o segundo conecta?.. Pode ser que o radius não tá conseguindo ler o log de conexão dos clientes. No seu sistema é possível ver quem está conectado no momento, em outras palavras: quando alguém conecta, ele avisa ao radius que conecta e manda outro aviso assim que desconecta? Ou quando ele conecta ele apenas checa login/senha e não se baseia em tempo que o usuário está conectado? Se o seu sistema é como o DialNet de cliente discado, vai ser muito difícil o simultaneous-use funcionar, uma vez que muitas vezes que o cliente desconecta o sistema da Telemar ou prestadora do serviço ADSL no seu caso, não manda o pacote 'avisando' que o cliente saiu.

    O Radius se baseia nessas informações para o simultaneous-use funcionar: Horário de entrada e horário de saída. Se o simultaneous-use está em '1', e um usuário conecta, enquanto este não mandar o pacote de 'desconexão', o simultaneous-use vai barrar uma segunda conexão deste. Se o usuário 'cair' (como dialup.. é! velox tb 'cai' de vez em quando, por exemplo) às vezes esse registro de desconexão não vai ao Radius seu, e o usuário, mesmo o autêntico, não consegue mais entrar até que alguém do provedor o 'desgarre' removendo a informação de que ele entrara (pelo fato de nao ter exatidão da hora de saída a se 'simular', prefere-se remover o registro de entrada completo, mas isso você pode decidir também).
    Talvez por algum motivo então seu radius esteja configurado para ignorar logs de tempo de conexão então tendo apenas controle do login/senha do usuário, e não a que horas entrou e a que horas saiu: desta forma inviabilizando o uso de simultaneous-use.

    Outra coisa que pode estar acontecendo é que um cliente esteja entrando com letras maiúsculas e outro com letras minúsculas ou tudo mixado, ou até mesmo com acentos magua=maguá. Neste caso, no /etc/raddb/radius.conf, certifique-se de ter:
    Código :
    sensitiveusername on
    no arquivo de confíguração.

    Aqui eu uso o IC-Radius, mas apesar de ele usar mysql como base de dados, o funcionamento é o mesmo do Cistron.

    Espero que essas informações ajudem!..

  3. #3

    Padrão Radius + ADSL + Simultaneous-Login nao funciona

    Já olhei no radius.log e a única coisa que aparece é
    Código :
    Sat Sep 17 17:04:44 2005: Auth: Login OK: [usuarioadsl] (from nas BrT-L10-fnsce701-vrres.dsl.brasiltelecom.net.br/S1114505416)
    Sat Sep 17 17:04:53 2005: Error: Accounting: unknown NAS
    Sat Sep 17 17:04:53 2005: Auth: Login OK: [usuarioadsl] (from nas BrT-L10-bnut3703.dsl.brasiltelecom.net.br/S536872232)
    Sat Sep 17 17:09:33 2005: Error: Accounting: unknown NAS

    Esses erros acima me parecem que começaram a aparecer depois que coloquei o Huntgroup-Name entre aspas.

    Se eu consigo ver quem está conectado no momento? Só com o radwho, não sei se tem outra forma. No caso quem fornece o serviço ADSL é a BrT, nós apenas autenticamos o usuário, ou seja, o mesmo funcionamento que no DialNet.

    Como faço para verificar se meu radius está configurado para ignorar logs em tempo de execução? É algum parametro em arquivo de configuração ou que eu passo na hora de startar o serviço.

    Outra coisa, tem como verificar se a operadora está passando o pacote avisando da desconexão do cliente. Eu tenho dúvidas que eles estejam fazendo isso, mas gostaria de ter certeza, uma forma de provar, só que não sei como.

    Obrigado por enquanto...
    Att,
    Leandro[/code][/quote]

  4. #4
    Avenger
    Visitante

    Padrão Radius + ADSL + Simultaneous-Login nao funciona

    Então, o log já tá falando algo interessante.
    No módulo Auth ele faz logon. Mas já no Accounting ele falha. Pode ser essa a causa. Você cadastrou os nas'es certinho lá no /etc/raddb/nas (acho que é isso no cistron)? Vai ver tem um nas de autenticação e outro de accounting, então confere isso direito.

    Estranho é que mesmo tendo as mensagens de erro você conseguir listar as pessoas conectadas por vocês pelo radwho.

    Talvez o seu radius esteja configurado para 'olhar' se o cara tá conectado através do RAS da BrT, o que é claro, ela não deixa ver. Pelo menos se ela segue à risca as merdas que a Telemar faz.

    Esse lance de 'como o radius checa se o cara tá conectado' muitas vezes é definido pelos 'dicionarios'... Bem, bom eu me embasar um pouquinho antes de falar sobre isso.
    (15 minutos depois...)
    Pois é, achei um treco interessante. http://wrath.geoweb.ge/simult.html. (ah, google!) Aqui explica como funciona.
    O radius tenta primeiro olhar no /var/log/radutmp se o cara tá conectado. E então, caso ele encontre o cara listado e acuse o numero de conexões do usuário maior ou igual ao valor de 'simultaneous-use', AI ele cai no problema 'merdas que a telemar faz'. Ele vai rodar o lindo script checkrad (script em perl), que tenta inocentemente fazer uma conexão com o RAS prá saber se o cliente está 'agarrado'. Se o checkrad não estiver usando o dicionário correto (que não existe para o caso de DialNet da Telemar pelo simples fato de os Nas'es da Telemar não permitirem nenhum tipo de conexão que teste se um dado usuário está conectado ou não), ele não consegue conectar no RAS, retorna um código que faz com que o radius leve em conta que o 'pobre' usuário estava 'agarrado' (travado). Então ele permite normalmente que o usuário entre.
    Deve ser isso que tá acontecendo com você. Teste se a BrT é competente, veja com eles se tem como você checar de alguma forma nos nas'es deles se dá pra seu servidor fazer uma consulta por telnet ou snmp (e se eles já têm algum material para radius para fornecer-lhe -- como um dicionário pros nas'es deles, ou ainda qual dos dicionários fornecidos com o radius funcionaria). Daí é só você acertar o checkrad que vai funcionar tudo às mil maravilhas!..