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
This is simple:
Actually, there are (somewhat unusual) situations in which
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
will fetch you a new, different address.
dhclient should do it.