Como defino um IP extra para uma interface existente?

7

Eu tenho uma interface eth0 e desejo dar um IP virtual extra. Eu alcanço isso com o seguinte:

ifconfig eth0:0 ip.address.goes.here netmask subnet.address.goes.here

Isso funciona bem, no entanto, quando eu reinicio, isso é perdido.

Eu tentei editar /etc/network/interfaces para adicionar o seguinte:

auto eth0:0 iface eth0:0 inet static
    address ip.address.goes.here
    netmask subnet.address.goes.here

No entanto, após a reinicialização, o ip estático para eth0 é carregado, mas o IP virtual eth0: 0 não é carregado.

Como posso adicionar permanentemente o eth0:0 IP virtual?

    
por wilhil 27.11.2011 / 14:51

2 respostas

11

Em vez de eth0:0 business, você deve fazer isso:

  • Configure seu (um) endereço IP estático em /etc/network/interfaces como faria normalmente:

    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.0.201
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    
  • Adicione outro IP a esta interface, adicionando isto logo após o acima:

    up /sbin/ip addr add 192.168.0.203/24 dev eth0
    down /sbin/ip addr del 192.168.0.203/24 dev eth0
    
  • O arquivo completo deve parecer como este

Agora, se você verificar quais endereços IP estão configurados executando ip addr show , ambos serão exibidos:

2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:1d:fa:0b brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.201/24 brd 192.168.0.255 scope global eth0
    inet 192.168.0.203/24 scope global secondary eth0

Meus agradecimentos a Lekensteyn por me apontar na direção certa. Todos os sites na internet apenas falam sobre eth0:0 para um endereço IP secundário. Esta parece ser a maneira correta de fazer isso.

    
por Stefano Palazzo 27.11.2011 / 15:11
1

Se você quiser fazer as coisas da maneira "tradicional", a parte relevante de /etc/network/interfaces deve ser:

auto eth0:0
iface eth0:0 inet static
    address ip.address.goes.here
    netmask subnet.address.goes.here

em vez disso, onde você cometeu um erro:

auto eth0:0 iface eth0:0 inet static
    address ip.address.goes.here
    netmask subnet.address.goes.here
    
por Alastair Irvine 20.03.2014 / 05:33