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'"
とすれば間に合う(下の画像のように表示される)。