複数のイーサネットポートを持つDebianシステムがあります。
/etc/network/interfaces
現在ブート時にネットワークを更新して再起動し、ポートの1つに静的IPを割り当てるスクリプトを実行しています。
(DHCP対応ルーターが利用可能な場合もありますが、これは想定できません。)
現在のスクリプトは、IPが割り当てられているデバイス名でハードコーディングする必要が/sys/class/net/e*
あります。 (特に既に存在すると仮定できないためeth0
) 再起動時には情報を保存できません。ファイルシステムは読み取り専用です。
実際にどのインターフェイスにケーブルが接続されているかをより自動的に検出する方法はありますか?目的は、起動前にケーブルをすべてのポートに接続できるようにすることで、スクリプトがこれを解決します。
上記のパスに行き、オペレータの状態を読み取ろうとしましたが、/sys
起動時に常にオペレータがいないようです。
複雑さが追加されました。結局、2つ以上のケーブルを接続することができます。私が本当に望むのは、固定アドレスを使用して互換性のあるサブネット上のPCへのリンクを持つインターフェイスを自動的に検出する方法です。 (複数のケーブルを接続してもそのうちの1つだけが接続されます。)
「もう一方の端」が開くまで起動を一時停止しなければ検出できませんが、起動後にケーブルが動くことを心配する必要はありません。
(実際には1つしか接続できないと仮定し、すべてのインターフェイスに同じ静的IPを割り当てようとしましたが、これは状況が悪化しているようですifup
)。