https://redmine.pfsense.org/issues/6667
Instead of manually copying the file to /conf, you could install the cron package and back up the duid file every hour. Because the file shouldn't change once created, and performing all kinds of extra writes to a CF or SSD is A Bad Thing, I use "-n" (no clobber) to make the backup.
I have the following cron job:
* */1 * * * root /bin/cp -n /var/db/dhcp6c_duid /conf/dhcp6c_duid
…and the shellcmd setting (copying from /conf/ instead of from /conf/dhcp/) above.
(This should be improved to use "cp -f" if the timestamp of the copy in /var is newer than the backup. In most linux distros, the "-u" parameter to cp would take care of that, but I don't see an equivalent in freebsd cp.)
The whole idea is that a user could still manually delete the duid file if they needed to "fix" a broken duid (or get a new lease or something.) If that happens, you'd want a new backup taken. If DUID changes, update the backup. Else, don't write to it.
Of course, it'd be better still if backing up the duid file was incorporated into the scripts that backup (and restore) the dhcp leases automatically.