2011年9月13日火曜日

mii-tool と ethtool

Linuxでネットワークインターフェースの状況を確認するときに使えるコマンド。

mii-tool

$ man mii-tool
NAME
        mii-tool - view, manipulate media-independent interface status
(略)

指定したインターフェース(et0, eth1 など)の状況を表示する。-wオプションを使うとlink status の変化を検出してくれる。たとえば、VMWareなどのゲストOS上で実験すると面白い。

仮想スイッチに接続したゲストOSで mii-tool -w を実行してみる

VMWare Fusion on Mac OS 10.6.8 にインストールしたゲストOS(CentOS-6.0)で eth1に対して mii-tool -wを実行。

仮想ネットワークの設定を開く。

「接続」のチェックボックスをオフにする。これで、仮想的にネットワークケーブルを抜いた状態になる。

すると、mii-tool の出力が変化してno linkになる。

「接続」のチェックボックスをオンに戻すと、もとに戻る。

このように mii-tool は楽しいのだが、obsoleteであるからなるべく使わないほうがよいらしい(その代わりにethtoolを使う)。

ethtool

$ man ethtool
NAME
        ethtool - Display or change ethernet card settings
(略)

ethtool は mii-tool に比べると多機能でオプションが多いので、とりあえずNICの状態を調べる。

# ethtool eth1
Settings for eth1:
 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 pause frame use: No
 Advertised auto-negotiation: Yes
 Speed: 1000Mb/s
 Duplex: Full
 Port: Twisted Pair
 PHYAD: 0
 Transceiver: internal
 Auto-negotiation: on
 MDI-X: Unknown
 Supports Wake-on: d
 Wake-on: d
 Current message level: 0x00000007 (7)
 Link detected: yes

上述の mii-tool -w のようにケーブルの状態をチェックするなら、たとえば watchと組み合わせて

# watch -n 1 "ethtool eth1|grep 'Link detected'"

とすれば間に合う(下の画像のように表示される)。

0 件のコメント:

コメントを投稿