ある日、Ubuntuサーバでネットワーク速度を測定したところ、ダウンロードが0.6 Mbit/s前後と異常に遅い状態を確認しました。調査の結果、IPv6経路にボトルネックがあり、IPv6を無効化することで200 Mbit/s以上に改善できたため、その手順をまとめます。
調査手順
- 初期速度測定
speedtest
(Ookla公式CLI)で実効下り/上り速度を把握
- 経路確認 (MTR)
- IPv6とIPv4ルートでのパケットロス・遅延を比較
- Python版 Speedtest CLI
- JSON出力でビットレートを定量的に取得
- DNS設定見直し
- 名前解決障害がないかチェック
- IPv6無効化テスト
- IPv6経路の影響を切り分け
1. 初期速度測定 (Speedtest CLI)
$ speedtest
Retrieving speedtest.net configuration...
Testing from example-net (xx.xx.xx.xx)...
Hosted by xTom (Osaka) [482.56 km]: 21.071 ms
Testing download speed........................................
Download: 0.60 Mbit/s
Testing upload speed..........................................
Upload: 9.98 Mbit/s
結果: 下り0.60 Mbit/s、上り9.98 Mbit/s
→ ダウンロードだけ極端に遅い
2. 経路確認 (MTR)
IPv6経路
$ mtr --report google.com
Loss% Snt Last Avg Best Wrst StDev
1.|-- 240d:1e:... 0.0% 10 2.7 9.6 2.2 67.3 20.3
2.|-- ??? 100.0% 10 0.0 0.0 0.0 0.0 0.0
…
9.|-- 2001:4860:0:1::1653 90.0% 10 414.9 414.9 414.9 414.9 0.0
10.|-- kix07s03-in-x0e.1e100.net 10.0% 10 13.2 48.6 12.5 330.1 105.6
中間ノードのICMPロス多数、最終ホップでも約10%パケットロス
IPv4経路
$ mtr -4 --report google.com
Loss% Snt Last Avg Best Wrst StDev
1.|-- _gateway 0.0% 10 3.3 3.5 1.7 15.1 4.1
…
10.|-- kix07s03-in-f14.1e100.net 0.0% 10 12.4 13.1 12.3 14.1 0.5
IPv4経路はパケットロスなし、遅延も安定
3. Python版 Speedtest CLI (JSON)
$ curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py \
| python3 - --json
{
"download": 453433.86787653127, # bps
"upload": 2836708.055666347,
"ping": 24.861
}
結果: 下り 0.45 Mbit/s、上り 2.8 Mbit/s
→ 数値でも同様の異常値
4. DNS設定見直し
# 一時的にGoogle/Cloudflare DNSを指定
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
echo -e "nameserver 8.8.8.8\nnameserver 1.1.1.1" | sudo tee /etc/resolv.conf
ping -c4 google.com # 成功
dig google.com +short # 成功
DNS障害なし
5. IPv6無効化テスト
# IPv6を即時無効化
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
# 再度Python版Speedtest
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py \
| python3 - --json
{
"download": 200752466.40910456,
"upload": 56384049.026036695,
"ping": 36.471
}
結果: 下り 200 Mbit/s、上り 56 Mbit/s
→ IPv6経路を無効化したことで速度が劇的改善
調査結果まとめ
- IPv6経路: 下り 約0.45 Mbit/s、パケットロス・遅延多数
- IPv4経路: 下り 約200 Mbit/s、安定
原因はIPv6経路の品質劣化によるものと特定
解決策
- IPv6の恒久的無効化
/etc/sysctl.conf
に追記して再起動/sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6= 1 net.ipv6.conf.lo.disable_ipv6 = 1
- ルーター・ISP対応依頼
- ルーターのファーム更新・再起動
- So-netへIPv6回線品質低下の報告
- DNS設定の復元
sudo cp /etc/resolv.conf.bak /etc/resolv.conf
まとめ
IPv6経路にボトルネックが存在し、ダウンロード速度が大幅に低下していました。IPv6を一時的に無効化することで速度が200 Mbit/s以上に回復。恒久的にはISP側およびルーター側の修正を進め、再度IPv6を有効化して安定動作を確認するのがおすすめです。
コメント