Shared networks and range priority

Enrico Demarin (home) enricod at
Tue May 6 19:52:42 UTC 2008

Hi Simon, thanks for your answer

this particular scenario is a hotspot in a hotel, so address churning 
wont be really an issue since guests come and go ( and in most cases are 
hardly seen again for a long time ), so i guess i would let the lease 
survive after it has been unused for at least to 24 hours before wiping 
it out. The reason we want this behaviour is to minimize problems with 
VPN clients due to NATing.

Is this a parameter that is tunable or is mandated by the RFC ? I could 
have a separated daemon do the housekeeping of the leases file on 
regular intervals ( using the approach you proposed of creating "fake" 
leases for 10.1 addresses  ) , in a nutshell it would :

1) read the leases file
2) create the fake leases for every 10.1 addresses unless a lease for a 
specific address is active and newer than 24 hours
3) wipe out any 48.37 lease inactive for more than 24 hours

I suppose the housekeeping daemon should kill dhcpd before touching the 
leases file, or is there a way to manipulate this file while dhcpd is 
running ?

- Enrico

Simon Hobson wrote:
> Enrico Demarin (home) wrote:
>> I am running a shared network configuration where i have a pool of 
>> public routable addresses  and a pool of private addresses, and I am 
>> wondering if it's possible in any way to define the priority which 
>> the dhcp server will use in offering these addresses.
> No, by defining a shared network you are explicitly telling the server 
> that (in the absence of any controls such as client classing) all 
> defined ranges are equivalent.
>> Given the configuration below, is it possible in any way to have the 
>> dhcp server assign  the addresses from the 48.37 network  first and 
>> begin assigning the addresses of the 10.1 subnet last ?
> If you stop and think about it, that would only work for a short time 
> anyway. If you could get the server to use one range first, it would 
> still go on to use the other range in preference to re-using no longer 
> leased addresses in your first range - that is a specific requirement 
> of the RFCs in order to minimise address churn.

> You can split the usage any way you want provided that you can write 
> an expression to group your clients into classes - but that would be a 
> fixed "this client belongs in this range" type of assignment.
> There is one way in which you could fudge the system to mostly do what 
> you want though, but it's not very elegant of clean ! If you wrote a 
> script to make leases for every 10.1 subnet address then you could 
> have all those addresses marked as having been previously leased. In 
> that case, the server would allocate new leases from the other ranges 
> as long as there were 'never leased' addresses left - after that the 
> server would reclaim and reuse 10.1 addresses.
> You then have a problem - what next ? How long do you allow a public 
> address to be unused before you clean up and delete all record of it's 
> previous use ? When you've done that, do you force clients to switch 
> addresses into the public pool ? How do you do that ? Will you do it 
> to a 'running client' (and thus break all their network connections), 
> or only if they let their lease expire ?
> ------------------------------------------------------------------------
> No virus found in this incoming message.
> Checked by AVG. 
> Version: 8.0.100 / Virus Database: 269.23.9/1416 - Release Date: 5/5/2008 5:11 PM

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the dhcp-users mailing list