Como limitar a largura de banda da rede?

68

Estamos hospedando um aplicativo no servidor remoto. Precisamos testá-lo com uma largura de banda de rede limitada (para usuários com acesso ruim à Internet).

Posso limitar minha largura de banda da Internet? Por exemplo: 128 KB por segundo.

    
por fiction 03.01.2012 / 14:32

6 respostas

62

Você pode limitar a largura de banda da rede na interface usando o comando chamado tc Man disponível no link

Para um script simples, tente wondershaper .

Um exemplo do uso de tc: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540

    
por 03.01.2012 / 16:02
56

Como observado na resposta anterior, o Wondershaper faz o trabalho com facilidade. Incluo as informações do link acima por Jwalanta Shrestha

apt-get install wondershaper

wondershaper - Uma ferramenta fácil para limitar a largura de banda de uma interface específica.

$ sudo wondershaper {interface} {down} {up}

{down} e {up} são largura de banda em kpbs

Por exemplo, se você quiser limitar a largura de banda da interface eth1 a 256kbps e uplink de 128kbps,

$ sudo wondershaper eth1 256 128

Para limpar o limite,

$ sudo wondershaper clear eth1 
    
por 11.06.2015 / 15:51
10

Limitar os recursos de rede com base em alguns critérios é o assunto de QoS . Existem várias maneiras diferentes de controlar o tráfego de usuários em sistemas Linux.

Há um bom tutorial sobre técnicas avançadas de roteamento e controle de tráfego no Linux by Bert Hubert.

    
por 03.01.2012 / 16:03
7

Se você já tem uma configuração do Apache em algum lugar, você pode usar o mod_bw , que também funciona em conexões com proxy (ou seja, o Apache apenas encaminha tudo para o servidor apropriado, mas retarda as respostas.)

    
por 03.01.2012 / 19:46
6

Dummynet faz o que você quer e mais, você pode até controlar a latência, perda aleatória de pacotes e muito mais.

    
por 05.01.2012 / 19:20
3

Você também pode usar o módulo hashlimit do iptables. Aqui está um exemplo simples:

iptables -A FORWARD -m hashlimit --hashlimit-above 512kb/sec --hashlimit-burst 1mb --hashlimit-mode srcip,dstip --hashlimit-name bwlimit -j DROP

Essa regra limita o tráfego que passa pela cadeia FORWARD como 512kb / seg com 1mb de burst para cada par de origem e destino.

Verifique a seção hashlimit do manual iptables para mais informações.

link

    
por 21.03.2017 / 09:22