[FUG-BR] Sistema de administração de Usuário s + integração com Squid
Pessoal, Boa Noite! Possuo um provedor de acesso com aproximadamente 500 clientes. O proxy da rede é um FreeBSD 7.2 amd64 com SQUID3.0Stable19. Desenvolvi um sistema de cadastro de clientes em PHP e MYSQL. Tudo está funcionando bem e estável. Estou desenvolvendo um sistema de aviso ao cliente, no qual o usuário receberá uma mensagem na tela quando estiver faltando 1 dia para a data de pagamento da sua mensalidade. Para isso, realizo um SELECT na base pela data do pagamento do mesmo e carrego a informação em um arquivo no squid (ex: avisopagamento15.sh). Ao final do script executo um squid -k reconfigure e o squid carrega. Criei uma ACL contendo o arquivo informado acima e defini uma DENY_INFO para todos clientes da data selecionada. A minha preocupação é que após o cliente receber a mensagem, ele selecionará ao final da página um botão "voltar ao acesso normal". Nesse exato momento, um script PHP remove a entrada do MAC e IP do cliente do arquivo avisopagamento15.sh e executa um squid -k reconfigure. Será que 500 pessoas fazendo esse mesmo procedimento em pequenos intervalos de tempo poderão atrapalhar o funcionamento do squid? Ou melhor, 500 squid -k reconfigure em poucos segundos ou minutos poderão degradar o serviço de proxy? Se alguém tiver alguma experiência parecida nesse ambiente informado acima, por favor, ajuda ai :-) Muito obrigado pela ajuda. Atenciosamente, Rodrigo Gomes - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
Boa Noite Rodrigo. Temos alguma coisa semelhante. Usamos a crontab para chamar um script shell, no script shell usamos o lynx para executar o código php. Se vc se interessar por esta forma de execucao posso passar-lhe o script e mais detalhes. Carlos B. Pazzianotto. > Pessoal, > > Boa Noite! > > Possuo um provedor de acesso com aproximadamente 500 clientes. O proxy > da rede é um FreeBSD 7.2 amd64 com SQUID3.0Stable19. Desenvolvi um > sistema de cadastro de clientes em PHP e MYSQL. > Tudo está funcionando bem e estável. > Estou desenvolvendo um sistema de aviso ao cliente, no qual o usuário > receberá uma mensagem na tela quando estiver faltando 1 dia para a data > de pagamento da sua mensalidade. > > Para isso, realizo um SELECT na base pela data do pagamento do mesmo e > carrego a informação em um arquivo no squid (ex: avisopagamento15.sh). > Ao final do script executo um squid -k reconfigure e o squid carrega. > > Criei uma ACL contendo o arquivo informado acima e defini uma DENY_INFO > para todos clientes da data selecionada. > > A minha preocupação é que após o cliente receber a mensagem, ele > selecionará ao final da página um botão "voltar ao acesso normal". > Nesse exato momento, um script PHP remove a entrada do MAC e IP do > cliente do arquivo avisopagamento15.sh e executa um squid -k reconfigure. > > Será que 500 pessoas fazendo esse mesmo procedimento em pequenos > intervalos de tempo poderão atrapalhar o funcionamento do squid? Ou > melhor, 500 squid -k reconfigure em poucos segundos ou minutos poderão > degradar o serviço de proxy? > > Se alguém tiver alguma experiência parecida nesse ambiente informado > acima, por favor, ajuda ai :-) > > Muito obrigado pela ajuda. > > Atenciosamente, > > Rodrigo Gomes > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > -- - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
Faz um refirect atravez do firewall, para ter uma ideia de uma olhada no Sagu-pro http://www.sagu-pro.com.br/ para obter, é sobre o iptables, contudo creio que seja melhor do que recarregar o squid, que no seu caso considerando que tenha 100 usuários e esses executando o script varias vezes em digamos 2 minutos será um recarregamento do squid a cada 1,2 segundos, sem contar que tem o problema de concorrencia, visto que pelo que entendi havera usuários entrando e saindo constantemente da sua ACL, e apenas uma opnião, informar quanto ao pagamento antes, é meio complicado, melhor deixar esses usuários sendo informado digamos 3 dias apos o vencimento. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
Paulo Henrique escreveu: > Faz um refirect atravez do firewall, para ter uma ideia de uma olhada > no Sagu-pro http://www.sagu-pro.com.br/ para obter, é sobre o > iptables, contudo creio que seja melhor do que recarregar o squid, que > no seu caso considerando que tenha 100 usuários e esses executando o > script varias vezes em digamos 2 minutos será um recarregamento do > squid a cada 1,2 segundos, sem contar que tem o problema de > concorrencia, visto que pelo que entendi havera usuários entrando e > saindo constantemente da sua ACL, e apenas uma opnião, informar quanto > ao pagamento antes, é meio complicado, melhor deixar esses usuários > sendo informado digamos 3 dias apos o vencimento. > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > Paulo Henrique, Boa noite! Obrigado pela resposta... Mas por favor, você teria maiores informações sobre a implementação que relatou acima... O redirect através de firewall? Como fazer? Não tenho a mínima idéia... :-) Obrigado, Atenciosamente, Rodrigo Gomes - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
ja pensou em fazer pelo squid com php verificando sua base de dados external_acl_type checa_cadastro concurrency=0 %SRC checa_cadastro.php acl checa external checa_cadastro http_access deny !checa deny_info ERR_CADASTRO checa - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
Uma ideia seria usar captive portal. Com pf seria algo como voce ter 2 tabelas. Hosts liberados e host "inadimplentes", um ip no apache que mostra a página de inadimplencia e dps rodaria um comando php para remover da tabela do pf. ## ipWebIndadimplente="{meuIp}" table <192.168.0.2,.> table <> rdr on $ext_if from to any port www -> $ipWebIndadimplentes port www pass quick from to $ipWebIndadimplente block quick from to any shell script #!/bin/sh COMMAND=/sbin/pfctl -t inadimplentes -T TYPE=$1 IP=$2 RUN=`$COMMAND $TYPE $IP` Adicionar /usr/local/bin/inadimplentes ADD 192.168.1.1 Remover /usr/local/bin/inadimplentes DELETE 192.168.1.1 A pira ta ai, escrevi tudo na mão então pode ter erros. Depois de eu entregar mastigado você poderia fazer um projeto no sf e devolver pra comunidade!!! 2010/1/12 BSD > ja pensou em fazer pelo squid com php verificando sua base de dados > > external_acl_type checa_cadastro concurrency=0 %SRC checa_cadastro.php > acl checa external checa_cadastro > http_access deny !checa > deny_info ERR_CADASTRO checa > > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > -- Giancarlo Rubio - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
BSD escreveu: > ja pensou em fazer pelo squid com php verificando sua base de dados > > external_acl_type checa_cadastro concurrency=0 %SRC checa_cadastro.php > acl checa external checa_cadastro > http_access deny !checa > deny_info ERR_CADASTRO checa > > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > Oi, obrigado pela resposta... gostaria de maiores informações sobre a implementação acima... qual seria a estrutura do checa_cadastro.php? Ele retornaria se o IP ou MAC consta pago no banco? Qual tipo de retorno o squid aceita? 0 ou 1? sim ou não? Obrigado, Atenciosamente, Rodrigo Gomes - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid
no php eu faço um select no mysql (pesquise o que precisar)e dou o retorno ao squid $num_rows = mysql_num_rows($result); if($num_rows == 0) { printf("ERR\n"); continue; }else{ printf("OK\n"); continue; } sobre o tempo de cada requisição tem a opção ttl ttl=n -> TTL in seconds for cached results (defaults to 3600 for 1 hour) por padrão ele verifica a cada 1 hora Carlos 2010/1/12 Rodrigo de Oliveira Gomes > BSD escreveu: > > ja pensou em fazer pelo squid com php verificando sua base de dados > > > > external_acl_type checa_cadastro concurrency=0 %SRC checa_cadastro.php > > acl checa external checa_cadastro > > http_access deny !checa > > deny_info ERR_CADASTRO checa > > > > - > > Histórico: http://www.fug.com.br/historico/html/freebsd/ > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > > > > Oi, obrigado pela resposta... gostaria de maiores informações sobre a > implementação acima... > > qual seria a estrutura do checa_cadastro.php? Ele retornaria se o IP ou > MAC consta pago no banco? > > Qual tipo de retorno o squid aceita? 0 ou 1? sim ou não? > > Obrigado, > > Atenciosamente, > > Rodrigo Gomes > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd