ESC

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

Search... Ctrl+K
ネットワーク・IP

LinuxでBBRを有効化する方法:TCP BBR輻輳制御を手動で設定

5 ステップ 5 分で読めます 55649 回閲覧 96
目次

BBRはGoogleが開発したTCP輻輳制御アルゴリズムで、海外向けや長距離、わずかなパケットロスがある回線で速度と安定性を大きく改善できます。本記事ではLinuxでBBRを有効化する方法を、Debian、Ubuntu、CentOS Stream、Rocky Linux、AlmaLinuxが動作するKVM VPS・専用サーバー向けに解説します。出所不明の「ワンクリックスクリプト」は推奨せず、透明な手動手順のみを紹介します。

ネット上の一部ワンクリックスクリプトはカーネルを置き換えたり、大量のシステム設定を変更したり、不明なプログラムを導入したりします。起動不能やセキュリティリスクの原因になるため、2行の設定で済むBBRは手動で有効化しましょう。

ステップ1:カーネルがBBRに対応しているか確認

BBRにはLinuxカーネル4.9以上が必要です。カーネルとOSのバージョンを確認します。

uname -r
cat /etc/os-release

Debian 10以降、Ubuntu 18.04以降、Rocky/AlmaLinux 8以降の標準カーネルはBBRに対応済みです。CentOS 7(カーネル3.10)はサポート終了のため、無理にカーネルを更新するよりクライアントエリアから新しいOSへ再インストールすることをおすすめします。

ステップ2:利用可能な輻輳制御アルゴリズムを確認

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

一覧にbbrがない場合はモジュールを手動で読み込みます。

modprobe tcp_bbr
sysctl net.ipv4.tcp_available_congestion_control

ステップ3:sysctlでBBRを有効化(永続設定)

/etc/sysctl.d/ に専用ファイルを作成すると管理や元に戻す作業が簡単です。default_qdiscをfq、輻輳制御を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

再起動後も設定は維持されます。コマンドはDebian/UbuntuとCentOS/Rocky/AlmaLinuxで共通です。

ステップ4:BBRが有効になったか確認

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

1行目がbbr、2行目がfqと表示されれば成功です。lsmodにtcp_bbrが出ればモジュールが読み込まれています。BBRがカーネルに組み込まれている場合はlsmodに表示されませんが、sysctlでbbrと出ていれば問題ありません。

ステップ5:効果の測定と元に戻す方法

有効化の前後で同じ大容量ファイルをダウンロードしたり、iperf3で比較したりできます。標準の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が主に最適化するのはサーバーから送信するTCP通信(Webのダウンロード、動画配信など)です。サーバーへのアップロードやUDP通信への効果は限定的です。

よくある質問

OpenVZやLXCコンテナでBBRを有効にできますか?

コンテナはホストとカーネルを共有するため、モジュールの読み込みや輻輳制御の変更はできません。KVM VPSや専用サーバーなら設定可能です。

BBRを有効にしても速度が変わりません。

BBRは高遅延でわずかにロスがある経路で最も効果を発揮します。ボトルネックが自宅回線やクライアント、帯域上限にある場合は改善が小さくなります。mtrでロスを確認してください。

BBR Plusなどの改造版は必要ですか?

非公式版はカスタムカーネルが必要で安定性の保証がありません。本番環境ではディストリビューション標準のBBRを使いましょう。

解決しない場合はチケットを送信して、IMIDCの24時間365日テクニカルサポートへご連絡ください。uname -r と sysctl の出力を添えてください。

この回答はお役に立ちましたか?

関連チュートリアル