¿Hay una manera fácil de limitar el uso de ancho de banda del usuario?


14

¿Hay una manera fácil de limitar el uso de ancho de banda del usuario para decir 10kpbs? Otros usuarios no deberían verse afectados. Lo mejor que he encontrado es tc, pero parece demasiado complicado para hacer algo tan simple.


Si la respuesta dada resuelve su problema (eso espero), por favor seleccionarlo como aceptado, por lo que este problema puede ser marcado como resuelto ..
heemayl

Respuestas:


8

tc es la respuesta correcta a sus necesidades de configuración.
tc puede parecer complicado porque maneja discípulos en cola con clase (y menos) que le da flexibilidad ilimitada y capas de modelado y filtrado.
Esto, sin embargo, no es el caso. Como tc utiliza los discípulos de colas incorporados (o modulares) en el núcleo, es la forma más simple / mejor de limitar el ancho de banda por usuario.
Aquí hay una configuración de muestra, la dejé en formato Mbit pero puede cambiar la medida de velocidad a kbps.

tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1Mbit ceil 1Mbit prio 1

Para su regla de iptables simplemente cambie --uid-owner al uid del usuario que desea limitar, la documentación dice que puede usar el nombre de usuario en lugar de UID, no lo ha probado.

iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m owner --uid-owner 1000 -j CLASSIFY --set-class 1:1

Para su información, aunque no necesita un HTB, lo recomendaría en función de las opciones disponibles y a qué velocidad está limitando.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.