Traffic shaping - Controlando tempo e taxa de burst - no servidor Debian

1

Eu corro um site ocupado em um servidor Debian que utiliza o Shorewall para a maior parte do gerenciamento de tráfego.

Eu preciso descobrir uma maneira de moldar o excesso de tráfego para que todos os usuários possam atingir a velocidade máxima de 1MB / s por 60 segundos. Mas qualquer IP de origem que continue a usar essa velocidade após 60 segundos deve então ser configurado de volta para 256kb / s, por exemplo.

Isso é para retardar (mas não bloquear!) os bots de download que muitos dos meus usuários gostam de usar para capturar seções enormes de nossos diretórios de ativos, mas manter velocidade total para usuários comuns.

Eu não quero ter que continuar adicionando useragents a uma lista negra, pois novos usuários de bots aparecem frequentemente, e alguns até mentem. Eu só quero moldar qualquer coisa que esteja usando muita largura de banda além de um determinado período de tempo por IP de origem.

Eu acho que isso provavelmente pode ser feito com o Shorewall. No entanto, não entendo como implementar meu requisito específico com base em seus documentos de TC. Eu sou uma daquelas pessoas que entende as coisas rapidamente ao trabalhar de trás para frente a partir de um bom exemplo, mas documentos técnicos detalhados com poucos exemplos relevantes não ajudam muito em ferramentas com configurações muito complexas.

Estou feliz em usar qualquer outro software que eu possa instalar como um pacote do Debian estável, se houver algo melhor a ser usado do que o Shorewall para esta tarefa.

Obrigado!

A

    
por AdrianQ 16.03.2013 / 05:55

1 resposta

0

Use iptables para combinar tais fluxos (usando hashlimit / limit por exemplo) e, em seguida, segmente CLASSIFY. Também crie uma classe em tc (que será formatada para 256kbit / s), na qual você classificará esses fluxos.

    
por 16.03.2013 / 13:57