Debian 12 – 突然、再起動のたびに USB3 LAN アダプターにランダムな MAC アドレスが割り当てられるようになりました

Debian 12 – 突然、再起動のたびに USB3 LAN アダプターにランダムな MAC アドレスが割り当てられるようになりました

私は、この USB3 LAN アダプターをそれぞれ接続したさまざまな小型 NUC を持っています (NUC にはイーサネットが 1 つしかないため、USB3 アダプター付きのものを追加で追加しました)。

商品の画像を見ることができますここ

突然、おそらく無人自動アップグレードが原因で、これらのデバイスはランダムな MAC アドレスを取得し始めました。

前に:

各 USB3 接続デバイスのアドレスは次の形式になります。

00:0E:C6:XX:XX:XX

それぞれが異なっており、常に同じ(安定)であり、再起動しても存続します。

現在、次のようなアドレスがあります:

eth1 - be:7d:ee:6a:26:ab  
eth2 - be:7d:ee:6a:26:ab  
eth3 - be:7d:ee:6a:26:ab  
eth4 - be:7d:ee:6a:26:ab  
eth5 - be:7d:ee:6a:26:ab  

すべてランダムに選択された同じアドレスを共有します。

一言で言えば、トラブル:

  • マシンが再起動するたびに、このランダムな MAC アドレスは変更されます。
  • それらはすべて同じランダム MAC アドレスを共有します。以前は、それぞれが明確に異なる MAC アドレスを持っていました。

デバイスはlsusb次のように識別されます。

   ASIX Electronics Corp. AX88179 ギガビット イーサネット

最新の自動更新以降に何が起こったのか全く分かりません。最新の 2 日、1 時間前まではすべて正常に動作していましたが、その後、すべてのデバイスでこの奇妙な動作が発生し始めました。

問題のあるアップデートでしょうか? 毎回 MAC アドレスをランダム化する新しいドライバーがリリースされたのでしょうか? Linux カーネル、ディストリビューション、または GRUB 設定の機能により、USB LAN デバイスが毎回ランダムな MAC アドレスを取得するようになったのでしょうか? しかし、この場合、なぜすべてが同じものを共有するのでしょうか? 完全にランダムであるはずです...

私は助けを求めており、テストを受けるつもりです...

OSについて:

Debian バージョン:12.5

Linux 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux

これまでに提案された回避策には、@AB のおかげで常に機能する最終的なものも含まれています。

答え1

これ6.8 カーネルコミット、6.1.x にバックポートされました:

net: usb: ax88179_178a: 2回連続したデバイスリセットを回避する

AX88179 ベースの NIC での二重リセットを回避することを目的としたこの方法は、副作用として NIC のランダムな MAC アドレスを取得することがありました。

将来の6.9カーネルでは修正が予定されています。カーネル6.1.85以降にすでにバックポート済みこれは以前の問題を認めている(そして想定これを修正するには)。確認の部分は次のとおりです。

net: usb: ax88179_178a: インターフェースが常にランダムアドレスとして構成されるのを避ける

コミット d2689b6a86b9 ("net: usb: ax88179_178a: 2 回の連続したデバイス リセットを回避する") の後、バインド操作からリセットは実行されず、その時点ではデバイス レジスタまたはデバイスツリーから MAC アドレスは読み取られません。インターフェイスに割り当てられた MAC アドレスがランダムかどうかを構成するためのチェックは、usbnet_probe からのバインド操作後に行われるため、アドレスはオープン操作中に正しく読み取られ、設定されますが (現在唯一のリセット)、インターフェイスはランダム アドレスとして構成されたままになります。

問題は、Debianのカーネル6.1.0-20-amd64がすでに修正を含むアップストリームカーネル6.1.85を使用していることです。OPのコメントによると、これは正しく動作していないようです。カーネル 6.1.0-20-amd64 を使用します。

確実に機能するのは、以前の状態、つまり 2024-02-05 にパッチが 6.1.x にバックポートされる前の状態に戻すことです。現在のところ、これは 2 つのパッチを元に戻すことを意味するようです。

以前と同じように動作することが保証されます (そして、当時は問題ではなかったダブルリセット動作が元に戻ります)。

過去数週間で、元に戻すことがnet: usb: ax88179_178a: 2回連続したデバイスリセットを回避する動作はしましたが、新しい状態 (例: カーネル 6.1.85 または Debian 6.1.0-20-amd64) での動作は確認していません。OP の Q/A によると、最初のパッチ後に発生した動作を修正するための 2 番目のパッチでは不十分で、さらに別の修正を提供する必要がある可能性があります。


要約すると、今日考えられる選択肢は次のようになります。

関連情報