ethtoolコマンドは、イーサネットアダプタの設定を表示/変更するために使用されます。 Linuxでこのツールを使用して、ネットワークカードの速度、オートネゴシエーション、Wake on LAN設定、デュプレックスモードを変更できます。この記事では、イーサネットカードの問題のトラブルシューティングに役立つethtoolコマンドの例をいくつか紹介します。
1)イーサネットインターフェースの詳細を表示する
ethtoolコマンドは、イーサネットインターフェイスのステータスを取得します。出力には、ethoインターフェイスの速度、デュプレックス、ステータス、ウェイクオンなどのプロパティが表示されます。
以下に例を示します:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
デュプレックスには次の3つのタイプがあります。
全二重 :イーサネットがスイッチに接続されている場合に使用されます。双方向の転送、つまり、パケットの同時送信と受信を可能にします。
ハーフデュプレックス :イーサネットがハブに接続されている場合に使用されます。一方向の転送、つまりパケットの送信または受信のみを許可します。
オートネゴシエーション :ネットワーク接続に基づいて、イーサネットインターフェイスは全二重または半二重のどちらを使用するかを決定します。
2)ETHTOOL_OPTS変数
Ethtoolコマンドの設定は、Ethtool_opt変数を使用して永続的に設定できます。以下の例を見てみましょう:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
ETHTOOL_OPTS="speed 50 duplex full autoneg off"
上記の設定は、ifupコマンドとifdownコマンドでテストできます。
3)統計の表示
イーサネットドライバの設定と自動ネゴシエーションは、次のコマンドで確認できます。
# ethtool -i eth0
driver: bnx2
version: 2.0.1-suse
firmware-version: 1.9.3
bus-info: 0000:04:00.0
[root@localhost ~]# ethtool –a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
Ethtoolコマンドの「–pオプション」は、複数のデバイスから特定のデバイスを識別するのに役立ちます。
# ethtool –p eth0
ネットワークカードの統計情報があると、ネットワークの問題のトラブルシューティングに非常に役立ちます。
# ethtool –S eth0
NIC statistics:
tx_packets: 148683
rx_packets: 179489
tx_errors: 0
rx_errors: 0
rx_missed: 0
align_errors: 0
tx_single_collisions: 0
tx_multi_collisions: 0
unicast: 116884
broadcast: 25361
multicast: 61674
tx_aborted: 0
tx_underrun: 0
上記の出力は、転送および受信されたパケットに関する詳細を示しています。
4)フロー制御を有効にする
全二重のフロー制御は、最新のMACおよびGMAC組み込みデバイスの「PAUSE」パラメータによって有効にできます。
解決策は次のとおりです。
# ethtool -A eth0 [autoneg on|off] [rx on|off] [tx on|off]
オフロードパラメータの詳細は、次のように取得できます。
# ethtool –k eth0
ただし、イーサネットパラメータ設定に加えられた変更は、次回の起動時に消えます。次回の起動時にそれらをそのまま維持するには、/ etc / rc.local
にコマンドを追加して、これらの変更を永続的にする必要があります。# cat /etc/rc.local
ethtool -s eth0 speed 100 duplex full autoneg on 1>/dev/null 2>/dev/null
ethtool -s eth1 speed 100 duplex full autoneg on 1>/dev/null 2>/dev/null
5)デュプレックスモードを設定
以下の例は、ethtoolコマンドを使用して速度またはデュプレックスモードを設定する方法を示しています。
# ethtool -s eth0 speed 100 duplex full
# ethtool -s eth0 speed 10 duplex half
関連項目:
- LinuxMii-Toolを使用してネットワークインターフェイスの詳細を検索する方法