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
(あなたの場合は問題ありません)、システムを再起動してください。