
私は、取り外し可能なUSBスティックから起動する(そしてルートファイルシステムを持つ)家庭用ヘッドレスサーバーを持っています。私はこれをラップトップからインストールします(この素晴らしいチェックリスト) を開き、必要に応じて構成ファイルを編集します。理想的には、USB スティックをラップトップに接続したままシステムを完全に構成し、サーバーに接続すると、ネットワークが確立され、SSH デーモンが実行されるマルチユーザー レベルで直接起動できるようにしたいと思います。私が望むネットワーク構成は非常にシンプルです。静的に構成したい統合 MOBO NIC が 1 つあります。
私が見つけた主な問題は、NICに割り当てられるインターフェイス名が(確実に)わからないことです。これまでは盲目的にeth0
inを使用して/etc/network/interfaces
いましたが、前回再インストールしたときに予測可能なネットワークインターフェース名スキームでは、ローカルにログインしてシステムのトラブルシューティングを行うために、モニターとキーボードを持ち運ばなければなりませんでした。
では、今後このような苦痛を避けるにはどうしたらいいのでしょうか?
答え1
最も簡単で実用的な解決策は、従来の動作に戻ることだと思います。
- USB スティックのブートローダ設定 (たとえば、grub2 設定) で、
net.ifnames=0
カーネル コマンド ラインにパラメータを追加します。 - 引き続き を使用し
eth0
ます/etc/network/interfaces
。
あなたが説明した状況と、物事をシンプルに保つことに重点を置いていることを考えると、これは適切であると思われます。ただし、更新/アップグレードを急ぎすぎると、廃止される可能性があり、将来的に動作しなくなる可能性がifupdown
あることに注意してください。/etc/network/interfaces
答え2
現代主義者なら、systemd-networkd
通常の静的設定方法の代わりに を使用するように切り替えることができます。 を参照してくださいman systemd.network
。基本的な考え方は、次の/etc/network/interfaces
ように削除して作成することです。/etc/systemd/network/static.network
[Network]
Address=1.2.3.4/26
Gateway=1.2.3.3
これも忘れないでくださいsystemctl enable systemd-networkd
。
答え3
予測可能なネットワークインターフェース命名スキームは、まさにこの、インターフェースが異なる時間に異なる名前を取得するという問題を解決するために作成されました。つまり、この変更により、問題はなくなるはずです(systemd のインターフェース命名の次の変更まで)。