¿Por qué si la eliminación de alias elimina mi interfaz principal?

¿Por qué si la eliminación de alias elimina mi interfaz principal?

Tengo la interfaz eth0 definida en mi computadora y el alias eth0:1 relacionado con ella

# 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 

pero cuando solo quiero deshabilitar un alias con el siguiente comando, también elimina eth0.

/sbin/ifdown eth0:1

¿Por qué está pasando esto?

Por otro lado, si intenta desactivar un alias con un comando, funciona y se elimina solo:

ifconfig eth0:1 down

Pero cuando restauro el alias nuevamente, mi situación es la siguiente

# /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 pierde su dirección IP y su configuración. ¿Qué puede hacer que no pueda eliminar y configurar el alias individualmente?

El archivo /etc/network/interfaces tiene eth0 y eth0:1 definidos

# 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

Respuesta1

Suponiendo que sus máscaras de subred sean iguales:

Al menos el kernel de Linux 4.19 tiene un error con respecto a su observación. Agregar 2 direcciones IP en la misma subred a una interfaz y eliminar la primera eliminará ambas:

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

Pero recuerde que todavía es un error de configuración tener 2 direcciones IP de la misma subred en una interfaz. Escuchará ambas direcciones IP pero no se especifica la dirección IP de respuesta. Utilice esta configuración sólo temporalmente. El kernel de Linux 5.10 elimina la dirección IP correcta en esta situación.

información relacionada