16.04にアップグレードした後、ネットワークインターフェイスの起動を開始できませんでした


28

仮想14.04サーバーマシンを16.04にアップグレードしました。VMを再起動した後、次のエラーが表示されます。

[FAILED] Failed to start Raise network interfaces.
 See 'systemctl status networking.service' for details

ログイン後、前述のコマンドを実行して、次の出力を取得できます(接続できないためのイメージ)

ここに画像の説明を入力してください

の設定/etc/network/interfacesは問題ありません-手動で設定されたeth0を使用しています(ここではdhcpを使用していません)

私が不思議に思うのは、そのifconfig -aリストです

  • ens160

期待するところ

  • eth0

を介してeth0デバイスを起動しようとしています

sudo ifup -v eth0 

出力:

...
Cannot find device "eth0"
Failed to bring up eth0.

仮想有線ネットワークデバイス自体は、以前と同じようにVM自体でまだ構成されています。

ip linkまたloens160- ens160構成された単一の仮想ネットワークデバイスのvmwareでMACアドレスが構成されています。

更新

eth0のすべての参照/etc/network/interfacesをens160に変更すると、問題を解決できます。

しかし、これはいくつかの理由で私にとって間違っていると感じています:

  1. この問題を理解したい
  2. ens160ではなくeth0に固執したい

だから誰かがこの変更を説明してください



修正の同様の説明はこちらです:askubuntu.com/a/830163/543586-theINtoy
10:07

回答:


15

理由

この問題は、systemd / udevのPredictable-Network-Interface-Namesが原因で発生しました。

可能な解決策

このソースによると次のいずれかが可能です。

  • 予測できないカーネル名が再び使用されるように、固定名の割り当てを無効にします。そのためには、デフォルトポリシーのudevのルールファイルをマスクするだけです:ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules
  • たとえば、インターフェイスに「internet0」、「dmz0」、または「lan0」という名前を付けることで、独自の手動命名スキームを作成します。そのために、/ etc / systemd / network /に独自の.linkファイルを作成し、インターフェースの1つ、一部、またはすべてに対して明示的な名前またはより適切な命名スキームを選択します。詳細については、systemd.link(5)を参照してください。
  • カーネルコマンドラインでnet.ifnames = 0を渡します

応用ソリューション

新しいファイル10-rename-network.rulesを作成し/etc/udev/rules.d/、次のコンテンツを追加しました。

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"

どこで

  • eth0 =使用するネットワークインターフェイス名。 /etc/network/interfaces
  • ff:ff:ff:ff:ff:ff =ネットワークデバイスのハードウェアMACアドレス

これが完了したら再起動して、変更がスティッキーであることを確認することをお勧めします。


update-initramfs -u変更を有効にするには実行する必要があることが
わかった

私のDebianシステムでは、ファイルは「/etc/udev/rules.d/70-persistent-net.rules」です
ジェレミア

6

ファイル/etc/network/interfaces.d/setupを以下から変更して解決しました:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

に:

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp

1

私の場合、この問題は私の橋を立ち上げることに関連していた br0。私はこれをするのを忘れていました:

sudo apt-get install bridge-utils

以前のように私のアダプターは開始できませんでした。


2
これはOPの問題とは異なります。この答えがこの質問に属するかどうかはわかりません!
ザンナ

0

次の場所にある永続的/一貫性のあるネットワークインターフェイス名のudevキャッシュを削除/変更することをお勧めします。 /etc/udev/rules.d/70-persistent-net.rules

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