eth0 は Debian Jessie でアドレスを宣言しなくなりました。

eth0 は Debian Jessie でアドレスを宣言しなくなりました。

Debian 8.6を実行していますが、突然eth0アドレスを取得できません。

/etc/network/interfaces looks like this:

auto lo
iface lo inet loopback 

auto eth0 inet dhcp

OSで何も明示的にアップグレードされておらず、他のコンピュータがネットワークに接続されています。

誰もが何が間違っているのか、どのように間違っているのかについての洞察を提供できますか?

答え1

デフォルトのインターフェイス名はsystemdによって変更されました。以前の動作が必要な場合は、net.ifnames=0カーネルに引数を渡してください。 (grub.cfgまたは/etc/default/grub

答え2

誰もが何が間違っているのか、どのように間違っているのかについての洞察を提供できますか?

簡単な回答は以下にあります。Archlinux Wiki:

複数のNICを持つコンピュータでは、デバイス名を固定することが重要です。インターフェイス名の変更により、多くの設定の問題が発生します。 udevは、どのデバイスがどの名前を取得するかを担当します。 Systemd v197では、ネットワークデバイスに静的名称を自動的に割り当てる予測可能なネットワークインタフェース名が導入されました。これで、インターフェイスにen(有線/イーサネット)、wl(無線/ WLAN)、またはww(WWAN)プレフィックスが続き、その後に自動的に生成された識別子が続きます。たとえば、カーネルパラメータを追加すると、この動作をenp0s25無効にできます。net.ifnames=0

古いインターフェース名を取得するには、次のようにします。

1)/etc/default/grub 変更内容をGRUB_CMDLINE_LINUX=""次のように編集します。

GRUB_CMDLINE_LINUX="net.ifnames=0"

インストールされている場合は、biosdevname以下を追加する必要があります。

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

グラップアップデート:

update-grub

または

grub-mkconfig -o /boot/grub/grub.cfg

そして再起動

2)新しい項目を作成することもできますudev-rule

編集し/etc/udev/rules.d/70-persistent-net.rulesたら、インターフェイス名を次のように変更します。eth0

3) もしbiosdevnameパッケージがシステムにインストールされています。パッケージを削除してinitramfsを更新してください。

apt-get purge biosdevname
update-initramfs -u

削除し/etc/udev/rules.d/70-persistent-net.rulesて編集し/etc/network/interfaces(あなたの場合は問題ありません)、システムを再起動してください。

関連情報