Largura de banda e latência de modelagem de tráfego com base em IP

Largura de banda e latência de modelagem de tráfego com base em IP

Estou ciente de como moldar a latência e a largura de banda separadamente. Para largura de banda, posso fazer

wondershaper etho0 100 100

para latência eu posso executar

tc qdisc add dev eth0 root netem delay 200ms

No entanto, preciso restringir a modelagem a conexões IP específicas e moldar a latência e a largura de banda simultaneamente.

Como posso fazer isso?

Responder1

Você pode usar tc para moldar a largura de banda assim

Esta classe irá moldar certos endereços a uma certa velocidade. Também precisamos configurar um filtro para que quaisquer pacotes marcados como tal passem por esta regra

tc class add dev eth0 parent 1:1 classid 1:5 htb rate 256kbps ceil 256kbps prio 1
tc filter add dev eth0 parent 1:0 prio 1 handle 5 fw flowid 1:5

Depois que a classe estiver configurada, você precisará configurar o iptables para marcar os pacotes específicos que deseja moldar.

Em seguida, crie a tabela mangle necessária.

iptables -t mangle -N shaper-out
iptables -t mangle -N shaper-in

iptables -t mangle -I PREROUTING -i eth0 -j shaper-in
iptables -t mangle -I POSTROUTING -o eth0 -j shaper-out

Em seguida, configure as marcas que precisamos para moldar determinados endereços IP. a marca 5 é aquela que tem o formato 256.
iptables -t mangle -A shaper-out -s 10.0.0.5 -j MARK --set-mark 5
iptables -t mangle -A shaper-in -d 10.0.0.5 -j MARK --set-mark 5

Isso deve moldar 10.0.0.5 a 256 kbps.

Referência (meu blog) -http://sirlagz.net/2013/01/27/how-to-turn-the-raspberry-pi-into-a-shaping-wifi-router/

informação relacionada