エイリアスをダウンするとデフォルトのインターフェイスが削除されるのはなぜですか?

エイリアスをダウンするとデフォルトのインターフェイスが削除されるのはなぜですか?

私のコンピュータにはeth0インターフェイスが定義されており、それに関連するエイリアスeth0があります。 1

# ifconfig
eth0      Link encap:Ethernet  HWaddr X:5D:X:3F:X:89  
          inet addr:X.X.0.156  Bcast:0.0.0.0  Mask:X.X.X.X
          inet6 addr: X::9a5d:X:fe3f:X/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:677 errors:0 dropped:0 overruns:0 frame:0
          TX packets:180 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:56767 (55.4 KiB)  TX bytes:16019 (15.6 KiB)
          Interrupt:175 

eth0:1    Link encap:Ethernet  HWaddr X:5D:X:3F:X:89   
          inet addr:X.X.0.181  Bcast:0.0.0.0  Mask:X.X.X.X
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:175 

ただし、以下のコマンドを使用してエイリアスを無効にしたい場合は、eth0も削除されます。

/sbin/ifdown eth0:1

なぜこれが起こるのですか?

一方、コマンドを使用してエイリアスを無効にしようとすると、機能し、それ自体が削除されます。

ifconfig eth0:1 down

ただし、エイリアスを再度復元すると、次のような状況が発生します。

# /sbin/ifup eth0:1
ifup: interface eth0:1 already configured
# /sbin/ifdown eth0:1
# /sbin/ifup eth0:1

# ifconfig 
eth0      Link encap:Ethernet  HWaddr X:5D:X:3F:X:89  
          inet6 addr: X::9a5d:X:fe3f:X/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1321 errors:0 dropped:0 overruns:0 frame:0
          TX packets:235 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:111766 (109.1 KiB)  TX bytes:20421 (19.9 KiB)
          Interrupt:175 

eth0:1    Link encap:Ethernet  HWaddr X:5D:X:3F:X:89   
          inet addr:X.X.0.181  Bcast:0.0.0.0  Mask:X.X.X.X
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:175 

Eth0はIPアドレスと設定を失います。これにより、別名を個別に削除して設定できなくなりますか?

/etc/network/interfaces ファイルは eth0 と eth0:1 を定義します。

# cat /etc/network/interfaces
auto eth0
iface eth0 inet static
    address X.X.0.156
    netmask X.X.X.X
    gateway X.X.0.1

auto eth0:1
iface eth0:1 inet static
    address X.X.0.181
    netmask X.X.X.X

ベストアンサー1

サブネットマスクが同じであると仮定します。

あなたの観察によると、少なくともLinuxカーネル4.19にはバグがあります。同じサブネット上の2つのIPアドレスをインターフェイスに追加して最初のアドレスを削除すると、両方のアドレスが削除されます。

    ifconfig eth0 1.1.1.1/24
    ifconfig eth0:2 1.1.1.2/24
    ifconfig eth0 0

ただし、1つのインターフェイスに同じサブネットの2つのIPアドレスがあることはまだ間違った設定であることを覚えておいてください。 2 つの IP アドレスを受信しますが、応答 IP アドレスは指定されません。この構成は一時的にのみ使用してください。この場合、Linuxカーネル5.10は正しいIPアドレスを削除しました。

おすすめ記事