デフォルトIP 1個、追加IP 2個、IP6 1個を追加しようとしています。これは次の場所にある私のインターフェースファイルです/etc/network/interfaces
。
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug ens192
iface ens192 inet static
address 23.227.198.250/26
gateway 23.227.198.194
dns-nameservers 8.8.8.8
dns-search deb12.domain.com
auto ens192:0
iface ens192:0 inet static
address 23.227.198.253
gateway 23.227.198.194
auto ens192:1
iface ens192:1 inet static
address 23.227.198.254
gateway 23.227.198.194
iface ens192 inet6 static
address 2a02:748:4000:6::0199/64
gateway 2a02:748:4000:6::1
その後、次のコマンドを使用してネットワークを再起動しました。コマンド出力systemctl restart networking
:
Job for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xeu networking.service" for details.
その後、次のようにjournalctl -x
言います。
Subject: A start job for unit networking.service has begun execution
Defined-By: systemd
Support: https://www.debian.org/support
A start job for unit networking.service has begun execution.
The job identifier is 412.
ifup[2057]: RTNETLINK answers: File exists
ifup[2048]: ifup: failed to bring up ens192:1
systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Subject: Unit process exited
Defined-By: systemd
Support: https://www.debian.org/support
An ExecStart= process belonging to unit networking.service has exited.
The process' exit code is 'exited' and its exit status is 1.
systemd[1]: networking.service: Failed with result 'exit-code'.
Subject: Unit failed
Defined-By: systemd
Support: https://www.debian.org/support
The unit networking.service has entered the 'failed' state with result 'exit-code'.
systemd[1]: Failed to start networking.service - Raise network interfaces.
Subject: A start job for unit networking.service has failed
Defined-By: systemd
A start job for unit networking.service has finished with a failure.
The job identifier is 412 and the job result is failed.
出力systemctl status networking
:
networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Mon 2023-11-20 04:53:15 EST; 3min 15s ago
Docs: man:interfaces(5)
Process: 2048 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
Process: 2074 ExecStopPost=/usr/bin/touch /run/network/restart-hotplug (code=exited, status=0/SUCCESS)
Main PID: 2048 (code=exited, status=1/FAILURE)
CPU: 18ms
systemd[1]: Starting networking.service - Raise network interfaces...
fup[2057]: RTNETLINK answers: File exists
ifup[2048]: ifup: failed to bring up ens192:1
systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: networking.service: Failed with result 'exit-code'.
ystemd[1]: Failed to start networking.service - Raise network interfaces.
Web では、この問題に対する解決策が見つかりません。この問題を解決するのに役立つとしたら、それは私にとって大きな意味があります。
ネットワークファイルを書き換えて、タイプミスがあるかどうかを確認してみました。また、vimはファイルのコメントを強調表示しないので(ここに投稿したときにコメントを削除しました)、OSがファイルを認識しない可能性があると思います。ファイルchmod
の合計も確認しましたが、chown
すべてが正常です。
何か変なことが起きています。上記のエラーが発生しても、ローカルネットワーク上のすべてのIP(V4およびV6)をpingできます。このサーバーからGoogle IPv4とIPv6をpingすることもできます。
答え1
単一基本ゲートウェイ:これデフォルトゲートウェイは次の目的で使用されます。これデフォルトパスはgateway
制御されます。ネットワーク構成ツールが同じメトリックRTNETLINK answers: File exists
などを使用してデフォルトのパスを追加しようとすると、2回目にエラーが発生します。
最初のインスタンスを維持してください。
gateway 23.227.198.194
2つの重複エントリを削除します。
ifdown ens192
注:インターフェイス間の非同期を防ぐために、設定を変更する前にインターフェイスをシャットダウン(使用)することをお勧めします。上下ならツールの状態と実際のネットワークの状態です。もちろん、リモートで接続(または再起動)する場合は、システムに接続する方法を維持する必要があります。
次の情報は問題を解決するために必要なものではなく、注意事項にすぎず、完全に避けて回避する必要がありますが、ens192:0
このens192:1
注意は無視できます。
いわゆるエイリアスインターフェイスを使用する理由はありません。インターフェイスはインターフェイスではなく、追加のアドレスに添付されているラベルです。今日上下なら使用IP ルート 2:ip link
内部ip addr
ではなく内部的にifconfig
これらの偽のインターフェイスの中で唯一知られている「クライアント」は、以前のAPIを介して処理されます(netdevice(7)
):ifconfig
Linuxでは使用されなくなり、ツールや人は使用しないでください。これはip link
最新のip addr
カーネルAPI(rtnetlink(7)
)。例えば、IPv4アドレス(同じインターフェイスの他のアドレスの代わりに)このような互換性ラベルを使用すると、次のように使用できます。
ip -details addr show dev ens192 label ens192:0
しかし、もちろん次のようにしてください:
ip addr show dev ens192
3つのアドレスがすべてインターフェイスに表示されます。
構成のどこからでも合計を削除:0
します。:1
ens192
上下なら通常どおりアドレスのみが追加されます(ラベルがないため表示されなくなりますifconfig
)。また、これはIPv6の唯一の方法です(追加のインターフェイスは:x
無視されますが)。 Linuxのいわゆるエイリアスインターフェイスは、IPv6ではなくIPv4の解決策だからです。 IPv6にはまったく必要ないからです(ifconfig
IPv6の場合ではなくadd
別の文法del
)。