For what it's worth, I'm using the script below in /etc/init.d/local-leases to copy the leases file back and forth. This only works because eth0 is the only interface using DHCP for me, although I do have some untested sh and sed code to split and recombine the separate files.
---------- #!/bin/sh perm=/var/lib/dhcp3/dhclient.leases temp=/var/run/dhclient.eth0.leases case "$1" in start) cp -u "$perm" "$temp" ;; stop) cp -u "$temp" "$perm" ;; esac ---------- This was installed with: update-rc.d local-leases start 39 S . start 36 0 6 . It seems to me that ifup shouldn't pass the -lf option at all, letting dhclient3 manage its own leases. If there are problems with this, it should at least use a permanent directory like /var/lib/ifupdown/dhclient.%iface%.leases or /etc/network/run/dhclient.%iface%.leases. -- Quis custodiet ipsos custodes?