Linux / コマンド / ethtool - ネットワークリンク・ドライバー情報の確認

ethtoolは、イーサネットインターフェースのリンク速度、自動ネゴシエーション、ドライバーおよび統計情報を照会または設定します。物理的な接続が不安定な場合にリンク状態を確認するのに便利です。

Speedはリンク速度、Duplexは送受信方式、Link detectedはリンク検出の状態です。自動ネゴシエーションは通信相手と速度などを調整する仕組みですが、表示値には手動設定の結果が反映される場合もあります。取得できる項目はNIC(Network Interface Card:ネットワーク接続用の装置)、ドライバー、仮想化環境で異なります。

基本的な文法

ethtool [オプション] インターフェース

インストールされている実装とオプションは、配布版によって異なる場合があります。man ethtoolで現在のシステムの説明を確認してください。

使用例

リンク状態の確認

ip link showによるインターフェース名の確認で、実際の名前を調べてください。この記事のenp1s0とeth0は例なので、同じ対象を調べる場合はどちらもその実際の名前に置き換えます。

ethtool enp1s0

ドライバー情報

ドライバー名とファームウェアバージョンを確認します。

ethtool -i enp1s0

インターフェース統計

ドライバーが提供するエラーやドロップなどの統計を確認します。項目名や値の意味、リセット条件はドライバーごとに異なります。同じ項目を時間を置いて比較し、現在も増えているかを調べると判断に役立ちます。

ethtool -S enp1s0

リンク速度と接続状態を区別する

ethtoolはネットワークインターフェースのリンク速度、双方向通信方式、ドライバーがサポートする機能などを参照します。インターフェース名はip linkで確認してください。

sudo ethtool eth0

例の出力の一部(仮想デバイスでは値が異なるか、空である場合があります):

Speed: 1000Mb/s
Duplex: Full
Link detected: yes

Link detected: yesは、ドライバーが物理・仮想リンクを検出している状態です。例の1000Mb/sは1000メガビット毎秒というリンク速度を表し、ファイル転送の実測速度ではありません。Fullは同時に送受信できる方式を示します。IPアドレス、ルート、DNSや相手サービスの正常性は別に確認します。ethtool -i eth0でドライバーも確認できます。

主なオプションと形式

オプション・形式 説明
-i ドライバーとファームウェア情報を表示します。
-S NIC・ドライバーの統計を表示します。
-k 通信処理の一部をNIC側へ任せるオフロードなどの機能状態を表示します。
-a フロー制御設定を表示します。
-s 速度・送受信方式などの設定を変更します。統計を表示する大文字の-Sとは別です。

使用する際の注意点

リモートサーバー上でethtool -sを使って速度や自動ネゴシエーションを変更すると、接続が切断される可能性があります。現在の値は照会コマンドで記録し、スイッチポート設定と照合した後に変更してください。仮想インターフェイスでは、一部の物理リンク値が提供されなかったり、意味が異なる場合があります。

よくある質問

Link detected: yesはネットワークが正常であることを意味しますか?

ドライバーがリンクを検出している状態を示します。仮想インターフェースでは物理ケーブルの接続を示すとは限りません。IPアドレス、ルーティング、DNSやサービスの応答は別途確認する必要があります。

公式ドキュメント

オプションの正確な動作と実装ごとの差異は、ethtool関連の公式ドキュメントで確認できます。