The environment is Debian, although the answer will apply to all distributions.
-
This is now a community wiki. Feel free to contribute any other methods that works. – GeneQ Jul 20 '09 at 2:29
You can also use this command:
dhclient -r interface
Where interface
is the device you want to get a new address for.
dhclient -r eth0
The -r
flag forces dhclient
to first release any leases you have, you can then use this command to request a new lease:
dhclient eth0
From man dhclient
:
-r Tell dhclient to release the current lease it has from the
server. This is not required by the DHCP protocol, but some
ISPs require their clients to notify the server if they wish
to release an assigned IP address.
Either of the following should get it to renew.
/etc/init.d/networking restart
or
ifdown eth0; ifup eth0
I wouldn't recommend running either over an SSH connection, although you'll probably get away with the first one if it doesn't come back with a new ip address.
-
1SSH connections will tolerate a few seconds of "disconnect" provided that you get the connection back up in a few seconds at the same IP address. Under these conditions, I have never lost a connection during
/etc/init.d/networking restart
, even when it was taking more than 5 seconds to come back up... – Avery Payne Jul 20 '09 at 2:58 -
Would comment p.campbell, but I have only 1 reputation and therefore cannot, first I review installed interfaces:
ip addr
release IP from selected interface (e.g. eth0, eth1, enp1s0, sit0, wlan0,...):
sudo dhclient -r *interface*
request new IP from DHCP server (alert on error):
sudo dhclient -1 *interface*
check IP:
ip addr
Ubuntu 16.04 LTS confirmed
-
Am baffled why this isn't the accepted answer. But this works, assuming a working DHCP server. – Chaim Eliyah Dec 28 '19 at 6:53
If you're using the dhcpcd
tool then:
dhcpcd -k interface
dhcpcd interface
The first says to stop the daemon, and the second says to start it again.
If the MAC address of the interface isn't changed, the DHCP server may assign it the same address when renewing. Therefore, a simple release and renew with dhclient may not acquire a new address. Change the MAC address and acquire a new IP address with the following commands. Don't forget to write the original down if you need to revert back to it at a later time.
ifconfig <interface> down
ifconfig <interface> hw ether <MAC address>
ifconfig <interface> up
-
This was so helpful, thank you! No number of
dhclient -r
orifconfig down
gave me a new IP address on my work network, until I changed the MAC address to something random using that command. – Migwell Nov 19 '19 at 0:48 -