Wenn einer Schnittstelle zwei IPs zugewiesen sind, wie gebe ich dann nur eine bestimmte IP frei?

Wenn einer Schnittstelle zwei IPs zugewiesen sind, wie gebe ich dann nur eine bestimmte IP frei?

Ich habe einige DHCP-Aufgaben als Hausaufgabe gemacht und in einer Übung musste ich die IP auf einem Client freigeben, um dann auf dem Server mit tcpdump die Pakete zu erfassen, die die gesamte DHCP-Kommunikation beschreiben.
Das hat natürlich problemlos funktioniert, der Punkt ist, dass meinem Client 2 IPs zugewiesen wurden, die alte und die neue.

Für meine Aufgaben muss ich das nicht unbedingt wissen, aber ich war einfach neugierig, warum eine Schnittstelle doppelte IPs haben kann und wie ich nur eine davon freigeben kann.

Ich zeige Ihnen die ip aAusgabe des Clients für weitere Informationen

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:8d:c0:4d brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
       valid_lft 81584sec preferred_lft 81584sec
    inet6 fe80::a00:27ff:fe8d:c04d/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:e8:5c:2a brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.10/24 brd 192.168.100.255 scope global dynamic eth1
       valid_lft 16802sec preferred_lft 16802sec
    inet 192.168.100.11/24 brd 192.168.100.255 scope global secondary dynamic eth1
       valid_lft 19310sec preferred_lft 19310sec
    inet6 fe80::a00:27ff:fee8:5c2a/64 scope link 
       valid_lft forever preferred_lft forever

PS

Ich habe mich gefragt, ob die alte IP jetzt vielleicht einfach nicht mehr funktioniert und vielleicht ip anur eine Art „Verlauf“ anzeigt, aber beide IPs funktionieren. Aber trotzdem weiß ich nicht, warum das erlaubt ist.

Antwort1

Ich war nur neugierig, warum eine Schnittstelle doppelte IPs haben kann

Eine Schnittstelle kann habenbeliebigAnzahl der benötigten IP-Adressen, von null bis Hunderten.

Es ist jedoch ungewöhnlich, dass ein DHCP-Client mehr als eine Lease in Anspruch nimmt. Vielleicht laufen bei Ihnen zwei DHCP-Clients gleichzeitig? (Zum Beispiel systemd-networkd und NetworkManager?)

Alternativ haben Sie vielleicht den DHCP-Client zweimal ausgeführt und zwischen den Ausführungen die Lease-Datei gelöscht?

und wie könnte ich nur einen von ihnen freilassen.

Wie erwähnt, verfügen Sie wahrscheinlich über zwei DHCP-Clients, von denen jeder seine eigene Adresse verwaltet. Wenn dies der Fall ist, stoppen Sie nur einen einzigen Client.

Schließlich können Sie die Adressen auch einfach entfernen, ohne die DHCP-Lease freizugeben, indem Sie verwenden ip addr del. Dies hilft jedoch nicht, wenn der DHCP-Client, der sie zugewiesen hat, noch läuft, und es gibt sie natürlich nicht auf dem DHCP-Server frei:

ip addr del 192.168.100.11/24 dev eth1

verwandte Informationen