読むhttps://wiki.archlinux.org/title/Network_configuration私は何度も単純に見えるこのタスクを実行していましたが、まだ困難を抱えていました。
あるシステムでは、ファイルを生成して完全に機能しました。
/etc/systemd/network/eth0.network
次のコンテンツが含まれています。
[Match]
Name=eth0
[Network]
Address=192.168.1.200/24
Gateway=192.168.1.1
DNS=192.168.1.1
ただし、eth0を使用するため、設定はeth0にのみ適用されます。
更新して再起動した後、eth0の名前が突然enu1u1に変更されました。
モニターやキーボードが接続されていないシステムでは、これは突然不可能になります。
これで enu1u1.network ファイルがあり、再び動作し、再起動後も引き続き機能します。
この問題を処理する正しい方法は何ですか?これにはudevルールを作成する必要がありますか?私が作成したこの規則を上書きして元の原点に戻るシステムアップデートは何ですか?
非常に簡単な設定があります。
システムにはイーサネットインターフェイスがあり、今後もそうです。
これが私が望むものです:
私はこのイーサネットインターフェイスが常にIP 192.168.1.200を取得したいと思います。
これを行い、更新と再起動後も持続するようにするにはどうすればよいですか?
私の考えは、udevを使用してうまく一致するのに十分なルールを作成し、更新に対応できるようにudevルールファイルを変更できないようにすることです。しかし、それにもかかわらず、私は完全に安全だと感じませんでした。私が認識していない一部のネットワーク管理者が有効になっているか、デフォルトでインストールされていて、静的IPを無視してDHCPを使用したい場合はどうなりますか?
要するに、今は固定IPを設定するのが非常に混乱していると思います。私はおそらくこれを行う適切な方法がわからないので、年をとってシステムを乱用しているでしょう。
編集できるシンプルなRCファイルが欲しいです。 DHCP=no, IP=... だけを指定すると常に動作します。
答え1
v197からsystemd/udev
展開「すべてのローカルインターフェイスの予測可能で信頼性の高いローカルインターフェイス名」。 systemd.io リリースを表示予測可能なネットワークインターフェイス名。
アーチではできますレガシーインターフェイス名に戻すudev
マスキングルールで予測可能なインターフェイス名を無効にします。
# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
またはnet.ifnames=0
追加カーネルパラメータ。
答え2
enu1u1
systemd 197で導入された「予測可能な」インタフェース名は次のとおりです。https://systemd.io/PREDICTABLE_INTERFACE_NAMES/
以前の命名方法(eth0、eth1...)はカーネルがインタフェースをナビゲートする順序に大きく依存しているため、この新しい命名方法に固執することをお勧めします。生き残ったアップデートと再起動に興味があるので、予測可能なこの新しい名前は正しい選択です(そしてすでに設定しています)。