
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 a
Ausgabe 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 a
nur 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