Tenho a interface eth0 definida no meu computador e o alias eth0: 1 relacionado a ela
# 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
mas quando eu quero apenas desabilitar um alias com o comando abaixo, ele também exclui eth0.
/sbin/ifdown eth0:1
Por que isso está acontecendo?
Por outro lado, se tentar desabilitar um alias com um comando, ele funciona e se remove:
ifconfig eth0:1 down
Mas quando eu restauro o alias novamente, minha situação é a seguinte
# /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 perde seu endereço IP e configurações. O que pode fazer com que eu não consiga excluir e definir o alias individualmente?
O arquivo /etc/network/interfaces tem eth0 e 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
Responder1
Supondo que suas máscaras de sub-rede sejam iguais:
Pelo menos o kernel do Linux 4.19 tem um bug relacionado à sua observação. Adicionar 2 endereços IP na mesma sub-rede a uma interface e excluir o primeiro excluirá ambos:
ifconfig eth0 1.1.1.1/24
ifconfig eth0:2 1.1.1.2/24
ifconfig eth0 0
Mas lembre-se de que ainda é uma configuração incorreta ter 2 endereços IP da mesma sub-rede em uma interface. Ele escutará ambos os endereços IP, mas o endereço IP de resposta não será especificado. Use esta configuração apenas temporariamente. O kernel Linux 5.10 exclui o endereço IP correto nesta situação.