
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/