私のコンピュータにはインターフェース 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 アドレスを 1 つのインターフェイスに追加し、最初の IP アドレスを削除すると、両方が削除されます。
ifconfig eth0 1.1.1.1/24
ifconfig eth0:2 1.1.1.2/24
ifconfig eth0 0
ただし、1 つのインターフェースに同じサブネットの 2 つの IP アドレスを設定するのは依然として誤った構成であることに留意してください。両方の IP アドレスをリッスンしますが、応答 IP アドレスが指定されていません。この構成は一時的にのみ使用してください。Linux カーネル 5.10 は、この状況で正しい IP アドレスを削除します。