0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxで「有線LANなのにネット遅い」を診断した記録:ip a / ethtool / nmcli 時系列メモ

0
Last updated at Posted at 2026-04-22

はじめに

有線LANに繋いだはずのLinuxマシンで、speedtestが130Mbpsしか出ない。

ケーブルはCat5e、ルーターも1Gbps対応、PCのNICも1Gbps対応のはず。
なのに実測値が100Mbps台で頭打ち。

この状態から原因を切り分けていった過程を、打ったコマンドとなぜそれを打ったかをセットで時系列に記録します。

先に結論だけ書くと:

  • 実はWi-Fiと有線が両方つながっていた
  • Wi-Fiを切って物理層を確認したところ、PC〜ルーター間は1Gbpsで正常だった
  • 130Mbpsのボトルネックは「家の外」(ISP・混雑・ルーター処理)側だった

前提:ネット速度は3レイヤーで決まる

ネットが遅いとき、原因は次の3つのどこかに必ずある。

[物理層]  ケーブル・NIC ←→ ルーターのリンク速度
[接続層]  OSのインターフェース設定・IP・経路(有線/Wi-Fi)
[実効層]  ISP・ルーター処理能力・外部混雑

どこが詰まっているかをレイヤーごとに潰していくのが切り分けの基本になる。


リンク速度と実効速度は別物

この記事で一番大事な概念整理。

  • リンク速度: PC〜ルーター間の最大通信速度(ethtoolで見る)
  • 実効速度: インターネット全体で実際に出るスループット(speedtestで見る)

👉 リンク速度が1Gbpsでも、実効速度は100Mbpsしか出ないことがある

本記事のケースはまさにこれで、物理層(リンク速度)は正常なのに、実効層(ISP側)で詰まっていた。


Step 1: ip a — 何がつながっているか確認

最初にやるのは状況把握。ネットワークインターフェースが今どう見えているか。

ip a

見るべき項目:

  • インターフェース名
    • en で始まる = Ethernet(有線)
    • wl で始まる = Wireless(Wi-Fi)
  • 各インターフェースに振られている inet アドレス

打った理由

「speedtestが遅い」という現象から逆算すると、そもそも何の経路で通信しているのかが分からないと話が進まない。
有線で繋いだつもりでも、OSがWi-Fi経由で通信していたら有線の問題ではなくなる。

今回の結果

enp1s0: inet 192.168.18.23/24
wlp2s0: inet 192.168.18.15/24

有線とWi-Fiの両方にIPが振られていた。


Step 2: 両挿しという罠

ip a の出力で有線とWi-Fiが両方アクティブになっていた。これが最初の落とし穴。

両方つながっていると何が起きるか:

  • OSはルーティングテーブルに従って片方を選んで通信する
  • 「有線で測っているつもりが、実際はWi-Fi経由で測っていた」ということが起こり得る
  • Wi-Fiの実効上限(今回は130Mbps程度)が、そのまま speedtest の結果になっていた可能性が高い

仮説:130Mbpsは有線の実力ではなくWi-Fiの実力だったのでは?

この仮説を検証するには、Wi-Fiを物理的に切って「有線だけの状態」を作る必要がある。


Step 3: nmcli radio wifi off — Wi-Fiを落とす

検証のためWi-Fiを無効化する。

nmcli radio wifi off

打った理由

仮説(実はWi-Fi経由で測っていた)を検証可能な状態に持ち込むため。
Wi-FiがONのままだと、いくら speedtest を打っても「どっちで測っているか」が確定できない。

補足

  • nmcli は NetworkManager の CLI
  • radio wifi off はWi-Fi無線そのものをOFFにする(インターフェースを削除するわけではない)
  • 戻すときは nmcli radio wifi on

この時点で ip a を再度打てば、wlp2s0 からIPが消えているはず。


Step 4: ethtool enp1s0 — 物理層のリンク速度を見る

Wi-Fiを切って有線のみにしたら、次は物理層が本当に1Gbpsで繋がっているかを確認する。

sudo ethtool enp1s0

打った理由

ここで 100Mb/s しか出ていなければ、原因はケーブルや NIC 側(物理層)に確定する。
逆にここが 1Gbps なら、物理層は無罪として消去できる。

ネット診断で最も事実が明確にわかるコマンド。CS的にも、PHYチップがネゴシエートした結果が直接読める。

見るべき項目

今回の出力から抜粋:

Speed: 1000Mb/s
Duplex: Full
Link detected: yes
Link partner advertised link modes:  1000baseT/Full
項目 今回の値 意味
Speed 1000Mb/s PC側が認識しているリンク速度 = 1Gbps
Duplex Full 全二重(送受信同時)で正常
Link detected yes 物理リンク確立済み
Link partner advertised link modes 1000baseT/Full を含む 相手側(ルーター)も1Gbps対応

結果

物理層は完全に正常。 PC〜ルーター間は1Gbpsでリンクしている。


Step 5: 再測定 → 回線側が原因と確定

Wi-FiをOFFにして有線単独、かつ物理層は1Gbps確認済みの状態で speedtest を再実行。

結果は変わらず 130Mbps台

ここから言えること

レイヤー 状態 根拠
物理層 正常 ethtool で 1000Mb/s / Full / Link yes
接続層 正常 有線単独経路、IPも取れている
実効層 詰まっている 上2つが正常なのに130Mbps

消去法で、ボトルネックは家の外(ISP・回線プラン・混雑・ルーターの処理能力)に確定する。

ケーブル・NIC・配線は全て無罪

この時点で次のものは全部消せる

  • Cat5eケーブル品質の問題
  • 壁内配線の問題
  • PCのNICの問題
  • Linuxの設定の問題

原因切り分けとして、ここまで到達すれば対処方針が定まる(ISPプラン見直し/時間帯での再測定/ルーター交換の検討、など)。


補足:NetworkManager が挙動不審なときは再起動

今回の診断ではここまでで原因が切り分けられたが、接続層そのものが怪しいときのために1つ覚えておくと強いコマンド。

sudo systemctl restart NetworkManager

打つ場面

  • ip a で想定したインターフェースが出てこない
  • nmcli の応答がおかしい
  • 有線/Wi-Fi の切り替えが効かない
  • 設定変更後に状態が反映されない

なぜ使うか

NetworkManager は Linux のネットワーク設定を一元管理しているデーモン。状態の食い違いや設定反映のおかしさは、このプロセスを再起動すればだいたい戻る。Windows で言う「ネットワーク接続を切って繋ぎ直す」に近い強制リセット。

再起動中は一瞬ネットが切れるので、SSH 越しのリモート作業中は注意。


まとめ:3レイヤー・チートシート

次回「ネットが遅い」となったとき、上から順に見れば切り分けが進む。

レイヤー 確認コマンド OKの目印
物理層 sudo ethtool <iface> Speed: 1000Mb/s / Duplex: Full / Link detected: yes
接続層 ip a / nmcli device status 想定したインターフェースにだけIPが振られている
実効層 speedtest / fast.com 契約プラン上限に近い値

そして一番忘れがちなポイントをもう一度:

リンク速度が1Gbpsでも、実効速度が1Gbpsとは限らない。

この2つが別物だと知っているだけで、「ネット遅い問題」に対する解像度がまったく変わる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?