web-dev-qa-db-ja.com

16.04にアップグレードした後、ネットワークインターフェイスの上げに失敗しました

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

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

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

enter image description here

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

不思議に思うのは、ifconfig -aリスト

  • ens160
  • lo

期待するところ

  • eth0
  • lo

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

Sudo ifup -v eth0 

出力:

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

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

ip linkも表示されますloおよびens160-ens160には、単一の構成された仮想ネットワークデバイスのvmwareで構成されたMACアドレスがあります。

更新

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

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

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

だから誰かがこの変更を説明してもらえますか?それは同じサーバー上の他のいくつかの14.04マシンには起こらなかったのですが、これも16.04にアップグレードしました。

26
dufte

理由

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

可能な解決策

this source によると、次のいずれかが可能です。

  • 固定名の割り当てを無効にして、予測できないカーネル名が再び使用されるようにします。そのためには、デフォルトポリシーの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アドレス

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

14
dufte

ファイル/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

私の場合、この問題は私のブリッジbr0を起動しようとすることに関連していました。私はこれをするのを忘れていました:

Sudo apt-get install bridge-utils

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

1
gigo

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

0
Angel Genchev