Eu acho que é possível com ebtables, veja:
No entanto, você pode ter dificuldade em fazer com que a configuração seja realista (ou seja, comportar-se como um link de rede que ofereça uma taxa igual ao limite de taxa de transferência). Isso realmente depende de seus requisitos .
A taxa de transferência média será limitada se você a medir por longos períodos (por exemplo, segundos), mas se você limitar o software a máquina pode processar pacotes em rajadas (o que significa que você terá um atraso de processamento ou latência para cada pacote e esse atraso pode variar muito entre diferentes pacotes). O efeito é que, para escalas de tempo curtas, seu rendimento será, às vezes, muito maior do que o limite, para outros muito inferiores. Somente a taxa de transferência média por longos períodos corresponderá ao limite.
É possível reduzir o atraso de processamento com algumas otimizações malucas, semelhantes às usadas em negociações de alta frequência, mas é muito difícil e você terá que comprar hardware caro (por exemplo, servidores de rack) para fazê-los funcionar de forma confiável.
Se eu fosse você, em vez de gastar dinheiro com o servidor, eu teria um switch gerenciado barato (~ $ 100). Por exemplo, a limitação da taxa de suporte do SG-200, veja "Traffic Shaping" no manual, na página 174 link Esses switches suportam a limitação de taxa implementada em hardware e, idealmente, devem introduzir um atraso no processamento de pacotes muito menor do que o obtido em uma caixa de software que emula o switch . Você também pode ter certeza de que funciona corretamente; qualquer coisa que você tente emular no software precisa ser testada e comparada com cuidado.
Se você tem requisitos muito rigorosos, você pode querer saber que os switches baratos geralmente implementam o enfileiramento de pacotes usando um método chamado WRR (round robin ponderado). Existe um método de limitação de taxa mais preciso chamado SRR (round robin), para o qual as variações de atraso são ainda menores; no entanto, o preço desses switches (certos modelos Catalyst) é geralmente acima de US $ 1-2.000, porque os chips funcionam com uma frequência de clock muito maior. Além disso, o fato de você ter apenas uma classe de tráfego pode reduzir a distância entre eles. A diferença de implementação entre WRR e SRR é descrita aqui link (veja Q. Qual é a diferença entre WRR e SRR no modo compartilhado?)
(É claro que existem outras marcas / modelos de switches gerenciados que oferecem limitação de taxa; não estou promovendo nada, só estou falando sobre isso porque é disso que eu sei. Outras marcas / modelos provavelmente implementam muito mecanismos semelhantes para limitação de taxa que podem funcionar muito bem :)).