Skip to content

Instantly share code, notes, and snippets.

@sjtosco
Created June 12, 2025 14:39
Show Gist options
  • Save sjtosco/dc8f46fe499bbada03ae781c7f9438ee to your computer and use it in GitHub Desktop.
Save sjtosco/dc8f46fe499bbada03ae781c7f9438ee to your computer and use it in GitHub Desktop.
apply_bw.sh
#!/bin/bash
# Lista de interfaces separadas por comas
interfaces="enp0s20u1,enp0s20u2,enp0s20u4,enp0s20u3u1,enp0s20u3u2,enp0s20u3u4"
# Valor del ancho de banda en kbit, pasado como argumento o definido por defecto
bw=${1:-10000} # Si no se pasa argumento, usa 10000 kbit por defecto
# Convertir la lista de interfaces en un array
IFS=',' read -ra iface_array <<< "$interfaces"
for iface in "${iface_array[@]}"; do
if [[ "$bw" -eq -1 ]]; then
echo "🧹 Eliminando configuración de qdisc en $iface..."
sudo tc qdisc del dev "$iface" root 2>/dev/null && \
echo "✔️ Cola eliminada en $iface." || \
echo "⚠️ No había cola en $iface o no se pudo eliminar."
else
echo "🎯 Aplicando limitación de $bw kbit a $iface..."
sudo tc qdisc del dev "$iface" root 2>/dev/null
sudo tc qdisc add dev "$iface" root tbf rate "${bw}kbit" latency 50ms burst 1540 && \
echo "✔️ Limitación aplicada en $iface." || \
echo "❌ Error al aplicar limitación en $iface."
fi
done
@sjtosco
Copy link
Author

sjtosco commented Jun 12, 2025

How to use:

Apply 10Mbps: ./apply_bw.sh 10000

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment