
Sé cómo configurar la latencia y el ancho de banda por separado. Para ancho de banda, puedo hacer
wondershaper etho0 100 100
para latencia puedo ejecutar
tc qdisc add dev eth0 root netem delay 200ms
Sin embargo, necesito restringir la configuración a conexiones IP específicas y necesito configurar la latencia y el ancho de banda simultáneamente.
¿Cómo puedo hacer esto?
Respuesta1
Puedes usar tc para dar forma al ancho de banda de esta manera.
Esta clase dará forma a ciertas direcciones a una cierta velocidad. También necesitamos configurar un filtro para que cualquier paquete marcado como tal pase por esta regla.
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
Una vez que se configura esa clase, necesita configurar iptables para marcar los paquetes específicos que desea moldear.
A continuación, cree la tabla de mangle que necesita.
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
Luego configure las marcas que necesitamos para dar forma a ciertas direcciones IP. La marca 5 es la que tiene la forma de 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
Eso debería dar como resultado 10.0.0.5 a 256 kbps.
Referencia (mi blog) -http://sirlagz.net/2013/01/27/how-to-turn-the-raspberry-pi-into-a-shaping-wifi-router/