Wie lässt man dhclient seine letzte DHCP-Lease vergessen?

28

Ich versuche, eine Kaltstart- und Zero-State-DHCP-Lease zu erreichen, bei der dhclientder gesamte Erkennungs- und Konfigurationsprozess (DHCPDISCOVER – DHCPOFFER – DHCPREQUEST – DHCPACK im Gegensatz zum verkürzten DHCPREQUEST – DHCPACK-Zyklus, bei dem ein gespeicherter Wert verwendet wird) erzwungen wird Adresse). Ich benötige dies, um ein Netzwerkkonfigurationsproblem zu beheben.

Ich habe versucht:

  • Entleeren der aktuellen Lease mit dhclient -r, Trennen der aktuellen Network Manager-Verbindung;
  • alle Reste dhclientund dnsmasqProzesse zu töten ;
  • Reinigungsverzeichnis /var/lib/dhcp/, das angeblich die Client-Leasing-Datenbank enthält;
  • sudo restart network-manager.

Aber auch nach diesen Schritten sehe ich in den Protokollen DHCPDISCOVER unmittelbar gefolgt von DHCPREQUEST der irgendwie noch gespeicherten Adresse.

Offensichtlich speichert das Betriebssystem die Adresse auf andere Weise, und mir gehen die Ideen aus. Hilfe von der Community?

ulidtko
quelle
Hast du es herausgefunden. Ich bin auch auf das gleiche Problem gestoßen. Es gibt auch Lease-Dateien unter NetworkManager. Ich habe sie auch gelöscht. Aus irgendeinem Grund nimmt es immer noch die alte Adresse auf.
Prügel

Antworten:

18

Dies hat den Trick für mich gemacht (für eth0, run from sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
Anton Kiselev
quelle
1
Als ich das tat, bekam ich einen neuen Mietvertrag, aber die IP-Adresse scheint nicht vom System verwendet worden zu sein. Wenn ich versuche, den Namen oder die zugehörige IP-Adresse zu pingen, schlägt dies fehl. Wenn ich ifconfigdie aktuelle Adresse überprüfe, kann ich das überprüfen.
TafT
Ändern des rmTeils macht für mich diese Arbeit (ohne dass dies der Stand der Mietvertrag wurde verwendet: dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient* ; dhclient -v eth0)
davejagoda
6

Das DHCP-Client-Programm schreibt die Lease in eine Datei. Löschen Sie einfach die Datei und starten Sie den Netzwerkmanager neu.

/var/lib/dhcp/dhclient.leases

Hier werden die Mietverträge auf meinem Computer gespeichert.

thefourtheye
quelle
2

Was Sie sehen, ist, dass sich Ihr Computer nicht an die IP erinnert. Im Syslog sehen Sie DISCOVER REQUEST OFFER ACK, dies ist jedoch nicht in der Reihenfolge, in der es geschehen ist. Es ging tatsächlich darum, zu bestätigen, dass Sie den Datenverkehr zwischen dem PC und dem vorgelagerten DHCP-Server abhören können. Sie haben ANGEBOT zurückgeschickt. ENTDECKEN Sie, dass der Server ANGEBOT zurückgeschickt hat, und Sie haben die IP aus dem ANGEBOT für Ihre ANFRAGE erhalten

Sie haben jedoch alles richtig gemacht, als Sie "dhclient -r" eingestellt haben. Dhclient sendet eine Unicast-FREIGABE und einige ISPs akzeptieren nur Multicast-Pakete an ihren DHCP-Server. Daher ist die FREIGABE für den Server noch nicht da gültig, so gab es dir die gleiche IP im ANGEBOT zurück.

Matt
quelle
Dank dafür! Ich habe nie verstanden, warum im Protokoll immer ENTDECKEN, ANFRAGEN, ANGEBOTEN, BESTÄTIGEN steht. da die Reihenfolge nie Sinn machte. Nur zu wissen, dass das nicht wirklich der Fall ist, bringt mich weit nach vorne, um mein eigenes Problem herauszufinden. Mein Computer erhält also DHCPOFFERdie IP, die ich nicht möchte, und sagt dann "OK", aber wenn ich ihn zwinge, etwas anderes zu versuchen, sagt der Server DHCPNACK, und ich habe überhaupt kein Netzwerk. Vermutlich ist die Reservierung auf dem Server für den falschen MAC.
Auspex
Ich kann mir nur vorstellen, dass Sie versuchen können, "hwaddress ether xx: xx: xx: xx: xx: xx" in / etc / network / interfaces zu ändern, wenn Ihr ISP es Ihnen erlaubt, Ihren Mac zu ändern, ohne dass Sie ihn anrufen und mitteilen müssen Wenn Ihr Kabelmodem den Mac nicht im laufenden Betrieb ersetzt, sollte der Server Sie als neue Person erkennen und Ihnen eine freie IP-Adresse zuweisen.
Matt
Das Problem war , dass es war mir eine freie IP geben. Und ich habe versucht, ihn zu zwingen, mir den zu geben, der angeblich reserviert war, da der externe DNS auf diesen verweist! Also habe ich dem Netzwerkadministrator die tatsächliche MAC-Adresse gesendet und gefragt, ob er wirklich eine IP für diese MAC reserviert.
Auspex
1

Normalerweise dhclient -rsollte dies der Fall sein. aber wenn das bei dir nicht klappt, habe ich hier eine lösung gefunden :

+ Erneuere eine IP-Adresse einmal:

Hinweis: In diesem Beispiel wird die Schnittstelle eth0 verwendet. Die Schnittstelle muss für DHCP als aktiv konfiguriert sein.

  • Öffne ein Terminal und mache sudo suroot.
  • Geben Sie ein ifconfig, um die aktuelle IP-Adresse anzuzeigen, die Sie von DHCP erhalten haben.
  • Geben Sie dhcpcd -kdie entsprechenden Signale an dhcpcd senden (möglicherweise müssen Sie installieren dhcpcd , indem Sie apt-get install dhcpcd).
  • Rufen Sie nun die Benutzeroberfläche wieder auf, indem Sie Folgendes eingeben ifup eth0.
  • Geben Sie ein ifconfig, um die neue IP-Adresse anzuzeigen.

Es gibt auch einen Abschnitt über die Erneuerung der IP-Adresse jedes Mal, aber die Beschreibung galt für RPM-basierte Distributionen (im Gegensatz zu Debian-basierten Distributionen wie Ubuntu).

Ich hoffe es hilft :)

Seyed Mohammad
quelle