インターフェイスを起動せずにネットワークケーブルが接続されているかどうかを確認する


9

20台までのリモートサーバー上のNIC(すべてのサーバーで2〜6枚のNIC)を識別しようとしています。まず、すぐに使えるものと無料のものを特定したいと思います。物理メディアの状態を確認するにはどうすればよいですか?私はを含むいくつかの方法を、知っているifconfig|grep RUNNINGethtoolcat /sys/class/net/eth0/carrier、しかし、すべての彼らは、インターフェイスがアップしていることが必要です。すべてのインターフェースをアップしたくありません。理由は不明ですが、ネットワーク内で有効化されたインターフェイスを構成したくないので、インターフェイスを構成しません。これを回避する方法はありますか?

それとも私は間違っていますか?すべてのインターフェイスが起動している(そして構成されていない)ことに何の問題もありませんか?接続されていても?

回答:


5

ip link show、デフォルトではすべてのインターフェースip link show upを表示し、実行中のインターフェースのみを表示するために使用します。フィルターを使用して違いを取得できます。


あは。紛失したケーブルはNO-CARRIERとして表示されますよね?
minaev 2011

ビンゴ。ありがとう。とip addr showにも出力にIPアドレスを追加します。
minaev 2011

2
これは私のマシンでは機能しません(Debian squeeze、skgeドライバー):ip link show「DOWN」以外の何も表示されません。ip同じ情報を報告ifconfigし、/sys/class/net/それが、どのような場合にはしないのですか?リンクステータス情報は、マシンの状況やマシンの状況ipとは異なりますか?または、ダウンしているインターフェイスに関するリンクステータスを取得しますか(私はを取得します)?/sys/class/netifconfig/sys/class/net/sys/class/net/eth0/carrier: Invalid argument
Gilles「SO-邪悪なことをやめなさい」

インターフェイスがダウンしている場合は機能しません。
Vladimir Kunschikov

@Nikhil Mulleyフィルターってどういう意味?
Joe

2

接続の状態に基づいてデフォルトルートをリアルタイムで更新するスクリプトを次に示します。(バックグラウンドで実行)複数のインターフェースで動作し/tmp/${iface}.metricます。ファイルで優先順位を定義します。「最良の」接続インターフェースを使用して、デフォルトのトラフィックをルーティングします。

#!/bin/sh

/sbin/ip monitor link | while read -r line
do
    iface=$(echo $line | sed -ne 's/[^ ]* \([^ ]*\): .* state \([^ ]*\).*/\1/p')
    state=$(echo $line | sed -ne 's/[^ ]* \([^ ]*\): .* state \([^ ]*\).*/\2/p')
    if [ "$iface" != "" ] ; then
        echo "$iface is $state"
        if [ -f /tmp/${iface}.metric ] ; then
                echo "updating default route for ${iface}"
                if [ "$state" = "DOWN" ] ; then
                        ip route del default dev "${iface}"
                else
                        ip route add default dev "${iface}" metric `cat /tmp/${iface}.metric`
                fi
        fi
    fi
done

0

ip link showは、ケーブルが接続されていることを示すフラグ「LOWER_UP」を表示します。/ sys / class / net / eth * / operstateまたはCarrierを確認することもできます。ただし、これらはすべて、IPアドレスがバインドされているインターフェースに対してのみ機能します。


1
興味深い情報ですが、元の投稿には実際には回答しません。
X Tian

プラグインethを使用していなくても、「up」と表示されます。
kangear 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.