No Linux, você pode concluir isso com alguns scripts:
- Crie regras de firewall com
iptables
para que toda a largura de banda de cada cliente passe por uma regra separada. O subsistema de firewall no kernel contará os pacotes e bytes de rede que uma determinada regra correspondeu. Você pode ver os contadores se você executariptables -vL
. Você também pode querer usar a opção-n
para desempenho:iptables -vnL
- Escreva um script que seja executado no cron e que verifique quantos dados foram usados por cada cliente. Então, se estiver acima de um determinado valor, peça ao script para modificar o firewall para que o cliente não possa mais acessar a Internet
Observe que os contadores iptables
'são redefinidos quando o firewall é limpo (ou seja, após a reinicialização ou quando você executa iptables -F
. Assim, você pode querer que o script declare suas conclusões para algum banco de dados ou algo assim.