Existem várias formas alternativas de implementar um sistema de quotas de tráfego.
Acho que todos envolvem pelo menos algum desenvolvimento de script / software. É muito fora do escopo para ajudá-lo com isso aqui. No entanto, podemos apontar você na direção geral.
No termo geral, isso envolve a contabilização de alguma forma do tráfego usado, e após o tráfego x, modificando a configuração do squid rapidamente ou aplicando regras de firewall nos IPs de origem dos clientes. Entretanto, esteja ciente de que o bloqueio pode criar problemas no nível aplicacional , pelo menos, se você bloqueá-los completamente .
Existem várias maneiras de fazer essa contabilidade.
No lado do linux, você também pode:
-
analisa logs do squid para o tráfego usado por usuário;
-
crie regras de firewall nas portas que o cliente chega e contabilize o tráfego usado (provavelmente mais fácil). consulte Estatísticas de tráfego por porta de rede . Apenas esteja ciente de que uma reinicialização do servidor redefine as estatísticas do iptable, portanto, seria melhor salvá-las em um banco de dados SQL. (em uma reinicialização controlada talvez o iptables salva as estatísticas de tráfego, no entanto você pode ter uma falha ou queda de energia).
No lado da infra-estrutura, você também pode capturar fluxos de rede em um roteador pelo qual eles passam se o seu equipamento o suportar . Existem soluções de código aberto para usar fluxos de rede, mas, novamente, envolve algum desenvolvimento de script / software. A solução será mais profissional, mas também mais difícil de implementar.
Novamente no lado da infra-estrutura, uma das outras maneiras de fazer isso é capturar o tráfego de dados SNMP de uma porta de switch do seu lado para onde eles passam.
Escusado será dizer que, se estiver a fazê-lo com netflows ou SNMP, num futuro remoto, se utilizar apenas redes, e não utilizadores como fonte de tráfego, provavelmente poderá ficar sem o proxy e apenas bloquear o switch portas quando a cota mensal é usada.
Aviso:
- Eu costumava administrar um ISP em Moçambique;
- Eu usei dados de fluxo de rede dos meus roteadores de borda que estavam conectados à Internet;
- quando o cliente excede a cota mensal, o modem foi bloqueado pelo meu software de provisionamento;
- hoje em dia eu trabalho em outro lugar, ainda usando netflows + Linux.
Algumas pistas sobre o neflows: Como coletar estatísticas completas de uso de rede em um roteador freebsd?