web-dev-qa-db-ja.com

ネットワークのインターフェース名を割り当てるための一般的なudevルールを作成するにはどうすればよいですか?

NICカードにインターフェイス名を割り当てるための「一般的な」udevルールを作成しようとしています。

特定のアプリケーションでは、NICはいつでも変更できるヘッドレスサーバーを起動する機能が必要です。ただし、NICのメーカーとモデルはそのまま。

そのため、VednorとモデルIDに一致する任意のNICに必要な名前(後で特定の静的ネットワーク設定に一致する)を割り当てる一般的なudevルールを作成しようとして問題を攻撃しました。 udevadmの私の出力:

micromass@ComExATE:/sbin> Sudo ./udevadm info --attribute-walk --query=all --pat          h=/sys/class/net/eth4
P: /devices/pci0000:00/0000:00:1c.5/0000:05:00.0/net/eth4
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1c.5/0000:05:00.0/net/eth4
E: INTERFACE=eth4
E: IFINDEX=2
E: SUBSYSTEM=net
E: ID_VENDOR_FROM_DATABASE=Broadcom Corporation
E: ID_MODEL_FROM_DATABASE=NetXtreme BCM5761 Gigabit Ethernet PCIe
E: ID_BUS=pci
E: ID_VENDOR_ID=0x14e4
E: ID_MODEL_ID=0x1681

だから私のルールは次のようになりました:

SUBSYSTEM=="net", ACTION=="add", ATTR{IDVENDOR_ID}=="0x14e4", ATTR{ID_MODEL_ID}=="0x1681", NAME="my-device"

しかし運がない。だから私はもう少し簡単なことを試し、MACアドレスの最初の3セット(ベンダーに割り当てられている)と一致させることにしました

SUBSYSTEM=="net", ACTION=="add", ADDRESS=="00:30:64??:??:??", NAME="my-device"

まだ運がない。名前を変更する代わりにシンボリックリンクを追加するようにこれらのルールを変更することはできません。

ここからどこに行くべきかわからないので、どんな助けも素晴らしいでしょう。

1
Chris Matheson

属性名のスペルを間違えました:ID_VENDOR_IDです。 IDVENDOR_IDではありません

1
Zuluking

Udevデバッグを実行してsyslogを確認し、ルールに一致するかどうかを確認します。どのopenSUSEバージョンを使用していますか?ところで、追加できるかわかりませんか? MACアドレスフィールド。最初に、udevがセットアップでインターフェースの名前を変更できるかどうかを確認します( これは設定例です )。

0
Cougar