Linux Tips

ネットワークインターフェイスの状況を調べるには

北浦訓行
2004/7/1

 ネットワークに接続できなかったり、接続はできるが妙に通信に時間がかかることがある。そのようなときは、ethtoolコマンドでネットワークインターフェイスの状況を調べてみる。正常に動作していれば、以下のように表示される。

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes

 イーサネットケーブルが抜けている場合は、「Link detected : no」と表示される。

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: Unknown! (65535)
        Duplex: Unknown! (255)
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: no

 また、1000BASEのNICを使用しているのにスピードが「100Mb/s」だったり、デュプレックスが「half」になっている場合はハブとの相性やケーブルの不具合などが考えられる。ethtoolコマンドを実行して、[Speed]や[Duplex]の値がおかしいときは、以下のように強制的に修正して、状況が改善されるかどうかを確認する。

# ethtool -s eth0 speed 100 ←速度を100Mb/sに設定
# ethtool -s eth0 duplex full ←デュプレックスをfullに設定

 Fedora Core 2をフルインストールすれば、ethtoolもインストールされる。Turbolinux 10 DesktopやVine Linux 2.6は、ethtoolを別途ダウンロードして、インストール(またはコンパイル)する必要がある。

 ethtoolは(http://sourceforge.net/projects/gkernel/)からダウンロードできる。また、rpmfind.net(http://www.rpmfind.net/)で、RPMファイルをダウンロード可能だ。Turbolinux 10 DesktopおよびVine Linux 2.6には、ethtool-1.8-1.i686.rpmをインストールすることができた。

# rpm -ihv ethtool-1.8-1.i686.rpm

 ちなみに、同様のツールとしてmii-toolもよく使われる。しかし、mii-toolは(少なくとも原稿執筆時点では)1000BASEのNICに対応していないので注意が必要だ。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間