Estoy tratando de configurar el modelado del tráfico en una puerta de enlace Linux como está escrito aquí . El script necesita ser personalizado porque tengo múltiples interfaces LAN. Entonces, para dar forma al lado de la LAN, estoy planeando crear un pseudo dispositivo ifb de esta manera:
modprobe ifb
ip link set dev ifb0 up
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
El guión del repositorio general mencionado anteriormente tiene estas líneas:
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip sport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 1 u32 match ip dport $INTERACTIVE_PORT 0xffff flowid :1
/sbin/tc filter add dev $WAN_INTERFACE parent ffff: protocol ip prio 5 0 u32 match ip src 0.0.0.0/0 police rate $MAX_DOWNRATE_INGRESS burst 20k drop flowid :2
Este código y el código de creación de la interfaz ifb no se llevan bien juntos. El script personalizado se ejecuta, pero el dispositivo ifb0 no muestra ninguna estadística de tráfico. Si comento el código de ingreso de repositorio gist (citado anteriormente), entonces el dispositivo ifb0 muestra la cantidad de paquetes que se transfieren. Además, estas líneas no se pueden ejecutar juntas:
/sbin/tc qdisc add dev $WAN_INTERFACE ingress
/sbin/tc qdisc add dev $WAN_INTERFACE handle ffff: ingress
Me sale el archivo existe error. Entonces, ¿cómo puedo configurar la entrada en WAN_INTERFACE y al mismo tiempo también configurar el tráfico que va a LAN a través del dispositivo ifb0?
fuente
ifb0
estadísticas específicamente para un cgroup classid? Es decir, puedo obtener con éxito las estadísticas de salida de un cgroup con un filtro classid. Pero, ¿el tráfico entrante también puede contabilizarse por grupo?Basado en la respuesta de Sérgio Carvalho, hice un pequeño script bash para limitar el ancho de banda:
Nombre de archivo: netspeed
fuente
Tiene un script simple que lo hace en una caja de enrutador de Linux para el tráfico entrante y saliente:
https://github.com/rfrail3/misc/blob/master/tc/traffic-control.sh
fuente