指定したethXが物理的にアップまたはダウンしているかどうかを確認したい。コマンドラインでどうすればいいですか?
$ ethtool <eth?>
例えば:
$ 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 pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
小切手 /sys/class/net/eth0/operstate
およびこのディレクトリ内の他のファイル。
私の知る限り、これはLinux 2.6以降に固有ですが、カーネルドライバーへのクリーンなインターフェイスを提供します。
sys
ファイルシステムのこの部分の完全なドキュメントは、次の場所にあります。
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
ethtool [interface]
最後の行はあなたが望むものを示しています:
#ethtool eth0 eth0の設定: サポートされるポート:[TP] サポートされるリンクモード:10baseT/Half 10baseT/Full 100baseT /ハーフ100baseT /フル 1000baseT /フル 自動ネゴシエーションをサポート:はい アドバタイズされたリンクモード:10baseT /ハーフ10baseT /フル 100baseT /ハーフ100baseT /フル 1000baseT /フル アドバタイズされたオートネゴシエーション:あり 速度:1000Mb/s デュプレックス:フル ポート:ツイストペア PHYAD:0 トランシーバー:内部 自動ネゴシエーション:オン ウェイクオンをサポート:g ウェイクオン:d 現在のメッセージレベル:0x00000037(55) リンクが検出されました:はい
ip link show
別です。古き良き
ifconfig dev_name
または
ifconfig -a
インターフェースがアップしているかどうかも通知します。 注:これらのメソッドはリンクの状態に関する古い情報を表示する可能性があるため、注意してください。
dmesg | grep eth
すべてのステータス変更が表示されるはずです
Mii-toolを使用して、リンクがアップしているかどうかを確認し、ネゴシエートされた速度を確認することもできます。
#mii-tool
eth0:100baseTx-FDをネゴシエートし、リンクは正常です
@ goo の回答にすばやく追加するには、ip link
またはip link show INTERFACE
を次のように解釈します。
これは、管理上は稼働しているが物理的には停止しているポートです。
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
言い換えると、表示されているUP
は、システムがNIC for networkingを使用するように設定されていることを示しています。ここでのNO-CARRIER
は、問題の原因を示しています。ネットワーキングからです。
これは、管理上ダウンしているポートです(その物理層は技術的には「アップ」です。これはVMです)。
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
最後に、このポートは正常に動作しています:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
これは管理上UP
であり、LOWER_UP
は物理層が機能している(つまり、キャリアが存在する)ことを示し、2番目のUP
は(実質的に)IP層が稼働していることを確認します。
以下のコマンドで詳細を確認できます
ethtool eth0
リンクのステータスを確認したいだけの場合は、以下のコマンドを入力してください
mii-tool eth0
netplugdは、ケーブルが差し込まれたとき、またはケーブルが取り出されたときにプログラムを実行できるサービスです。したがって、コマンドラインは、grep/var/log/messagesまたはnetmesd出力のdmesgになります。
システムが ifplugd
を使用している場合(Raspbianを使用したRaspberry Piなど)、関連するステータスツールifplugstatus
を使用して、すべてのインターフェースのリンクステータスを取得できます。
ifplugstatus
または特定のインターフェース(eth0など):
ifplugstatus eth0