Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Tenho uma extensa rede Mikrotik, roteada utilizando OSPF, dividida em várias áreas, utilizando o freeradius como servidor de autenticação, com pools de ips inválidos configuradas nas routers.
Até ai está tudo funcionando ok. Porém eu precisei dar ips válidos aos meus clientes, mas como não tenho muitos ips, a melhor forma encontrada foi dar ips por áreas e não por router como fiz com os inválidos e utilizando o rlm_sqlippool do radius. Tudo funcionou perfeitamente, exceto pelo seguinte problema, alguns clientes estão pegando ips duplicados, ou seja, um deles recebe um ip da radippool e depois este ip eh liberado por algum motivo, sem q ele desconecte da router, daí este mesmo ip eh dado pra outro cliente, numa router vizinha. Resultado: o cliente q está mais longe do roteador de borda não consegue navegar.
Estive lendo na wiki do freeradius que o ip eh liberado na radippool se o radius não receber os accounting packets. Agora não sei se pode ser um problema na configuração do radius ou algum bug do OSPF, q pode estar fazendo os accounting packets enviados pelas routers se perderem na rede.
Se alguem puder me ajudar...
Grato.
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Citação:
Postado originalmente por
DarkAngelTux
Bom dia a todos,
Como vcs fazem para inserir os IPs na tabela radippool ? E quando ela enxe? Vocês apagam e inserem os novos IPs? Via algum script em bash?
Estou tentando fazer com que mesmo que o cliente libere e renove, se o lease dele for de 1h, por exemplo, e ele estiver ainda dentro desse lease, pegar o mesmo IP, ao invés de pegar outro IP, evitando assim enxer a tabela rapidamente.
Vocês têm alguma idéia de como fazer isso?
Obrigada
Bem, vamos por parte:
Primeiro, como inserir os ips. Vc terá que inserir uma linha para cada ip, preenchendo apenas a coluna FramedIpAddres e a coluna Pool_Name. para isto vc pode utilizar um script em perl, php, java, oque vc quiser, até mesmo inserindo as linhas uma a uma via SQL, o que vai dar um trabalhão, rs.
Os ips inseridos vão sendo utilizados, e o radius vai reservando e liberando eles através de updates na tabela radippool.
Segundo. Com "encher", eu entendo que vc quer dizer qdo todos os ips forem usados. Se vc for utilizar ips públicos normalmente eles são meio escassos,(rsrs) então, se o seu roteador não estiver preparado pra dar ip caso seu radius não tenha mais nenhum liberado, vc deve acrescentar alguns ips privados afim de que o seu radius sempre tenha ips para entregar.
Quanto ao lease e o cliente pegar o mesmo ip, comigo acontece o seguinte, sempre q algum pacote de acct-update chega, o modulo sqlippool dá uma varrida na radoippool e libera todos os ips cujo username não esteja mais com sessão aberta na radacct, e tbm libera aqueles cujo expiry_time ja tenha vencido. uma dica é deixar o lease-time pelo menos 5 vezes o tempo do interin-update, assim não tem o risco do ip ser liberado antes da hora.
Não está no que vc perguntou, mas acho importente:
Não basta vc povoar a tabela radippool, é preciso tbm informar o nome da pool na radcheck/radgroupcheck, o atributo usado é "Pool-Name".
Espero ter ajudado.
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
entendi, muito obrigada pela explicação diekson
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Olá, Gostaria de saber se algum de vocês podem me ajudar a centralizar os ips via radius,
já tentei de varias formas mais não conseguir :D.
se poder ajudar fico muito grato!
meu msn é: [email protected]
desde já agraço qualquer ajudar!
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Acho que é, eu particularmente não uso a estrutura padrão do freeradius, eu fiz algumas stored procedures para manipular isso.
De qualquer modo fique atento com o interim-update se não vai dar problema com IP duplicado.
Enviado via XT1563 usando UnderLinux App
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Citação:
Postado originalmente por
andrecarlim
Acho que é, eu particularmente não uso a estrutura padrão do freeradius, eu fiz algumas stored procedures para manipular isso.
De qualquer modo fique atento com o interim-update se não vai dar problema com IP duplicado.
Enviado via XT1563 usando
UnderLinux App
----------------------------------------------------------------------
Obrigado e também obrigado pela dica, pois eu to iniciando em programação Php e sua dica vai ser muito útil.
Só ficou uma dúvida, o expire-time que o pessoal se refere é o valor do campo que fica na tabela radippool ?
Comecei ontem a mecher com IPs via radius e ainda tenho essa duvida, vi na radippool um campo chamado expire-time, é esse campo que tem que ser preenchido com valor em torno de 6 vezes o valor do interim-update ?
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
O campo é este mas não é você quem controla ele, e sim o radius, esse campo é preenchido conforme o valor da lease-time que é configurada no arquivo sqlippool.conf, se não me engano.
Enviado via XT1563 usando UnderLinux App
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Ata, show mesmo.
Muito obrigado, hoje mais tarde eu vou da umas olhadas nisso.
Já comecei os testes e teve uma duplicação de IPs em um momento, logo na primeira vez que iniciei os teste, mas mexi em umas query que tava = null e coloquei is null, que o pessoal andam falando pra fazer isso...
Mais tarde irei fazer a prova de fogo pra ver o que vai dar rsrs
Re: Mikrotik + Freeradius rlm_ sqlippool - ips duplicados
Citação:
Postado originalmente por
diekson
Tenho uma extensa rede Mikrotik, roteada utilizando OSPF, dividida em várias áreas, utilizando o freeradius como servidor de autenticação, com pools de ips inválidos configuradas nas routers.
Até ai está tudo funcionando ok. Porém eu precisei dar ips válidos aos meus clientes, mas como não tenho muitos ips, a melhor forma encontrada foi dar ips por áreas e não por router como fiz com os inválidos e utilizando o rlm_sqlippool do radius. Tudo funcionou perfeitamente, exceto pelo seguinte problema, alguns clientes estão pegando ips duplicados, ou seja, um deles recebe um ip da radippool e depois este ip eh liberado por algum motivo, sem q ele desconecte da router, daí este mesmo ip eh dado pra outro cliente, numa router vizinha. Resultado: o cliente q está mais longe do roteador de borda não consegue navegar.
Estive lendo na wiki do freeradius que o ip eh liberado na radippool se o radius não receber os accounting packets. Agora não sei se pode ser um problema na configuração do radius ou algum bug do OSPF, q pode estar fazendo os accounting packets enviados pelas routers se perderem na rede.
Se alguem puder me ajudar...
Grato.
mano, te juro que isso que tu esta fazendo era justamente o que eu estive procurando essa semana, porem eu não achei como fazer...
como seu post é de 2009 eu nem sei se tu vai ler essa mensagem, mas se ler e puder me ajudar, eu queria saber como que faz pra dividir por areas e como entregar pool de ips por areas