Eu usaria tc
e o Filtro do Token Bucket ( tbf
) para fazer isso. Se você tiver uma linha de 1 Gbps, ela pode empurrar ~ 328 TB / mês com a utilização total. Se seus dados de saída estiverem limitados a 50 TB / mês, a taxa máxima sustentada será
(50/328)Gbps ~ 0.152Gbps ~ 152Mbps
Você pode então usar tc para limitar o máximo
tc qdisc add dev eth0 root tbf rate 152.0mbit burst 20kb latency 50ms
ou algo similar. É claro que, se você não estiver utilizando totalmente o seu link o tempo todo, isso pode ser um desperdício, mas você não deve ultrapassar seu limite.
Wolfram Alpha é útil para trabalhar com esse tipo de coisa também.