systemdの予測可能なネットワークインターフェイス名


15

UbuntuとDebian(stretch)の最新バージョンでは、新しいネットワークインターフェイスの命名スキームが導入されています。

さて、「eth0」のような古いスタイル名を使用しているシステムからアップデートする場合、新しい名前が何になるかを起動する前に知りたいです。

これどうやってするの?ブートする前に/ etc / network / interfaceを編集するために使用できる「systemd」の魔法の呼び出しはありますか(そして、その後ネットワーク接続が失われますか)?


1
私はこれに出くわし、それはそれは私がこれまでに発見したどのように動作するかの最良の説明です:lists.debian.org/debian-user/2017/07/msg01453.html
ニール・

回答:


7

利用可能なスキームは2つあります。biosdevnameと予測可能なネットワークインターフェイス名です。

biosdevname

Biosdevnameは、ubuntuのデフォルトのようです。biosdevnameパッケージをインストールすることでアクティブになります。

インターフェイスのbiosdevnameは、次のコマンドで見つけることができます。

biosdevname -i eth0

予測可能なネットワークインターフェイス名

これはDebianストレッチのデフォルトですが、以前のリリースからのアップグレードでは明示的に有効にする必要があります。

eth0の予測可能な名前は、次で見つけることができます。

udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'

「@Neilが提供するリンクによると」「新しい名前を起動する前に」予測する方法に関する実際の答えは、新しい名前は古い名前と同じになりますが、それは設定するudevルールがまだあるためですの古い名前/etc/udev/rules.d/70-persistent-net.rules。新しい命名規則に切り替える場合、リンクは移行ガイドを提供します。
のTuomas

2

新しいスキームは、明らかに「予測可能なネットワークインターフェイス名」と呼ばれますが、実際に名前を予測する方法に関するドキュメントはあまり見当たりません。 私が見つけたすべてのものは、基本的にこのソースコードのコメント(それ自体が最初のリンクを指す)を指します。このコメントから、udevがネットワークデバイス名に使用するアドレッシングスキームを知る方法はまったく明確ではありません。

最初のリンクごとに、net.ifnames=0Grubのカーネルコマンドラインに追加することで、それを無効にし、従来の名前を使用できます。このコメントによれば、追加された拡張機能によりインターフェイス名が長くなりすぎるため、VLANタグ付きインターフェイスの作成を計画する必要がある場合があります。

そうでない場合は、名前を使用して何をしようとしているのかを説明するために質問を再入力する方がよい場合があります(たとえば、ansibleまたは類似の方法でインターフェイスを構成します)


2

更新されたバージョンでもこれが当てはまるかどうかはわかりませんが、古いシステムでは空のファイルを作成でき/etc/udev/rules.d/80-net-name-slot.rules、「予測可能な」ネーミング機能が無効になります。MACアドレスまたはPCI / USB接続に基づいて、独自のルールを作成し、自分でインターフェイスに名前を付けることもできます。


0

このドキュメントは少し役立つかもしれません。「v197で正確に変更された点」のセクションを参照してください。はい、これはやや限られた価値があると思いますが、それはあなたにさらなる研究のための道を与えるかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.