Wie lege ich für eine bestehende Schnittstelle eine zusätzliche IP fest?

Wie lege ich für eine bestehende Schnittstelle eine zusätzliche IP fest?

Ich habe eine Schnittstelle eth0und möchte ihr eine zusätzliche virtuelle IP zuweisen. Dies erreiche ich folgendermaßen:

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

Dies funktioniert einwandfrei, geht jedoch beim Neustart verloren.

Ich habe versucht, durch Bearbeiten /etc/network/interfacesFolgendes hinzuzufügen:

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

Beim Neustart wird die statische IP für eth0 jedoch problemlos geladen, die virtuelle IP eth0:0 wird jedoch überhaupt nicht geladen.

Wie kann ich also die eth0:0virtuelle IP dauerhaft hinzufügen?

Antwort1

Anstelle dieser eth0:0Dinge sollten Sie Folgendes tun:

  • Konfigurieren Sie Ihre (eine) statische IP-Adresse /etc/network/interfaceswie gewohnt:

    # 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
    
  • Fügen Sie eine weitere IP hinzu zuDasSchnittstelle, indem Sie Folgendes direkt nach dem Obigen hinzufügen:

    up /sbin/ip addr add 192.168.0.203/24 dev eth0
    down /sbin/ip addr del 192.168.0.203/24 dev eth0
    
  • Die komplette Datei solltesehenwieDas

Wenn Sie nun durch Ausführen prüfen, welche IP-Adressen konfiguriert sind ip addr show, werden beide angezeigt:

2: eth0: mtu 1500 qdisc pfifo_fast Status UP qlen 1000
    Link/Ether 08:00:27:1d:fa:0b brd ff:ff:ff:ff:ff:ff:ff
    inet 192.168.0.201/24brd 192.168.0.255 Bereich global eth0
    inet 192.168.0.203/24Umfang global sekundär eth0

Mein Dank geht an Lekensteyn, der mich in die richtige Richtung gelenkt hat. Auf jeder Website im Internet ist nur eth0:0von einer sekundären IP-Adresse die Rede.Dasscheint die richtige Vorgehensweise zu sein.

Antwort2

Wenn Sie die Dinge auf die „traditionelle“ Art und Weise erledigen möchten, sollte der relevante Teil /etc/network/interfacesfolgendermaßen aussehen:

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

stattdessen dies, wo Sie einen Fehler gemacht haben:

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

verwandte Informationen