
関連:
- Debian 12 - 突然、再起動するたびに USB3 LAN アダプタにランダムな MAC アドレスが割り当てられるようになりました
- UDEV 構成で親属性「serial」を使用して、MAC アドレスに頼るのではなく、LAN インターフェイスに別の名前を割り当てます。
2番目に提供された解決策の問題は、いくつかのUSB3 NICが何らかの奇妙な理由で同じものを共有していることです。ATTR{シリアル}したがって、このインターフェイスの名前を変更するための最後の手段は、USB パスです。
接続された NIC は常に USB3 ハブ上の同じ位置と場所にあるため、USB パスを使用してインターフェイスを識別し、名前を変更すると便利だと思いました。
lsusb
言う:
...
Bus 002 Device 006: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 005: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 010: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 009: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 008: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 007: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
...
残念なことに、いつものように、直感的であるべきものが期待どおりに機能しません。
私のインターフェースはすべてバス2にあり、さまざまなデヴナム5から10まで
そこで、次のようなコマンドを試してみました:
SUBSYSTEM="net", ACTION="add", DRIVERS="?*", ATTRS{busnum}="2", ATTRS{devnum}="5", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"
しかし、それは機能しません。
また、これを使用するとカーネルKERNELS="2-3:1.0" にあるとされるデバイス上のパス:
SUBSYSTEM="net", ACTION="add", DRIVERS="?*", KERNELS="2-3:1.0", ATTR{dev_id}="0x0", ATTR{type}="1", KERNEL="eth*", NAME="lan1"
しかし、何も、インターフェースの名前は変更されません...
なぜこのルールは機能しないのでしょうか?
答え1
問題が見つかりました。@AB が述べたように、基本的には、内容を読み取って比較するのではなく、値を割り当てるために使用する == の代わりに = を使用していたため、構文エラーでした。
== を演算子として使用すると、すべて正常に動作します。