Wie erneuere ich meine DHCP-Lease?

56

Wie kann ich nach einem Neustart meine DHCP-Lease freigeben und erneuern? Es wäre nützlich, eine GUI und eine Terminalmethode zu kennen.

Ich würde besonders gerne wissen, ob es eine Möglichkeit gibt, dies zu tun, ohne Administratorrechte zu benötigen.

ændrük
quelle

Antworten:

18

In der Dropdown-Liste "Netzwerk" in der Taskleiste können Sie auf das Netzwerk drücken, mit dem Sie bereits verbunden sind. Dadurch wird der Netzwerkmanager aufgefordert, ein neues Lease von einem DHCP-Server zu beantragen.

Alt-Text

(Dies funktioniert auch für kabelgebundene Netzwerke, aber ich glaube nicht, dass es für PPP-Verbindungen (mobiles Breitband) funktioniert.)

LassePoulsen
quelle
47

So verlängern Sie Ihren DHCP-Mietvertrag am Terminal:

sudo dhclient -r; sudo dhclient
Sebastian Thürrschmidt
quelle
10
Ich denke, es sudo service networking restartist ein besserer Weg. Was Sie vorschlagen, hat auf einer 11.10-Box mit dhclient3 bei mir nicht funktioniert. Stattdessen wurden zwei DHCP-Clients ausgeführt: einer dhclient3und einer dhclient. Siehe ubuntuforums.org/showthread.php?t=1868368
Adam Monsen
@AdamMonsen Funktioniert der Neustart des Netzwerkdienstes tatsächlich mit NetworkManager?
Rakslice
1
@AdamMonsen Neustart des Netzwerks scheint nicht die DHCP-Lease für mich zu erneuern
dogmatic69
sudo service network-manager restartIn Ubuntu 13.10 scheint der 64-Bit-Desktop das Netzwerk neu zu starten und meine DHCP-Lease zu erneuern. (Von askubuntu.com/a/230751/2273 )
Adam Monsen
4
Nützlich für das Debuggen: Unter Ubuntu 14.04 wurde sudo service network-manager restartdie IP-Lease von DHCP nicht vollständig erneuert. Es wird nur ein DHCP- RequestPaket anstelle von a gesendet Discover. Wenn Sie nur Ihre Lease verlängern möchten, reicht dies aus. Wenn Sie jedoch DHCP debuggen, möchten Sie die ursprüngliche Lösung verwenden.
Gerlos
31

In meinem Fall musste ich angeben, welche Karte erneuert werden soll:

Geben Sie zuerst die aktuelle IP-Adresse frei:

sudo dhclient -r eth0

Erneuern Sie dann die IP-Adresse

sudo dhclient eth0
Daniel Mora
quelle
3
Dies ist die richtige Antwort, wenn Sie mehr als eine Schnittstelle haben.
Tek
Besser: Verbinden Sie die Befehle mit UND - sudo dhclient -r enp7s0 && sudo dhclient enp7s0(ersetzen Sie sie durch Ihr eth-Netzwerkgerät)
am
Bitte editieren Sie diese Antwort, um diese zusammenzufügen. Ich wurde gerade von einer Remote-Box geworfen, die diese separat ausprobiert hat.
Graham Russell
8

Maverick wird mit nmclieiner Befehlszeilenschnittstelle zum Netzwerkmanager geliefert.

Ich kann keine einfache Methode finden, um einen Mietvertrag zu verlängern.

nmcli con

Ruft eine Verbindungsliste ab und führt Folgendes aus:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'

Beendet und sichert die Verbindung. Möglicherweise können Sie stattdessen ähnliche Aktionen mit dem Gerät ausführen.

Die Verbindungsliste scheint alle Verbindungen zu enthalten, daher funktioniert dies wahrscheinlich auch mit PPTP- und VPN-Verbindungen.

Matt
quelle
1
Mein DHCP-Server zeigt immer noch die Lease dort ... (Ich versuche, eine Freigabe zu erzwingen, damit eine statische Zuweisung wirksam wird)
Gert van den Berg
8

Dies funktioniert auf Ubuntu 12.04 LTS:

sudo service network-manager restart

Wenn ich das tue, fragt Network Manager nach einer neuen DHCP-Lease.

Ich ziehe es vor, manuell (neu) zu starten, dhclientda ich Probleme mit veralteten Dhclient-Prozessen (die nicht von Network Manager verwaltet werden) hatte und meine Netzwerkeinstellungen an zufälligen Punkten falsch konfiguriert habe, wenn dies am unpraktischsten ist.

Marius Gedminas
quelle
1
Immer noch relevant für Ubuntu 16.04. dhclient -rnur im stillen macht das nichts mit einem erfolgreichen exit code anders. :-(
Studog
Das hat am 18.04 geklappt!
Roel Van de Paar
3

Wenn Sie auf einer systemdUbuntu-basierten Version ohne GUI (dh Serverversion) arbeiten, können Sie die DHCP-Lease folgendermaßen verlängern:

sudo systemctl restart systemd-networkd

Hinweis: Wenn Sie über die Schnittstelle verbunden sind, deren DHCP-Lease Sie erneuern, wird möglicherweise die Verbindung getrennt, es sei denn, Sie sind über eine statisch konfigurierte Schnittstelle oder die Konsole verbunden.

Pierz
quelle
Ich habe dies mit einem dhcpdumpanderen Terminal getestet . Schien nicht zu funktionieren, nur dhclientso.
Pablo A
1

Nachdem ich gerade ein Upgrade auf Maverick Meerkat Beta 1 durchgeführt habe, ist in meiner Standard-Vanilla-Eth0-Konfiguration etwas kaputt gegangen, das ich noch nicht getestet habe. Der schnelle und schmutzige Workaround war

sudo dhclient

die bemerkt, dass es bereits einen (möglicherweise toten) Kunden gibt und erhält einen neuen Mietvertrag:

There is already a pid file /var/run/dhclient.pid with pid 2436
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Listening on LPF/eth0/00:1a:92:24:9c:85
Sending on   LPF/eth0/00:1a:92:24:9c:85
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.2 from 192.168.2.1
bound to 192.168.2.2 -- renewal in 118389830 seconds.

Dies ist kein Fix, nur ein Hack. Ich werde nachfassen, wenn ich weiß, was schief gelaufen ist.

msw
quelle
1

Fehlt diese spezifische Fähigkeit über nmcli, glaube ich , die beste CLI - Lösung zu lösen ist und töten die dhclient Instanz von Networkmanager verwaltet werden , anstatt eine neue zu starten. NM wird es dann automatisch wieder hochfahren, ohne dass die gesamte NM-Infrastruktur neu gestartet werden muss.

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v - Machen Sie ausführlich
  • -r - loslassen und ausschalten
  • -pf - PID-Datei der NM-Instanz
Niklas Holm
quelle