Enable TCP BBR on AlmaLinux 8 | Boost Network Efficiency
In this guide from Orcacore, we aim to teach you How To Enable TCP BBR on AlmaLinux 8. Bottleneck Bandwidth and Round-trip propagation time (BBR) is a TCP congestion control algorithm developed at Google in 2016. The goal of enabling BBR is to improve network performance.
Up until recently, the Internet has primarily used loss-based congestion control, relying only on indications of lost packets as the signal to slow down the sending rate. This worked decently well, but networks have changed significantly.
We have much more bandwidth than ever before; the Internet is generally more reliable now, and we see new things such as bufferbloat that impact latency. BBR tackles this with a ground-up rewrite of congestion control, and it uses latency instead of lost packets as a primary factor to determine the sending rate. Therefore, learning how to enable TCP BBR on AlmaLinux 8 is essential.
Enable BBR Congestion Control Algorithm on AlmaLinux 8
To enable TCP BBR, you must log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide on the Initial Server Setup with AlmaLinux 8.
Now follow the steps below to complete this guide.
How To Enable TCP BBR on AlmaLinux 8?
First, you need to update and upgrade your local package index with the following command:
sudo dnf update && sudo dnf upgrade -y
Then, you need to check your existing congestion controls on your server.
Check Existing Congestion Control Algorithms on AlmaLinux
Typically, Linux uses Reno
and Cubic
algorithms.
At this point, you need to run the following command to check what existing TCP congestion controls are in place:
sudo sysctl net.ipv4.tcp_congestion_control

In the above output, cubic is employed in our system, but your output may show different results.
Next, list available TCP congestion control algorithms on your server by using the following command:
sudo sysctl net.ipv4.tcp_available_congestion_control

From the output, Reno and Cubic are available, and once BBR has been added/enabled, this should feature BBR.
Add BBR on AlmaLinux 8
Now that you have checked the basics to confirm the available algorithms, you need to open the sysctl.conf
file. Here we use the vi editor to open the file:
sudo vi /etc/sysctl.conf
Add the following content to the file:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
When you are done, save and close the file.
Then, reload the configuration file with the command below:
sudo sysctl -p
**Output**
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
At this point, you need to verify that BBR is enabled and active as the new TCP congestion control by using the following command on AlmaLinux 8:
sudo sysctl net.ipv4.tcp_congestion_control
**Output**
net.ipv4.tcp_congestion_control = bbr
Also, you can use the command below to verify it:
lsmod | grep bbr
**Output**
tcp_bbr 20480 1
Finally, list available TCP congestion controls on your server again:
sudo sysctl net.ipv4.tcp_available_congestion_control
You should see BBR in your list:
**Output**
net.ipv4.tcp_available_congestion_control = reno cubic bbr
That’s it. You have successfully added BBR to your server. The steps above have shown you how to enable TCP BBR on AlmaLinux 8.
Conclusion
At this point, you learn to enable TCP BBR on AlmaLinux 8. Enabling BBR improves network performance by optimizing bandwidth and reducing latency, especially on high-speed or long-distance connections.
Hope you enjoy it. Please follow us on Facebook, X, and YouTube.
You may also like these articles:
How To Install TensorFlow on AlmaLinux 8
Install ModSecurity with Apache on AlmaLinux 8
How To Install Slack on AlmaLinux 8
FAQs
Is TCP BBR safe and stable to use in production?
Yes, TCP BBR is considered stable and has been adopted in production environments by major tech companies.
Will enabling BBR affect existing connections or services?
No, enabling BBR applies to new TCP connections. Existing connections will continue using the previously assigned congestion control algorithm.
Alternative Solutions for Enabling TCP BBR on AlmaLinux 8
While the method described above is a standard way to enable TCP BBR on AlmaLinux 8, there are alternative approaches that can achieve the same result. These methods provide flexibility and cater to different system configurations or preferences. Here are two different ways to enable BBR:
1. Using tuned
profiles
tuned
is a system tuning daemon that dynamically adjusts system settings based on predefined profiles. We can create a custom tuned
profile to enable BBR, making the configuration persistent and manageable through tuned
. This is another way to enable TCP BBR on AlmaLinux 8.
Explanation:
tuned
profiles allow you to group system settings and apply them based on the detected system environment.- Creating a custom profile specifically for BBR allows you to easily enable or disable it, and it integrates seamlessly with other
tuned
profiles. - This method ensures that the BBR settings are applied at boot and are consistently managed.
Steps:
-
Create a custom tuned profile:
Create a new directory for the profile:
sudo mkdir /etc/tuned/bbr
Create a
tuned.conf
file within the new directory:sudo nano /etc/tuned/bbr/tuned.conf
Add the following content to the
tuned.conf
file:[main] include = network-throughput [sysctl] net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
Explanation:
[main]
section:include = network-throughput
inherits settings from thenetwork-throughput
profile, providing a base configuration.[sysctl]
section: Sets the required sysctl parameters to enable BBR.
-
Enable the BBR tuned profile:
sudo tuned-adm profile bbr
-
Verify the settings:
sudo sysctl net.ipv4.tcp_congestion_control sudo sysctl net.core.default_qdisc
-
Reboot the system to ensure changes persist:
sudo reboot
After rebooting, verify that BBR is enabled using the sysctl
and lsmod
commands as outlined in the original article.
2. Using systemd-tmpfiles
systemd-tmpfiles
manages temporary files and directories and can also be used to set sysctl parameters at boot. This method involves creating a configuration file that sets the BBR-related sysctl values during system startup.
Explanation:
systemd-tmpfiles
provides a way to set system settings at boot time using configuration files.- This is a lightweight method that doesn’t require an additional daemon like
tuned
. - The configuration file is processed at boot, ensuring that the BBR settings are applied.
Steps:
-
Create a configuration file:
Create a new configuration file in the
/etc/tmpfiles.d/
directory:sudo nano /etc/tmpfiles.d/bbr.conf
Add the following content to the
bbr.conf
file:w /proc/sys/net/core/default_qdisc - - - - fq w /proc/sys/net/ipv4/tcp_congestion_control - - - - bbr
Explanation:
w
specifies that the entry should write to the given path./proc/sys/net/core/default_qdisc
and/proc/sys/net/ipv4/tcp_congestion_control
are the paths to the sysctl parameters.fq
andbbr
are the values to be written.
-
Reload the
systemd-tmpfiles
configuration:sudo systemd-tmpfiles --create /etc/tmpfiles.d/bbr.conf
-
Reboot the system:
sudo reboot
After rebooting, verify that BBR is enabled using the sysctl
and lsmod
commands as outlined in the original article.
Considerations:
- Both alternative methods provide persistent solutions for enabling BBR.
- The
tuned
method is more comprehensive and integrates with other system tuning profiles. - The
systemd-tmpfiles
method is simpler and doesn’t require an additional daemon. - Choose the method that best suits your system configuration and management preferences.
These alternative solutions offer different ways to achieve the same goal of enabling TCP BBR on AlmaLinux 8. Understanding these options allows you to choose the most appropriate method for your specific needs and environment. Regardless of the method chosen, enabling BBR can significantly improve network performance on your AlmaLinux 8 server.