私はLinux 6.4.0カーネルを直接コンパイルし、busyboxを使ってルートファイルシステムを作成しました。私は自分のLinuxシステムをカスタマイズし、以下を使用して4つのネットワークポートを含む組み込みボードにインストールしました。斧 88772チップ。
今問題が発生しました。アドレスが変更されるenx000ec6942ec5
と、システムが認識するネットワークポート名も変更されます。MAC
ただし、ネットワークポート名をeth
。イーサネットポート1をeth0
、イーサネットポート2をeth1
、イーサネットポート3をeth2
、イーサネットポート4をに固定することもできますeth3
。カーネルの rename 属性を取り消すことは可能であるとインターネットで見ましたが、次の2つの方法を試しましたが、問題は解決しませんでした
ところで、私のカスタムシステムはM
カーネルソースコードを変更せずにLinuxでのみ変更されました。Y
menuconfig
N
Closed
grub.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" }
だから、MACを固定する必要がありますが、複数の機器で使用する必要がありますが、MACは固定されていません。
別の方法がありますか?
答え1
biosdevname
Dellの従来のネットワークインターフェイス名変更スクリプトを使用しない場合、このパラメータを使用しても役に立ちません。 (あなたはおそらくそうではないでしょう。)
net.ifnames
udev/systemd ディレクティブを使用して名前の変更を停止できます。
しかし、私は非常にここで自分に害を及ぼしていることを心配してください。 「固定されたらいいです」ethX
と言いましethX
たeth0
。それは正確にあなたの状況必要いわゆる「予測可能なインタフェース名」:これらのX
名前はethX
次のように指定されます。検出順序。これは完全にランダムであり、しばしばそうです。したがって、eth0
このブーツはeth1
次のブーツになることがあります。だから名前が変わりました!
したがって、あなたは名前変更を無効にしたくない(!)、信頼できないethX
名前は信頼できないためです。代わりに、net.ifname-policy=onboard,path,slot
MACに関係なく同じ名前を維持できます。古代ethX
の慣習をまったく使用しないでください! (それ本物コンピュータには複数のネットワークカードがさまざまな方法で接続されている可能性があるため、最初はこれは良い考えではありません。このアプローチは、通常、コンピュータにマルチインターフェイスまたはカード接続用のマルチバスまたはPCI Expressがなかった時代です。基本的に、1996年にUSBが登場し、このアプローチはPCではもはや使用されなくなりました。 20年前、PCI ExpressがPC市場に参入するにつれて、ethX
ソリューションが実質的な問題になり、Linuxを正しく設定することが困難になりました。したがって、「我々」は、ランダムな検出順序ではなく固定機能に基づく名前変更を使用してこの問題を解決しました。何らかの理由でチュートリアルやガイドがいじめられているため、基本的なソフトウェアに関する一般的な誤解です。 )