Questions about dhcpd.leases file

Klemen Sladic gosturnca at gmail.com
Wed Feb 14 19:50:37 UTC 2018


Simon, thank you very much for your explanation, it is really helpful.

I may have to slightly re-design my script. Best way I see is using
arguments as Bob also suggested.

Thanks again.

Klemen

On Tue, Feb 13, 2018 at 10:57 AM, Simon Hobson <dhcp1 at thehobsons.co.uk>
wrote:

> Klemen Sladic <gosturnca at gmail.com> wrote:
>
> > 1. What is the difference between dhcpd.leases and dhcpd.leases~ files?
>
> The latter is the previous file. Periodically (compiled in 1 hour by
> default) the server will write out a fresh leases file, move the old one
> (that's the one with ~ appended to it's name), and the new file moved into
> place. It's done that way so that if an error occurs, you haven't just
> over-written the only copy of the file !
>
> > 2. My dhcpd.leases parsing script is executed on commit, like:
> >
> > subnet 192.168.0.0 netmask 255.255.255.0
> > {
> >    interface "eth0";
> >    range 192.168.0.1 192.168.0.100;
> >    option routers 192.168.0.254;
> >    on commit {
> >       execute("/home/user/leases_parse.sh");
> >    }
> > }
> >
> > Can I assume that dhcpd.leases has already been updated with latest
> lease when my script is executed?
>
> Don't know. It's required that the leases file is updated before sending
> teh packet to the client, but I don't know if it's defined at what point
> the on commit is executed.
>
> > 3. Is a new lease always appended at the end of dhcpd.leases file?
>
> Yes
>
> > 4. On renew is a new lease block always added at the end or is existing
> block updated?
>
> Yes. A lease is never updated in-place - a new record is appended to the
> leases file which is why you will see several entries for some clients.
> Obviously this append only method needs a cleanup from time to time - see 1
> above.
>
> BTW, there are some things you need to be aware of.
>
> AIUI "on xxxx" scripts are not executed asynchronously - hence running
> your script has the ability to severely compromise the performance of your
> DHCP service.
> If you are running the script to parse the lease that's just been written,
> can you obtain the information from within the server ? Eg build a log
> statement and then just tail the log file ?
> Can values be passed in the on xxxx call ? I don't know, but if they can
> then that might save you have to parse the file.
>
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20180215/8e9a851c/attachment.html>


More information about the dhcp-users mailing list