カーネルのネットワークインタフェース名の変更を取り消すには? [コピー]

カーネルのネットワークインタフェース名の変更を取り消すには? [コピー]

私はLinux 6.4.0カーネルを直接コンパイルし、busyboxを使ってルートファイルシステムを作成しました。私は自分のLinuxシステムをカスタマイズし、以下を使用して4つのネットワークポートを含む組み込みボードにインストールしました。斧 88772チップ。

今問題が発生しました。アドレスが変更されるenx000ec6942ec5と、システムが認識するネットワークポート名も変更されます。MACただし、ネットワークポート名をeth。イーサネットポート1をeth0、イーサネットポート2をeth1、イーサネットポート3をeth2、イーサネットポート4をに固定することもできますeth3。カーネルの rename 属性を取り消すことは可能であるとインターネットで見ましたが、次の2つの方法を試しましたが、問題は解決しませんでした

ところで、私のカスタムシステムはMカーネルソースコードを変更せずにLinuxでのみ変更されました。YmenuconfigN

  1. Closedgrub.cfgですが効果はありません。

    set default=0
    set timeout=4
    
    set root=(hd0,gpt3)
    
    menuentry "GNU/Linux, Dobot-6.4.0-rt" {
      linux /bzImage rw root=/dev/mmcblk0p3 noprompt
    
      initrd /initrd.img-6.4.0-rt8
      GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
    }
    
  2. だから、MACを固定する必要がありますが、複数の機器で使用する必要がありますが、MACは固定されていません。

別の方法がありますか?

答え1

biosdevnameDellの従来のネットワークインターフェイス名変更スクリプトを使用しない場合、このパラメータを使用しても役に立ちません。 (あなたはおそらくそうではないでしょう。)

net.ifnamesudev/systemd ディレクティブを使用して名前の変更を停止できます。

しかし、私は非常にここで自分に害を及ぼしていることを心配してください。 「固定されたらいいです」ethXと言いましethXeth0。それは正確にあなたの状況必要いわゆる「予測可能なインタフェース名」:これらのX名前はethX次のように指定されます。検出順序。これは完全にランダムであり、しばしばそうです。したがって、eth0このブーツはeth1次のブーツになることがあります。だから名前が変わりました!

したがって、あなたは名前変更を無効にしたくない(!)、信頼できないethX名前は信頼できないためです。代わりに、net.ifname-policy=onboard,path,slotMACに関係なく同じ名前を維持できます。古代ethXの慣習をまったく使用しないでください! (それ本物コンピュータには複数のネットワークカードがさまざまな方法で接続されている可能性があるため、最初はこれは良い考えではありません。このアプローチは、通常、コンピュータにマルチインターフェイスまたはカード接続用のマルチバスまたはPCI Expressがなかった時代です。基本的に、1996年にUSBが登場し、このアプローチはPCではもはや使用されなくなりました。 20年前、PCI ExpressがPC市場に参入するにつれて、ethXソリューションが実質的な問題になり、Linuxを正しく設定することが困難になりました。したがって、「我々」は、ランダムな検出順序ではなく固定機能に基づく名前変更を使用してこの問題を解決しました。何らかの理由でチュートリアルやガイドがいじめられているため、基本的なソフトウェアに関する一般的な誤解です。 )

関連情報