[FUG-BR] Sistema de administração de Usuário s + integração com Squid

2010-01-11 Thread Rodrigo de Oliveira Gomes
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

2010-01-11 Thread Carlos Benjamin Pazzianotto
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

2010-01-11 Thread Paulo Henrique
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

2010-01-11 Thread Rodrigo de Oliveira Gomes
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

2010-01-12 Thread 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


Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid

2010-01-12 Thread Giancarlo Rubio
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

2010-01-12 Thread 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


Re: [FUG-BR] Sistema de administração de Usuário s + integração com Squid

2010-01-13 Thread Carlos Talhati
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