+ Responder ao Tópico



  1. #1

    Padrão Freeradius + PPPOE + ippool + mikrotik

    Prezados,

    Estou necessitando de ajuda para entender o funcionamento do arquivo default (/etc/raddb/sites-available/default) do freeradius, mais especificamente na parte da post-auth.

    Minha necessidade é checar se algum ip foi alocado ao usuário que autenticou, pois meu concentrador é um mikrotik e meu cliente também tem um mikrotik e quando a autenticação é oriunda de um mikrotik, o usuário autentica e fica com o ip zerado no pppoe, conforme pode ser visto na imagem ( http://prntscr.com/6qo6ei ), obviamente que o erro é devido a falta de ip disponível e a mensagem de erro é retornada no mikrotik "could not determine remote address". O problema é que quando a autenticação é feita de qualquer outro equipamento que não mikrotik o cliente não autentica, apenas equipamentos mikrotik é que acontece isso. Eu estou tentando tratar isso no post-auth do freeradius, tentando checar o retorno do ip alocado, mas não consegui, segue abaixo o código:

    post-auth {
    sqlippool
    sql1
    exec
    Post-Auth-Type REJECT {
    update reply {
    Reply-Message = "Usuario ou Senha incorretos."
    }
    attr_filter.access_reject
    }
    }


    versões utilizadas:
    FreeRADIUS Version 2.1.12
    Concentrador: RB433AH v6.6
    Cliente: RB450 v6.12
    Banco de dados: PostgresSQL 9.3

    Alguém tem alguma sugestão para resolver esta questão ?

    obrigado.

  2. #2

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Olá amigo, tenho aqui rodando Freeradius com MySQL e mikrotik... com IPPool em banco de dados...

    me diga o que vc já tem funcionando, quais passos já efetuou para aplicar o IP Pool em mysql..

    creio que posso te ajudar...

    Abraços.



  3. #3

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Citação Postado originalmente por dbedani Ver Post
    Olá amigo, tenho aqui rodando Freeradius com MySQL e mikrotik... com IPPool em banco de dados...

    me diga o que vc já tem funcionando, quais passos já efetuou para aplicar o IP Pool em mysql..

    creio que posso te ajudar...

    Abraços.
    Amigo, não querendo desvirtuar o tópico, mas se puder me indicar algum material/tutorial para configurar um ambiente desses, agradeço muito, pois há um tempo atrás eu tentei fazer rodar e não consegui.

    Meu ambiente hoje é freeradius com mysql e mikrotik, porém sem o uso de ippool fornecido pelo radius usando o mysql pois não consegui fazer funcionar.

    Agradeço desde já !


    Obrigado!

  4. #4

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Nao tenho um tutorial unico, pois fui juntando as "pecinhas" e informações de varios tutoriais para chegar na solução...

    vou tentar desenvolver um, documentando as alterações/ajustes que fiz no meu sistema.



  5. #5

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    consegui,

    fiz a seguinte alteração:

    Código :
    post-auth {
      exec
      sqlippool {
        notfound = 1
      }
      if(notfound){
        update reply {
          Reply-Message = "nenhum ip foi associado"
        }
        reject
      }
      sql1
      Post-Auth-Type REJECT {
        update reply {
          Reply-Message = "Usuario ou Senha incorretos."
        }
        attr_filter.access_reject
      }
    }

  6. #6

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    É muito difícil você achar um tutorial a respeito (da forma que se espera), pois existem varias formas de trabalhar com ip pool, eu por exemplo estou configurando com ip public e roteamento dinâmico através de OSPF.
    porém a configuração para utilização padrão é simples, mas precisa-se definir a metodologia de trabalho, para evitar falta de ip, ips duplicados, são n fatores...
    eu ainda estou na fase de testes...



  7. #7

    Padrão

    Clique na imagem para uma versão maior

Nome:	         ip_pool.pdf
Visualizações:	98
Tamanho: 	100,8 KB
ID:      	58350
    [download PDF]

    Fiz um apanhado das configurações que tenho rodando no meu sistema... não está muito documentado tampouco detalhado... mas funciona!

    E é isso que você falou Leandro, cada um tem um cenário, uma forma de trabalhar, e sempre precisamos ajustar as nossas necessidades...

    Bom, realizem os testes e vejam se funciona... aqui pra mim está 100%. Só ocorre falhas quando há mudança de horário de verão, pois o radius se perde no prazo de alocação/renovação dos IPs..

    Ah, ainda não testei nada com IPv6... sem planos para isso por hora!

    Abraços,

  8. #8

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Muito obrigado a todos, farei os testes e retorno aqui para informar o resultado!

    Valeu!



  9. #9

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    show de bola este tutorial, com certeza vai ajudar o gustavo e a mim tb, mas deixa eu te fazer uma pergunta acerca do que você comentou.
    com relação a renovação do ip, toda vez que você renova o ip você derruba a conexão ? se sim, como faz isso ?

  10. #10

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Não não... o próprio MK, fica enviando o status da conexão para o Radius, de tempos em tempos... informando a qto tempo esta conectado, qtos bytes foram enviados e recebidos, e etc... fazendo um "keep-alive" daquela conexão PPPoE...

    Esse intervalo pode ser configurado através de parâmetros na tabela radreply, ou pelo proprio MK:

    /ppp aaa print
    use-radius: yes
    accounting: yes
    interim-update: 600s

    Neste caso, configurei para a cada 10min o MK enviar ao Radius um "update".

    Quando o radius aloca um IP da tabela radippool, ele preenche o nome do usuario nos campos e a hora da alocação, entre outras informações. A cada update recebido pelo MK, o proprio radius renova o IP que aquele username está utilizando.

    No PDF que enviei, existe uma configuração no arquivo sqlippool.conf de lease-duration = 1800, ou seja, 30 min, que julguei ser o ideal.

    Quando o Radius recebe o aviso de desconexão por parte do MK, o radius vai lá e "libera" o IP que estava alocado para aquele username, na radippool.

    Sempre que houver novas conexões, o Radius vai dar preferencia para os IPs que de fato foram liberados.

    Caso sua pool se esgote, e o IP não tenha sido liberado pois o MK não enviou o "disconnect" para o Radius poder liberar o IP, ou não houve renovação dentro dos 30min configurados em lease-duration, o Radius entende que aquele IP está disponivel e o libera para outro usuário.

    Resumindo:

    Radius atribui um IP para o usuario por 30min;
    MK renova o IP, enviando status-update a cada 10min;
    Se o Radius não receber um 'disconnect' explicito do MK, informando que o usuário desconectou, ou então não houve "update" por parte do MK, depois de 30 min o Radius volta a liberar aquele IP para novas conexões;
    Note que 30min é suficiente para o MK enviar 3 updates;

    É um pouco complexo o funcionamento, mas com a pratica tudo fica claro...



  11. #11

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    não não, eu entendi perfeitamente, eu só não tinha notado que através do interim-update o expiry_time era também renovado para data atual + 30 min (como no seu caso) enquanto a conexão está ativa, acabei de testar e realmente funcionou.

  12. #12

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Funcionando então?



  13. #13

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    100%, muito obrigado, vou encerrar o tópico.

  14. #14

    Padrão Re: Freeradius + PPPOE + ippool + mikrotik

    Poxa, que bom q deu certo!

    Boa sorte ae! Abraços.



  15. #15