UbuntuとDebian(stretch)の最新バージョンでは、新しいネットワークインターフェイスの命名スキームが導入されています。
さて、「eth0」のような古いスタイル名を使用しているシステムからアップデートする場合、新しい名前が何になるかを起動する前に知りたいです。
これどうやってするの?ブートする前に/ etc / network / interfaceを編集するために使用できる「systemd」の魔法の呼び出しはありますか(そして、その後ネットワーク接続が失われますか)?
UbuntuとDebian(stretch)の最新バージョンでは、新しいネットワークインターフェイスの命名スキームが導入されています。
さて、「eth0」のような古いスタイル名を使用しているシステムからアップデートする場合、新しい名前が何になるかを起動する前に知りたいです。
これどうやってするの?ブートする前に/ etc / network / interfaceを編集するために使用できる「systemd」の魔法の呼び出しはありますか(そして、その後ネットワーク接続が失われますか)?
回答:
利用可能なスキームは2つあります。biosdevnameと予測可能なネットワークインターフェイス名です。
Biosdevnameは、ubuntuのデフォルトのようです。biosdevnameパッケージをインストールすることでアクティブになります。
インターフェイスのbiosdevnameは、次のコマンドで見つけることができます。
biosdevname -i eth0
これはDebianストレッチのデフォルトですが、以前のリリースからのアップグレードでは明示的に有効にする必要があります。
eth0の予測可能な名前は、次で見つけることができます。
udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'
新しいスキームは、明らかに「予測可能なネットワークインターフェイス名」と呼ばれますが、実際に名前を予測する方法に関するドキュメントはあまり見当たりません。 私が見つけたすべてのものは、基本的にこのソースコードのコメント(それ自体が最初のリンクを指す)を指します。このコメントから、udevがネットワークデバイス名に使用するアドレッシングスキームを知る方法はまったく明確ではありません。
最初のリンクごとに、net.ifnames=0
Grubのカーネルコマンドラインに追加することで、それを無効にし、従来の名前を使用できます。このコメントによれば、追加された拡張機能によりインターフェイス名が長くなりすぎるため、VLANタグ付きインターフェイスの作成を計画する必要がある場合があります。
そうでない場合は、名前を使用して何をしようとしているのかを説明するために質問を再入力する方がよい場合があります(たとえば、ansibleまたは類似の方法でインターフェイスを構成します)
更新されたバージョンでもこれが当てはまるかどうかはわかりませんが、古いシステムでは空のファイルを作成でき/etc/udev/rules.d/80-net-name-slot.rules
、「予測可能な」ネーミング機能が無効になります。MACアドレスまたはPCI / USB接続に基づいて、独自のルールを作成し、自分でインターフェイスに名前を付けることもできます。