Você pode usar o comando 'tc' traffic shaping.
Dê a cada um de seus amigos uma porta diferente para usar no BitTorrent. Marque os pacotes TCP com o iptables para cada porta.
iptables -t mangle -A FORWARD -p tcp --sport 6881 -j MARK --set-mark 100
iptables -t mangle -A FORWARD -p tcp --dport 6881 -j MARK --set-mark 100
Em seguida, use o comando tc para definir a largura de banda e a taxa máximas para cada usuário.
No final do mês, você pode excluir e adicionar os comandos 'tc' para redefinir as contagens.
Você pode monitorar o uso de cada usuário por:
tc filter show dev ethX
Se você está usando o Debian Install Shorewall, ele facilita muito a modelagem do tráfego sem mexer no iptables. Você acabou de editar os dispositivos, tcclasses e tcrules no diretório / etc / shorewall. Mais informações aqui: link
Como a outra pessoa sugeriu, marcar os pacotes pelo nome de usuário é provavelmente melhor que por porta, assim as portas podem ser alteradas sem atualizar o iptables.