One DHCP Server, Multiple routed subnets, roaming clients

Glenn Satchell Glenn.Satchell at
Tue Oct 27 23:25:48 UTC 2009

Hi James

Just to recap, you want fixed-address in some subnets, and dynamic in
others for the same host? You need two host declarations, one with a
comma separated list of fixed-address and a second host declatation
with *no* fixed-address statement. The name of the host declration
needs to beunique, so something like this:

# RoamingSystem1
host RoamingSystem1 {
	hardware ethernet 00:25:4B:9B:28:F1;
	ddns-hostname "RoamingSystem1";
	option host-name "RoamingSystem1";
# RoamingSystem1
host RoamingSystem1-dynmic {
	hardware ethernet 00:25:4B:9B:28:F1;
	ddns-hostname "RoamingSystem1";
	option host-name "RoamingSystem1";

dhcpd will only offer one of the fixed addresses if it is valid for the
subnet where hte DHCPDISCOVER came from. otherwiseit will use a dynamic
address. In both cases the client is "known" due to the existance of
the host statement.

Remember that dhcp doesn't enforce security, someone could still walk
in off the street and rather than using dhcp they could manually set
the IP address and router and connect.


>Date: Tue, 27 Oct 2009 18:59:52 +0000
>To: Users of ISC DHCP <dhcp-users at>
>From: Simon Hobson <dhcp1 at>
>Subject: Re: One DHCP Server, Multiple routed subnets, roaming clients
>X-BeenThere: dhcp-users at
>James Jalbert wrote:
>>I have a DHCP server in my main building. This building also 
>>connects to 6 other building through a WAN. I have one DHCP Server 
>>(Ubuntu server9.04, DHCP 3.1) with multiple subnet decelerations, 
>>and one large host file, added with an include. Everything works 
>>great. I have machines that roam between buildings, and as long as I 
>>use comma separated fixed address, everything works great.
>>Now I would like to be able to set up the server so that, if a 
>>machine has a deceleration with a fixed address, but is requesting 
>>an ip form another building, it would be assigned a dynamic address, 
>>however if there is no Host deceleration(an unknown client) it will 
>>not be assigned any address.
>Try this :
>   pool {
>     range .... ;
>     allow known clients;
>   }
>If a client doesn't have a host declaration then it is not known, and 
>will be denied a lease. If it does have a host declaration then it is 
>known, and will get a dynamic address (unless it has a fixed address 
>valid in the subnet).
>Simon Hobson
>Visit for books by acclaimed
>author Gladys Hobson. Novels - poetry - short stories - ideal as
>Christmas stocking fillers. Some available as e-books.
>dhcp-users mailing list
>dhcp-users at

More information about the dhcp-users mailing list