初期設定
Linux管理者として、6つのNIC eth0〜eth5を備えた新しいLinuxボックスをインストールしました。eth0インターフェースは正しく構成されており、他のすべてのインターフェースは現在稼働していますが、IPアドレスはありません。ネットワーク担当者は、このボックスに4本のケーブルを接続するだけです。2本のLANケーブルを使用してボックスを実稼働ネットワークに接続し、2本を使用してボックスをプライベートネットワークに接続します。eth0が実稼働ネットに接続されていることだけを知っています。ただし、サーバーの世代が異なるため、および/またはネットワーク担当者が接続に間違ったNICを使用するため、同じスイッチに接続されている他のNICがわかりません。
手元のタスク
このセットアップはインフラストラクチャにとって一般的なものであるため、ボンディングインターフェイスの構成を自動化する必要があります。これで、どのNICがまったく接続されていないか、どのNICが同じスイッチにリンクされているかを検出して、結合できるようになりました。Linuxボックスにのみアクセスでき、スイッチを照会できません。
アイデア
リンクステータスの検出は簡単です。
ethtool $device | grep 'Link detected' | cut -d ':' -f 2
しかし、同じスイッチに接続されているデバイスをどのように一致させるのでしょうか?
HP-UXには、その目的のためにlinkloop [1] と呼ばれるツールがあります。公式のLinuxツールがありません(古いSourceForceプロジェクトがあります)。
すでに私の頭に浮かんだ解決策は次のとおりです。
tcpdumpですべてのインターフェイスをリッスンします。ICMP(ブロードキャスト)パケットを作成して送信します。そのパケットを見るインターフェースは同じスイッチに接続する必要があります。->そのために使用できるシンプルなツールの提案が必要です。スクリプトにはプレーンシェルコマンドまたはPythonを使用したいと思います。
簡単なプロトコル(HTTP?)を介して外部のボックスと通信して、応答があるかどうかを確認してください。->エラーが発生しやすく、外部ボックスに依存しています。
このタスクを解決する方法について、さらにアイデアや提案がありますか?
すべてのコメントを事前にありがとうございます!