How to renew dhcp ip address in ubuntu?

Solution 1:

This is simple:

$ dhclient -r    #release current address
$ dhclient eth0  #ask for new address

Solution 2:

Actually, there are (somewhat unusual) situations in which

$ dhclient -r
$ dhclient

is not sufficient.

If the client thinks it already has a valid lease, it will use it, even if the DHCP server would have given it a different address. This can be confusing.

For instance, if you go from a dynamically allocated IP address to a static (and different) IP address for a given client, then (at least on Ubuntu 10.04, and possibly generally) $dhclient -r and $dhclient isn't sufficient. Because the old lease is still valid, the client will just use that.

This can lead to your DHCP server thinking the IP address for your host should be one thing, and your host thinking a different thing. Chaos reigns.

To fix this, you first have to go and delete any dhclient.leases files from /var/lib/dhcpd/ (or /var/lib/dhcp3), where the client stores its valid leases.

Then

$ dhclient -r
$ rm /var/lib/dhcp/dhclient*    # might be in a different place on your machine
$ dhclient

will fetch you a new, different address.

Solution 3:

dhclient should do it.