Como posso limitar a largura de banda de upload / download no meu servidor CentOS?

5

Como posso limitar o upload e download de banda no meu servidor CentOS? Esta é uma caixa com uma interface única, eth0 . Idealmente, eu gostaria de uma solução de linha de comando (eu tenho tentado usar tc ), algo que eu poderia facilmente ligar e desligar em um script.

Até agora eu tenho tentado fazer algo como tc filter add dev eth0 protocol ip prio 50 u32 police rate 100kbit burst 10240 drop , mas obviamente estou perdendo muito conhecimento e informação. Alguém pode ajudar com um one-liner rápido?

Muito obrigado, Dan

    
por Dan Nestor 30.10.2013 / 22:49

1 resposta

5

Estou tendo problemas para adicionar o código de script para você aqui. Ele está disponível no seguinte link: link

O script está usando TC e Hierarchical Token Bucket (HTB) para definir as regras e, por fim, os filtros que atuariam como uma regra geral.

Você precisaria modificar o interface var se for diferente de eth0 ˙e o interface_speed .

Salve o script em seu servidor e inicie-o via: ḃash limit-tc.sh start

Para parar: bash limit-tc.sh stop

Ver status: bash limit.tc status

A saída de status seria algo como isto:

qdisc htb 1: root refcnt 2 r2q 10 default 30 direct_packets_stat 1  
 Sent 535666 bytes 6461 pkt (dropped 172, overlimits 7641 requeues 0)  
 rate 0bit 0pps backlog 0b 0p requeues 0  
qdisc sfq 10: parent 1:10 limit 127p quantum 1514b perturb 10sec  
 Sent 535624 bytes 6424 pkt (dropped 172, overlimits 0 requeues 0)   
 rate 0bit 0pps backlog 0b 0p requeues 0  
qdisc sfq 20: parent 1:20 limit 127p quantum 1514b perturb 10sec  
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)  
 rate 0bit 0pps backlog 0b 0p requeues 0  
    
por 31.10.2013 / 01:20