Três opções que você pode querer investigar.
-
Limters específicos de aplicativos. Como mencionado acima, o rsync tem o bwlimit e a maioria dos servidores de torrents tem funcionalidade de limitação de largura de banda. Pro: simples de configurar. Con: não dinâmico (por exemplo, se você definir o limite como 20 Mbps em uma conexão de 100 Mbps, no máximo 20 serão usados mesmo que nenhum outro programa esteja gerando tráfego.
-
Limite de espaço do usuário de uso geral. Eu só sei de trickle link Prós: simples de configurar e de propósito geral. Con: não dinâmico.
-
Limitador do Kernel, por exemplo, HTB link Prós: alocação de largura de banda dinâmica; opções extensivas de priorização. Contras: arcano como o inferno. Você também precisa de um classificador:
3a. cgroups com o classificador net_cls. (É assim que as soluções de virtualização baseadas em KVM limitam recursos). Pro: relativamente simples de configurar o link . Contras: precisa ter um kernel que suporte cgs; ainda precisa usar o limitador do kernel.
3b. Outro é o iptables com o alvo MARK. Prós: relativamente simples de configurar; extensas opções de classificação. Con: ainda precisa usar o limitador do kernel.