Controla el tráfico de red, latencia y pérdida de paquetes en GNU/Linux con tc, la herramienta de shaping definitiva.


Cuando se trata de administrar servidores o redes bajo GNU/Linux, la gestión del tráfico de red es una herramienta clave para garantizar el rendimiento, evitar saturaciones o simular condiciones de red. Para ello, el kernel de Linux incluye una potente utilidad poco conocida por muchos administradores: tc. Este comando permite manipular el subsistema de control de tráfico del kernel (Traffic Control), y ofrece un nivel de granularidad muy alto para aplicar políticas de calidad de servicio (QoS), priorización, limitación de ancho de banda, latencia simulada, pérdida de paquetes y más.

¿Para qué se usa el comando tc?

El comando tc (traffic control) forma parte del paquete iproute2 y se utiliza para:

  • Limitar el ancho de banda de interfaces de red.
  • Asignar prioridades al tráfico.
  • Simular latencias o pérdida de paquetes para pruebas.
  • Aplicar shaping y policing al tráfico.
  • Controlar colas de paquetes, filtros y clases.

Es una herramienta esencial en entornos de pruebas, laboratorios de red, o sistemas donde se necesita una QoS avanzada.

Sintaxis básica

tc [subcomando] [objeto] [acción] [parámetros]

Algunos subcomandos comunes son:

  • qdisc – Control de colas.
  • class – Definición de clases de tráfico.
  • filter – Filtros para dirigir paquetes a colas o clases específicas.

Ejemplo básico:

tc qdisc add dev eth0 root netem delay 100ms

Ejemplos prácticos y opciones útiles

Limitar el ancho de banda de salida a 1 Mbps

tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

Este comando limita la interfaz eth0 a 1 Mbps, con una tolerancia (burst) y una latencia máxima.

Simular latencia de red

tc qdisc add dev eth0 root netem delay 100ms

Ideal para pruebas de aplicaciones web o móviles en condiciones de red más realistas.

Simular pérdida de paquetes (5%)

tc qdisc change dev eth0 root netem loss 5%

Muy útil para simular entornos con mala conexión, como redes móviles.

Quitar todas las reglas aplicadas a una interfaz

tc qdisc del dev eth0 root

Restablece el comportamiento por defecto de la interfaz.

Mostrar el estado actual del shaping

tc qdisc show dev eth0

Muestra qué tipo de configuración se ha aplicado sobre eth0.

Conclusión

tc es una herramienta avanzada pero imprescindible para los administradores de sistemas que necesitan tener control total sobre el tráfico de red. Aunque su sintaxis puede parecer compleja al principio, su flexibilidad es incomparable. Desde limitar ancho de banda hasta simular condiciones de red adversas, tc permite experimentar, probar y asegurar la calidad del servicio de forma precisa. Si gestionas entornos de red en GNU/Linux, conocer tc puede marcar la diferencia entre una red optimizada y un cuello de botella sin identificar.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación