Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico

  1. Olá,

    Tenho instalado um freeradius + mysql + debian e este autenticando os meus usuários pppoe.
    O que acontece é que começarei agora a usar o modulo sqlippool para fornecer ips para os clientes.
    O radius fornece o IP normal, porém ele não atualiza a tabela na linha do determinado IP preenchendo as informações de
    nasipaddress, expiry_time, etc...
    e como consequencia tambem não faz o accounting, nem a liberação do ip na tabela radippool.



    Eis algumas saidas de logs


    Ao cliente logar pppoe aparece o seguinte:
    Wed Oct 29 13:29:30 2014 : Error: sqlippool_command: database query error in: 'UPDATE radippool SET nasipaddress = 'xxx.xxx.xxx.xxx', pool_key = 'xxx.xxx.xxx.xxx-2147484007', callingstationid = '24:A4:3C0:58:9C', username = 'usuario', expiry_time = NOW() + INTERVAL 3600 SECOND WHERE framedipaddress = '186.227.249.65' AND expiry_time IS NULL'


    Ao cliente deslogar o pppoe:
    Wed Oct 29 13:28:58 2014 : Error: sqlippool_command: database query error in: 'UPDATE radippool SET nasipaddress = '', pool_key = 0, callingstationid = '', username = '', expiry_time = NULL WHERE nasipaddress = 'xxx.xxx.xxx.xxx' AND pool_key = 'xxx.xxx.xxx.xxx-2147484006' AND username = 'usuario' AND callingstationid = '24:A4:3C0:58:9C' AND framedipaddress = 'yyy.yyy.yyy.yyy''


    Ambas as queries se eu copiar e colar direto no mysql-workbench por exemplo, executa normal.


    A tabela radippool é INNODB, eis o script de criação dela...
    CREATE TABLE radippool (
    id int(11) unsigned NOT NULL auto_increment,
    pool_name varchar(30) NOT NULL,
    framedipaddress varchar(15) NOT NULL default '',
    nasipaddress varchar(15) NOT NULL default '',
    calledstationid VARCHAR(30) NOT NULL,
    callingstationid VARCHAR(30) NOT NULL,
    expiry_time DATETIME NULL default NULL,
    username varchar(64) NOT NULL default '',
    pool_key varchar(30) NOT NULL,
    PRIMARY KEY (id),
    KEY radippool_poolname_expire (pool_name, expiry_time),
    KEY framedipaddress (framedipaddress),
    KEY radippool_nasip_poolkey_ipaddress (nasipaddress, pool_key, framedipaddress)
    ) ENGINE=InnoDB;

    Qualquer ajuda será muito bem vinda.




    Obrigado.



    Obs: Já verifiquei nomes de campos, tabelas, etc...tudo certo.

  2. Depois desse log, ele não cita o erro que ocorreu? Qual a versão do FreeRadius e do MySQL?




  3. Não aparece mais nada.
    O mais estranho é que ele fornece o IP que esta no pool, então o problema não é a conexão com o banco, pois ele busca o ip la.
    E se eu pego essa query do erro, copio e colo direto no mysql, funfa direitinho hehheh. Ta me deixando louco isso.

    Eis as versões.


    operador@radius:~$ dpkg -l |egrep 'freeradius|mysql-server'
    ii freeradius 2.1.10+dfsg-2 a high-performance and highly configurable RADIUS server
    ii freeradius-common 2.1.10+dfsg-2 FreeRADIUS common files
    ii freeradius-mysql 2.1.10+dfsg-2 MySQL module for FreeRADIUS server
    ii freeradius-utils 2.1.10+dfsg-2 FreeRADIUS client utilities
    ii libfreeradius2 2.1.10+dfsg-2 FreeRADIUS shared library
    ii mysql-server 5.1.63-0+squeeze1 MySQL database server (metapackage depending on the latest version)
    ii mysql-server-5.1 5.1.63-0+squeeze1 MySQL database server binaries and system database setup
    ii mysql-server-core-5.1 5.1.63-0+squeeze1 MySQL database server binaries
    operador@radius:~$

  4. pena que o topico é velho
    o problema esta na query "expiry_time IS NULL"
    editando o arquivo
    nano /etc/freeradius/sql/mysql/ippool.conf voce resolve isso
    basta trocar tudo que estiver como expiry_time IS NULL \
    por expiry_time = NULL \

    assim vai passar receber a accounting normalmente, porem apos aplicar essas mudanças sera necessario restartar o serviço do freeradius e tambem reiniciar os pppoe server.

    muito se ver por aí pedindo pra trocarem essa query pra evitar que haja duplicidade de ips na rede vinda do sqlippool, e deixar do jeito que esta no seu, mas quando se faz essa alteraçao a tabela radippool para de ser atualizada, entao tem que deixar do modo que eu passei acima.

    para evitar que haja duplicidade de ips o pessoal recomenda alterar a tabela radippool para o formato innodb e deixar o Expiry_time 6 vezes maior que o Interim update.

    alem disso editar o arquivo nano /etc/freeradius/sqlippool.conf
    onde tem pool-key = "%{NAS-Port}"
    se deve alterar para pool-key = "%{NAS-IP-Address}-%{NAS-Port}"

    esses foram os passos que encontrei pra resolver o problema de ips duplicados na rede, porem eu nao tenho uma rede pra testar isso pra ver se realmente funciona para o mysql.

    se alguem usa mysql para cuidar da sqlippool eu queria que deixasse um comentario aqui se esses passos que passei resolve mesmo o problema de ips duplicados na rede.

  5. Na verdade mesmo mano, o que evita IPS duplicados é uma série de fatores, alguns são, accounting funcional de no máximo 5 minutos, liberação rápida de ips não usados... E assim por diante. Fazem dois anos que já uso isso em meus clientes e ainda sofro as vezes com isso, o que fez piorar muito esse recurso foi a escassez de ipv4, no passado você conseguia um /20 e tinha uns 3900 ips só para atender clientes, e tinha seus 500 clientes, aí funciona muito bem, você conseguia deixar o expire-time alto e não sofria com a liberação precisa dos ips, hoje em dia os provedores tem 900 ips para atender 850 clientes... Não existe forma de ficar preciso, principalmente de você tem quedas/rajadas de conexão frequentes. O mais correto é usar o FRAMED-IP-ADDRESS com ip fixo pra cada cliente.

    Esperamos que logo logo tudo seja ipv6 aí sim eliminamos esse obstáculo!

    Enviado via XT1563 usando UnderLinux App







Tópicos Similares

  1. Erro na Compilação do Freeradius 1.1.7
    Por edielsonps no fórum Sistemas Operacionais
    Respostas: 4
    Último Post: 28-06-2010, 04:19
  2. Erro na conexão
    Por juniox no fórum Servidores de Rede
    Respostas: 5
    Último Post: 22-01-2003, 14:43
  3. Erro na hora de rodar o proftpd..??
    Por daniell no fórum Servidores de Rede
    Respostas: 4
    Último Post: 17-01-2003, 00:51
  4. erro na instalação
    Por Bruno no fórum Servidores de Rede
    Respostas: 6
    Último Post: 17-12-2002, 10:27
  5. erro na instalação
    Por Bruno no fórum Servidores de Rede
    Respostas: 2
    Último Post: 17-12-2002, 06:23

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L