ifconfigコマンド入門
ネットワーク設定を確認・変更する
ethtoolはLinuxでイーサネットデバイスのハードウェア設定を表示・変更するツールです。リンク速度、オフロード機能、NICの統計情報など、低レベルなネットワーク情報にアクセスできます。
こんな人向けの記事です
- NICのリンク速度や状態を確認したい人
- ネットワークパフォーマンスの最適化を行いたい人
- オフロード機能やWake-on-LANの設定を変更したい人
Step 1ethtoolとは・インストール
ethtoolはLinuxでネットワークインターフェースカード(NIC)のハードウェアパラメータを表示・変更するコマンドラインツールです。ifconfigやipコマンドでは取得できない低レベルの情報にアクセスできます。
ターミナル
# Debian/Ubuntu系
sudo apt-get install ethtool
# RHEL/CentOS/Fedora系
sudo yum install ethtool
# Arch Linux
sudo pacman -S ethtool
ポイント: ethtoolはLinux専用ツールです。WindowsではDevice ManagerやPowerShell、macOSではnetworksetupやsystem_profilerが一部の機能を提供しています。
Step 2基本的な使い方
インターフェースの基本情報:
ターミナル
sudo ethtool eth0
結果の例:
ターミナル
Settings for eth0:
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 1000baseT/Full
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Link detected: yes
| 項目 | 意味 |
|---|---|
| Speed | 現在のリンク速度(10/100/1000Mb/s) |
| Duplex | 通信モード(Full: 全二重 / Half: 半二重) |
| Auto-negotiation | 速度の自動ネゴシエーション有無 |
| Link detected | 物理的なリンクが検出されているか |
Step 3リンク速度とデュプレックスの設定
ターミナル
# 速度とデュプレックスを手動設定
sudo ethtool -s eth0 speed 100 duplex full autoneg off
# 自動ネゴシエーションに戻す
sudo ethtool -s eth0 autoneg on
注意: リンク速度の手動設定は、接続先スイッチの設定と一致させる必要があります。不一致があると接続できなくなる可能性があります。
Step 4オフロード機能の確認と設定
ターミナル
# オフロード設定の確認
sudo ethtool -k eth0
# TCPセグメンテーションオフロードの無効化
sudo ethtool -K eth0 tso off
# チェックサムオフロードの無効化
sudo ethtool -K eth0 rx off tx off
| オフロード機能 | 説明 |
|---|---|
| TSO (TCP Segmentation Offload) | TCPセグメント分割をNICにオフロード |
| GSO (Generic Segmentation Offload) | 汎用セグメンテーションオフロード |
| GRO (Generic Receive Offload) | 受信パケットの集約をNICで処理 |
| rx/tx checksumming | チェックサム計算をNICで処理 |
Step 5統計情報とドライバー情報
ターミナル
# NICの統計情報
sudo ethtool -S eth0
# ドライバー情報
sudo ethtool -i eth0
# リングバッファサイズの確認
sudo ethtool -g eth0
# Wake-on-LAN設定の確認
sudo ethtool eth0 | grep Wake-on
Wake-on-LANの設定:
ターミナル
# Wake-on-LANを有効化(マジックパケットで起動)
sudo ethtool -s eth0 wol g
# Wake-on-LANを無効化
sudo ethtool -s eth0 wol d
Step 6トラブルシューティング
| 問題 | 確認コマンド | 対処法 |
|---|---|---|
| リンクが検出されない | sudo ethtool eth0 でLink detected確認 | ケーブル確認、スイッチポート確認 |
| 速度が遅い | sudo ethtool eth0 でSpeed確認 | 自動ネゴシエーション再実行、ケーブル品質確認 |
| パケットエラーが多い | sudo ethtool -S eth0 | エラーカウンタ確認、ケーブルやNIC交換 |
| パフォーマンスが悪い | sudo ethtool -k eth0 | オフロード機能の有効化/無効化を試す |
ポイント: ethtoolでの設定変更は再起動すると元に戻ります。永続化するには /etc/network/interfaces や udev ルール、systemd のネットワーク設定ファイルに記述してください。