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?!
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.
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?
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?
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.