+ Responder ao Tópico



  1. #1

    Padrão PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Pessoal,

    To tentando de tudo para solucionar meu problema do PPPoE e não to conseguindo chegar a lugar algum. O que acontece é que quando um cliente conecta o script ip-up gera uma regra de iptables na tabela mangle para marcar os pacotes de upload daquele cliente.

    O problema está que, em alguns casos, por "n" motivos, o cliente pode dropar a conexão sem fazer o pedido de desconexão e isso deixa a sujeira dentro da tabela mangle pois o script ip-down não é executado.

    Alguem sabe como sanar esse problema?!

  2. #2

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Olá Nataniel,

    já passei por isso, faz assim:

    crie uma pasta: /var/run/pppoe/
    no ip-up, crie na pasta acima um arquivo com nome da interface e o ip dentro

    faça um script para rodar em daemon ,de 1 em 1 minuto ele abrirá os arquivos
    da pasta /var/run/pppoe e verificará se a interface (nome do arquivo) existe
    com o ip especificado dentro. Se não existir, ele roda o ip-down passando os mesmo
    parametros informados durante a desconexão normal.

  3. #3

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Patrick,

    Esses dados acho que já existem mas não são verificados. Agora me conta uma coisa se uma conexão "caiu" ela continua ativa no sistema até quando? Outro cliente não pode conectar na mesma interface?

    Que tipo de teste tu fala para ser feito? Ping?

  4. #4

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Ola Nataniel,

    no caso o seu script de verificação terá que roda com o tempo programada, uns 60 segundos por exemplo verificando a existencia de interfaces que nao estão mais presentes porem manter seu registro na sua pasta.

    ip-up
    criar o arquivo /var/run/pppoe/pppX

    ip-down
    remove o arquivo /var/run/pppoe/pppX

    monitor.sh
    verificar se os arquivos em /var/run/pppoe/pppX tem interface com o mesmo nome up.
    Por exemplo, se o arquivo ppp10 tem o ip 10.1.5.102 porem nao existe a interface ppp10 ou existe com outro ip, é porque houve falha no ip-down, o monitor.sh fará esse serviço.
    Para evitar muita coincidencia, salva no pppX o mac também.

    O ping não ajuda pois clientes windows xp com firewall nao responderão e o protocolo ppp já tem um monitor interno (LCP ECHO - link control protocol - echo) que verifica de tempos em tempos a integridade do tunel.

    O problema é realmente ao rodar o ip-down quando por motivos estranhos não é feito.

    Mudando de assunto, estou alterando o codigo fonte do rp-pppoe para incluir controle de mac, voce entende de C?


  5. #5

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Citação Postado originalmente por PatrickBrandao
    Ola Nataniel,

    no caso o seu script de verificação terá que roda com o tempo programada, uns 60 segundos por exemplo verificando a existencia de interfaces que nao estão mais presentes porem manter seu registro na sua pasta.

    ip-up
    criar o arquivo /var/run/pppoe/pppX

    ip-down
    remove o arquivo /var/run/pppoe/pppX

    monitor.sh
    verificar se os arquivos em /var/run/pppoe/pppX tem interface com o mesmo nome up.
    Por exemplo, se o arquivo ppp10 tem o ip 10.1.5.102 porem nao existe a interface ppp10 ou existe com outro ip, é porque houve falha no ip-down, o monitor.sh fará esse serviço.
    Para evitar muita coincidencia, salva no pppX o mac também.

    O ping não ajuda pois clientes windows xp com firewall nao responderão e o protocolo ppp já tem um monitor interno (LCP ECHO - link control protocol - echo) que verifica de tempos em tempos a integridade do tunel.

    O problema é realmente ao rodar o ip-down quando por motivos estranhos não é feito.

    Mudando de assunto, estou alterando o codigo fonte do rp-pppoe para incluir controle de mac, voce entende de C?

    Patrick,

    Vou ter que ler tua mensagem com bastante calma para entender todo o processo que devo fazer. Por começo já me ajuda que alguem chegou no mesmo problema que eu, agora falta eu criar tempo para resolvê-lo.

    Quanto a sua pergunta: sim, entendo um pouco de C++ principalmente em programação de pequenas placas cpu para controladores industriais. Não sei se ajuda.

  6. #6
    Richthofen
    Visitante

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Opa.

    por falar em rp-pppoe e mac...
    alguem sabe como faz para o pppd enviar o mac address do cliente como atributo "Calling-Id" pra tabela do mysql?

    Flwz

    -----------------------------------------------------
    "All you people are Vampires!!" --> by Arctic Monkeys

  7. #7
    Richthofen
    Visitante

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    alguma luz?

  8. #8

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    tenho um problema quase igual a este mas com o servidor do freeradius, quando eu coloco os atributos de down e up no dicionario do servidor de radius apos eu fazer uma conexão ele cria perfeitamente os arquivos pppX mas ai eu não consigo mais conectar pois o servidor de radius para de funcionar ele não responde ai ru tenho que restartar o serviço do freeradius, mas quando conecto novamente pau de novo o serviço raidius cai.
    alguem tem uma sugestão...
    obs segui o tuto do site do patrick para o freeradius depois o do site para o servidor rp-pppoe, e estou usando a mesma maquina para freeradius, pppoe e mysql-- slackware 10.2

  9. #9

    Padrão Re: PPPoE - Problemas com desconexão sem pedido (fica no mangle)

    Citação Postado originalmente por Richthofen
    Opa.

    por falar em rp-pppoe e mac...
    alguem sabe como faz para o pppd enviar o mac address do cliente como atributo "Calling-Id" pra tabela do mysql?

    Flwz

    -----------------------------------------------------
    "All you people are Vampires!!" --> by Arctic Monkeys
    Boa pergunta... Também já procurei isso e não consegui encontrar...