ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Red e IP

Cómo activar BBR en Linux: control de congestión TCP BBR

5 pasos 9 min de lectura 55652 vistas 96
Contenido

BBR es un algoritmo de control de congestión TCP desarrollado por Google que suele mejorar el rendimiento y la estabilidad en rutas de larga distancia, internacionales o con una ligera pérdida de paquetes. Esta guía muestra cómo activar BBR en Linux en VPS KVM y servidores dedicados con Debian, Ubuntu, CentOS Stream, Rocky Linux o AlmaLinux. Solo utilizamos un método manual y transparente, y no recomendamos «scripts de un clic» de origen desconocido.

Algunos scripts de un clic que circulan por internet reemplazan el kernel, modifican decenas de parámetros del sistema o incluso instalan binarios desconocidos, lo que puede dejar el servidor sin arrancar o inseguro. BBR solo necesita dos ajustes; hágalo a mano.

Paso 1: Compruebe que su kernel es compatible con BBR

BBR requiere el kernel de Linux 4.9 o posterior. Compruebe las versiones del kernel y del sistema operativo:

uname -r
cat /etc/os-release

Los kernels predeterminados de Debian 10+, Ubuntu 18.04+ y Rocky/AlmaLinux 8+ ya incluyen BBR. CentOS 7 (kernel 3.10) ha llegado al final de su vida útil; reinstalar un sistema operativo más reciente desde el área de cliente es más seguro que forzar una actualización del kernel.

Paso 2: Liste los algoritmos de control de congestión disponibles

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

Si bbr no aparece en la lista, intente cargar el módulo manualmente:

modprobe tcp_bbr
sysctl net.ipv4.tcp_available_congestion_control

Paso 3: Active BBR con sysctl (de forma persistente)

Coloque los ajustes en un archivo dedicado dentro de /etc/sysctl.d/ para que sean fáciles de administrar y revertir. Establezca default_qdisc en fq y el control de congestión en bbr:

echo "net.core.default_qdisc=fq" | tee /etc/sysctl.d/99-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" | tee -a /etc/sysctl.d/99-bbr.conf
sysctl --system

La configuración se mantiene tras los reinicios, y los comandos son idénticos en Debian/Ubuntu y en CentOS/Rocky/AlmaLinux.

Paso 4: Verifique que BBR está activado

sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc
lsmod | grep bbr

Si el primer comando muestra bbr y el segundo muestra fq, BBR está activado. Que tcp_bbr aparezca en lsmod significa que el módulo está cargado; si BBR está integrado en el kernel, es posible que lsmod no muestre nada, lo cual es normal siempre que sysctl indique bbr.

Paso 5: Mida el efecto y reviértalo si es necesario

Descargue el mismo archivo grande o ejecute iperf3 antes y después para comparar. Para volver al algoritmo predeterminado cubic:

rm -f /etc/sysctl.d/99-bbr.conf
sysctl -w net.ipv4.tcp_congestion_control=cubic
sysctl -w net.core.default_qdisc=fq_codel
BBR optimiza principalmente el tráfico TCP que envía el servidor (descargas de sitios web, entrega de video). Tiene poco efecto en las subidas hacia el servidor o en el tráfico UDP.

Preguntas frecuentes

¿Puedo activar BBR en contenedores OpenVZ o LXC?

Los contenedores comparten el kernel del host y no pueden cargar módulos ni cambiar el control de congestión. Los VPS KVM y los servidores dedicados sí pueden.

BBR está activado, pero la velocidad no ha cambiado.

BBR ayuda sobre todo en rutas con alta latencia y ligera pérdida de paquetes. Si el cuello de botella es su conexión local, el cliente o un límite de ancho de banda, la mejora será pequeña. Use mtr para comprobar si hay pérdida de paquetes.

¿Debo usar BBR Plus u otras versiones modificadas?

Las variantes no oficiales requieren un kernel personalizado y no ofrecen garantías de estabilidad. En producción, use el BBR estándar incluido en su distribución.

¿Sigue con problemas? Abra un ticket de soporte con el soporte técnico 24/7 de IMIDC e incluya la salida de uname -r y de sysctl.

¿Fue útil la respuesta?

Tutoriales relacionados