Systemdはネットワークインタフェース名をeth0からenp0s25に変更することが知られており、これを「予測可能なネットワークインタフェース名」と呼びます。
私のシステムでは、eth0を「enp0s31f6」と呼びます。
こんなことを言ってすみませんが、私もこのユーザーの言葉に同意します。「私は「予測可能」という言葉が皮肉だとは思わない」 https://askubuntu.com/questions/704361/why-is-my-network-interface-named-enp0s25-instead-of-eth0
トピックに戻る:
私のシステム(物理PCIイーサネットアダプタを搭載したDebian 9.8)で、突然DHCPが機能しなくなったことがわかりました。
IPを取得するには、dhclientを手動で実行する必要があります。
その後、/etc/network/interfacesを見て、次のことを確認しました。
auto eth0
iface eth0 inet dhcp
これはenp0s31f6ではないはずですか?
しかし、そこに何を入れるべきかをどうやって知ることができます。
このファイルを手動で編集し、systemdが私のインターフェースを呼び出すことを決めた項目にeth0を変更する必要がありますか?
確かに、私はsystemdの仕組み、Debianの仕組み、予測可能なネットワークインタフェースの仕組みに関するいくつかの重要な情報を見逃したことに違いありません。たぶんこれらの組み合わせです。
/etc/network/interfacesで抽象ネットワークインタフェースを参照する必要がありますか?いくつかの抽象文字列は常に「最初のネットワークインタフェースカード」を意味します(ただしeth0ではありませんか?)。それともいくつかのUIDで? PCIドメイン:バス:デバイスを介して?
とても混乱しています。多くのドキュメントでは、私が考えているレガシースクリプト、最新のシステムに言及していますが、多くのディストリビューションはレガシースクリプトとシステム機能の組み合わせを使用しているようで、マスターするのは難しいです。
質問:
なぜ動作が止まったのですか?
私は何が間違っていましたか?
なぜこれですか?一度Debian が体系的で予測可能なネットワークインタフェースを使用する場合、/etc/network/interfaces の eth0 は何ですか?
この問題を解決する正しい方法は何ですか?
答え1
なぜ動作が止まったのですか?私は何が間違っていましたか?
「突然」何が起こったのかを言うのは難しいです。 DHCPの動作が停止する前後のDHCPログを見ると、/var/log/syslog
答えが見つかります。/var/log/messages
で修正時間も確認してくださいstat /etc/network/interfaces
。
/etc/network/interfaces
Debianが体系的で予測可能なネットワークインタフェースを使用しているときに私のeth0が表示されるのはなぜですか?
これは新しいデフォルトDebian 拡張以降。以前にシステムをインストールし、システムが/etc/network/interfaces
jessie(またはwheezy ...)で起動されていた場合は、以前のnetcfg
命名スキームを使用してインストーラ()によって生成されました。
この問題を解決する正しい方法は何ですか?
あなたに最適なものは何でも。
このシステムに複数のイーサネットインターフェイスが必要な場合は、それらを区別する方法を検討してください。 ethXシーケンスは不安定または予測不可能であることに注意してください。予測可能なネットワークインターフェイス名さまざまなオプションが用意されているので、ユースケースに応じて選択してください。
マシンにイーサネットインターフェイスが1つしかない場合は、次のことができます。
- 常にeth0のカーネル名を再利用してください。 (上記のページにはいくつかのオプションがあります。私のお気に入りのオプションはです。
ln -s /dev/null /etc/systemd/network/99-default.link
後でrebuild initramfsを使用することを忘れないでくださいupdate-initramfs -u
。) - または、インターフェイス名に気を付けずに
/etc/network/interfaces
完全に放棄し、すべての設定が一致するsystemd-networkdに切り替えます。
- 常にeth0のカーネル名を再利用してください。 (上記のページにはいくつかのオプションがあります。私のお気に入りのオプションはです。
[Network]
DHCP=ipv4
in /etc/systemd/network/dhcp.network
(ファイル名の選択)。申し訳ありません。インデントが正しくできません...