ネットワークインターフェイスの改善 - debian 12

ネットワークインターフェイスの改善 - debian 12

デフォルト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 ルート 2ip link内部ip addrではなく内部的にifconfigこれらの偽のインターフェイスの中で唯一知られている「クライアント」は、以前のAPIを介して処理されます(netdevice(7)):ifconfigLinuxでは使用されなくなり、ツールや人は使用しないでください。これはip link最新のip addrカーネルAPI(rtnetlink(7))。例えば、IPv4アドレス(同じインターフェイスの他のアドレスの代わりに)このような互換性ラベルを使用すると、次のように使用できます。

ip -details addr show dev ens192 label ens192:0

しかし、もちろん次のようにしてください:

ip addr show dev ens192

3つのアドレスがすべてインターフェイスに表示されます。

構成のどこからでも合計を削除:0します。:1ens192上下なら通常どおりアドレスのみが追加されます(ラベルがないため表示されなくなりますifconfig)。また、これはIPv6の唯一の方法です(追加のインターフェイスは:x無視されますが)。 Linuxのいわゆるエイリアスインターフェイスは、IPv6ではなくIPv4の解決策だからです。 IPv6にはまったく必要ないからです(ifconfigIPv6の場合ではなくadd別の文法del)。

おすすめ記事