Simulando uma conexão lenta com tc

9

Eu tenho uma caixa linux (Centos 5.5) na qual eu quero limitar o tráfego da rede. Eu tenho um aplicativo que distribuímos para clientes e quero testá-lo na largura de banda mínima recomendada de 256 Mbit / s. Até agora, os tutoriais tc que eu vi parecem permitir que você limite a largura de banda de acordo com certos critérios, mas eu quero limitar a largura de banda em todas as situações (para / de todos os endereços IP, não importa o cabeçalho IP, etc).

Um tutorial sugeriu que eu usasse:

tc filter add dev eth0 protocol ip parent 10: prio 2 flowid 10:2

mas recebo o seguinte erro:

Unknown filter "flowid", hence option 10:2 is unparsable

Alguma idéia de como limitar a largura de banda entrando e saindo da eth0 em todas as circunstâncias?

    
por rancidfishbreath 29.11.2010 / 23:12

3 respostas

9

Se você quiser aplicar limitação a todo o tráfego de saída, não precisará de filtros. Basta adicionar seu qdisc ao identificador de raiz da interface da seguinte forma:

tc qdisc add dev eth0 root handle 1: tbf rate 256mbit latency 1ms burst 1540

Se você deseja moldar / policiar o tráfego de entrada, é um pouco mais complicado. Você precisará usar, por exemplo uma interface IFB:

modprobe ifb
ip link set dev ifb0 up
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
#  ^- this is a dummy filter, match u32 0 0 matches all traffic
tc qdisc add dev ifb0 root handle 1: tbf rate 256mbit latency 1ms burst 1540

Aqui está uma abordagem diferente, usando dois filtros simples:

tc qdisc add dev eth0 ingress
tc filter add dev eth0 root         protocol ip u32 match u32 0 0 police rate 256mbit burst 10k drop flowid :1
tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 police rate 256mbit burst 10k drop flowid :1
    
por 30.11.2010 / 01:17
1

Isso pode estar um pouco fora do seu escopo, mas o WAN-emu tem sido muito bom em emular ambientes com requisitos estranhos para taxa de transferência e latência [1]

[1]: link WAN-emu

    
por 01.12.2010 / 03:33
0

Você adicionou 1 régua como essa tc qdisc add dev root root handle 10: padrão htb 20

associe isso como seu

filtro tc add dev protocolo eth0 ip parent 10: prio 2 flowid 10: 2

    
por 30.11.2010 / 00:23