web-dev-qa-db-ja.com

「予測可能なネットワークインターフェイス名」を有効にする方法

私のイーサネットデバイスの最終的な名前を確認することにしましたが、 他のディストリビューションとは異なり 、Debianはこの変更をアクティブ化していないようです(または変更を保留していますか?)、

  • 今のところ、古い永続的なネットワークインターフェースの命名方式を維持し、カーネルのコマンドラインでnet.ifnames = 1を使用して新しい方式をオプトインします。

問題は、grubカーネル行を編集する必要があることです。これは ファイルを変更することで無効にできる の場合にはやりすぎのようです。別の方法はありますか?

12
Braiam

Debianのバージョン220-7では、このオプトインを作成するパッチが削除されました。

* Switch to net.ifnames persistent network interfaces (on new
  installations/for new hardware), and deprecate the old
  75-persistent-net-generator.rules.

これは debian-devel リストの提案から生まれました。古い名前を使用していたシステムは、ユーザーが移行するまで名前が変更されません。移行ガイドについてはREADME.Debianを読んでください。

新しい名前は、以下を使用して予測できます。

Sudo udevadm test /sys/class/net/eth0 2>/dev/null |grep ID_NET_NAME_

どこ eth0は、デバイスの現在の名前です。

11
Braiam

Sidまたはjessieの話をしていると思います。 wheezyの場合は、 v204のバックポート を試してください。

ここでいくつか誤解があるかもしれません:udevルール here (現在sidにあるv208の場合)からわかるように、udev開発者は明示的にを選択しましたこの機能を有効にするデフォルトの方法として、カーネルcmdline。
選択したインターフェイスを使用してGRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1"/etc/default/grub。あなたが心配している特定の副作用はありますか?

あなたが言及した答えがそれを無効にするためにファイルを削除することを提案しているという事実は、ハッキングであり(少なくともDebianの場合)、debianではこれらのルールは/lib/udev/rules.d、つまり:アップグレードで上書きされます(その上、それを説明するファイルを効果的に削除して機能を無効にすることには意味がありますが、有効にする根本的に異なるので、これは不当な比較だと思います)。

OTOH、カーネルコマンドラインを使用しない具体的な理由がある場合は、debianパッケージに対するバグを報告し、メンテナーにこれらのルールを/etc/udev/。その後、理論的には、現在の「永続的」ルールと新しい「予測可能」ルールを切り替えることができます。

しかし、参考までに:バージョン209のソースを見ると、net.if_namesまとめて確認するので、近いうちに質問を書き直す必要があるかもしれません。

5
Leo Antunes

Debian/Ubuntuでは、udev 220以降、このファイルの名前を変更して新しい名前を有効にできます。

Sudo mv -T /etc/udev/rules.d/70-persistent-net.rules{,.old}

/usr/share/doc/udev/README.Debian.gz、 に続く

Sudo update-initramfs -u

次に、再起動します(またはネットワークカードを駆動するモジュールのrmmod + insmod)。

0
Tobu