Tráfico que configura el ancho de banda y la latencia según IP

Tráfico que configura el ancho de banda y la latencia según IP

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/

información relacionada