Re: Freeradius + PPPOE + ippool + mikrotik
Mas vamos lá...
A relatos de muitas pessoas tendo duplicidade de ips quando elas tem mais de um mikrotik, pois o padrão que vem nas queryes do freeradius faz com que seja entregue ips repetidos entre mikrotiks
a solução é:
nano /etc/freeradius/3.0/mods-enabled/sqlippool
Comente a linha 35
descomente a linha 36
Comente:
# pool_key = "%{NAS-Port}"
Descomente:
pool_key = "%{Calling-Station-Id}"
isso resolve parcialmente o problema, pois a query de allocate clear só apaga as informações se o nasipaddress daquele ip for o mesmo nasipaddress do nas que pedir autenticação, caso um nas com ip diferente peça autenticação o radius vai entregar o ip ao nas, só que não vai atualizar as informações daquele ip, fazendo assim que as informações continuem com informações de ip com lease duration vencido e o radius acaba entregando novamente o mesmo ip para outros pedidos de autenticações, para resolver isso editamos a query de allocate clear
nano /etc/freeradius/3.0/mods-config/sql/ippool/mysql/queries.conf
feche a query de allocate clear na linha 34, para fechar a query apagamos a contra e colocamos aspas duplas
depois comente a linha 35
ficando assim:
allocate_clear = "\
UPDATE ${ippool_table} \
SET \
nasipaddress = '', \
pool_key = 0, \
callingstationid = '', \
username = '', \
expiry_time = NULL \
WHERE expiry_time <= NOW() - INTERVAL 1 SECOND"
# AND nasipaddress = '%{Nas-IP-Address}'"
por fim outro problema que ocasiona a duplicidade de ips é quando um ponto a ponto cai e fica fora do ar por um período maior do que a lease-duration, como o ponto a ponto ficou fora a torre perdeu a comunicação com o radius por conta disso não houve atualização de accounting e o radius acabou liberando os ips para outros clientes, só que o problema é que la na torre que caiu os clientes continuaram conectados, mantendo assim o mesmo ip que haviam pego e quando a torre volto houve a duplicidade de ips.
e para resolver isso o jeito jeito é desconectar todos que estiverem com ips repetidos para que eles peguem outro ip, mas fazer isso manualmente seria ruim, começando que tu só iria se dar conta da duplicidade quando alguém ligasse falando que está sem internet.
então a melhor maneira é colocar um script em cada torre fazendo com que a torre fique pingando para o radius a cada 3 ou 5 minutos e caso não obtenha resposta de ping o script desativa o serviço do pppoe e assim todos se desconectam e depois o script volta a reativar o serviço pppoe e quando os clientes voltarem a se conectar vao pegar um ip diferente do que tiam antes.
# esse script pinga o radius a cada 3 minutos
# se o mikrotik não obter resposta no ping
# o mikrotik desativa o serviço pppoe
# o serviço pppoe é reativado 1 minuto depois
# isso é feito para evitar duplicidade de ips
/tool netwatch
add comment=reinicia-servico-pppoe down-script=\
"/interface pppoe-server server disable [find name=service-pppoe]\r\
\n:delay delay-time=1m;\r\
\n/interface pppoe-server server enable [find name=service-pppoe]" host=172.16.0.202 interval=3m
#
#
em name=service-pppoe troque o service-pppoe pelo nome que esta no seu serviço de pppoe e em host=172.16.0.202 coloque o ip do seu radius
Re: Freeradius + PPPOE + ippool + mikrotik
tu acabou de fazer a pergunta rapaz kkkkkk
bom, só se esqueceu de falar no que precisa de ajuda
Re: Freeradius + PPPOE + ippool + mikrotik
Citação:
Postado originalmente por
Ronnie
Pessoal, bom dia!
Sou novo na comunidade, eu não sei como faço para fazer perguntas rs
Alguém pode me ajudar por favor?
Obrigado!
normal, mas tu fez a pergunta, acho que não viu...