
Hallo Leute, ich versuche, eine bestimmte IP aus der Liste der verfügbaren IPs zu entfernen. Wie mache ich das? Nehmen wir zum Beispiel an, ich hätte die folgenden IPs (die Reihenfolge ist dieselbe): 1.2.3.4 1.2.3.5 1.2.3.6 Ich habe das mit „ifconfig etho:x 1.2.3.x up“ gemacht, wobei x=4,5,6. Jetzt möchte ich nur die erste IP entfernen, also 1.2.3.4. Ich versuche das mit „ifconfig eth0:4 down“. Das Problem ist, dass dadurch nicht nur die erforderliche IP entfernt wird, sondern auch alle IPs darunter. Ich arbeite mit Linux RedHat. Vielen Dank im Voraus...
Antwort1
ip addr del 1.2.3.4/24 dev eth0:4
Das eth0:n
sind eigentlich keine Schnittstellen, sondern Bezeichnungen (oder Aliase). Da Sie derselben Schnittstelle mehrere Adressen zuweisen können, können Bezeichnungen dabei helfen, zu unterscheiden, wofür die IP verwendet wird. Das erklärt auch, warum alles andere mit der Festlegung einer Bezeichnung übereinstimmt, da Sie eigentlich nur mit eth0 sprechen.
Antwort2
Die meisten Betriebssysteme erlauben die Zuweisung mehrerer IP-Adressen zu einer einzigen Schnittstelle. Dies wird als IP-Aliasing oder logische Netzwerkschnittstelle bezeichnet. Wir können mehrere IP-Adressen mit einem bestimmten Label/Alias verknüpfen. Alias dienen unserer eigenen Bequemlichkeit.
Im folgenden Fall eth0:1
ist das Label mit IP-Adressen verknüpft 192.168.1.1 to 192.168.1.3
. Und eth0:2
das Label ist verknüpft mit 192.168.1.4 to 192.168.1.6
.
# ip addr add 192.168.1.1/24 dev eth0 label eth0:1
# ip addr add 192.168.1.2/24 dev eth0 label eth0:1
# ip addr add 192.168.1.3/24 dev eth0 label eth0:1
# ip addr add 192.168.1.4/24 dev eth0 label eth0:2
# ip addr add 192.168.1.5/24 dev eth0 label eth0:2
# ip addr add 192.168.1.6/24 dev eth0 label eth0:2
$ ip addr ls dev eth0
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1
inet 192.168.1.3/24 scope global secondary eth0:1
inet 192.168.1.4/24 scope global secondary eth0:2
inet 192.168.1.5/24 scope global secondary eth0:2
inet 192.168.1.6/24 scope global secondary eth0:2
Wir können eine bestimmte IP-Adresse mit einer Schnittstelle oder mehrere IP-Adressen mit einem Alias verknüpfen.
Der folgende Befehl listet alle IP-Adressen auf, die mit eth0:1
dem Label verknüpft sind.
$ ip addr ls label eth0:1
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1
inet 192.168.1.3/24 scope global secondary eth0:1
Wir können eine bestimmte IP-Adresse löschen.
$ sudo ip addr del 192.168.1.3/24 dev eth0
$ sudo ip addr ls label eth0:1
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1