DTINITCONF(1)
π dtinitconf β the DNSSEC-Tools config file generator, bestie edition π
okay so picture this: you're in the DTINITCONF(1) section of the manual (User Contributed Perl Documentation, if we're being fancy β¨) and you need a DNSSEC-Tools configuration file. That's literally what dtinitconf is here for. Let's get into it π«Ά
β¨ NAME β¨
dtinitconf β creates a DNSSEC-Tools configuration file. that's it. that's the whole job. she's iconic and she knows it π
πΈ SYNOPSIS πΈ
dtinitconf [options]
π¦ DESCRIPTION π¦
So the dtinitconf program initializes the DNSSEC-Tools configuration file. By default, the actual configuration file gets created β like, the real one β though you can tell her to create a file you specify instead. And here's the respectful part: existing files, whether it's the default one or one you named yourself, will not be overwritten unless you specifically direct her to do it. she's not gonna stomp on your stuff without permission, periodt π
Every single configuration field can be individually specified on the command line. But also? She'll prompt you for the fields too, with default values pulled straight from the DNSSEC-Tools defaults.pm module. And if you hand her the -noprompt option, then a default configuration file gets created (modulo whatever you passed on the command line, of course) with zero chatting. no small talk, just vibes π
Configuration entries get created for several BIND programs, and finding those programs is a whole little journey π§ So: several locations on the system get searched to find where these programs live. First, the directories in the path environment variable get checked, and the names of any directories that contain the BIND programs are saved. Next, several common locations for BIND programs get checked, and again β the names of directories that contain the BIND programs are saved. After collecting all these directories, the user gets presented with this list and may choose to use whichever set is desired. A little menu moment, very choose-your-own-adventure β And if no directories are found that contain the BIND programs at all? Then the user gets prompted for the proper location. no cap, she'll just ask π₯
Now the directory situation, because this part matters π
If the configuration file's parent directory does not exist, then an attempt is made to create the directory. The new directory's ownership will be set to root for the owner and dnssec for the group β assuming the dnssec group exists. And heads up: writability checks for the directory will not be performed if the -outfile option is given.
π real talk on that last bit: pass -outfile and those writability checks just don't happen. that's the documented behaviour, not me being dramatic.
πΈ OPTIONS πΈ
ok so dtinitconf has a whole pile of options and they all control what ends up in your brand-new DNSSEC-Tools configuration file π. Every single entry in that config file has a matching command-line option, bestie β one-to-one, no cap. They're listed below in logical little groups so it's not complete chaos β¨
π Key-related Options π
these ones are all about creating and managing your encryption keys π
-algorithmalgorithm β picks the crypto algorithm. the value has to be one that thednssec-keygenyou've actually got installed recognizes, so no inventing algorithms, bestie π«Ά-kskcountKSK-count β the default number of KSK keys that get created for a zone.-ksklengthkeylen β the default KSK key length that gets handed off todnssec-keygen.-ksklifelifespan β the default gap between KSK rollovers, measured in seconds. has to sit inside the range set byminlifeandmaxlife.
ok so important: this value is only used for key rollover. keys do not have a life-time in any other sense. like, don't go thinking your key expires, it doesn't π
-maxlifemaxlifespan β the maximum gap between key rollovers, in seconds.ksklifeandzsklifeboth have to be not greater than this.
same deal: only used for key rollover. keys do not have a life-time in any other sense.
-minlifeminlifespan β the minimum gap between key rollovers, in seconds.ksklifeandzsklifeboth have to be not less than this.
again: only used for key rollover. keys do not have a life-time in any other sense β¨
-zskcountZSK-count β the default number of ZSK keys created for a zone.-zsklengthkeylen β the default ZSK key length passed todnssec-keygen.-zsklifelifespan β the default gap between ZSK rollovers, in seconds. must be within the range ofminlifeandmaxlife.
and yes: only used for key rollover. keys do not have a life-time in any other sense π
-randomrandomdev β the random device generator to pass along todnssec-keygen.
π Zone-related Options π
these deal with signing your zones, mwah π
-endtimeendtime β the zone's default expiration time, passed todnssec-signzone.
π§ trustman-related Options π§
the trustman side of things, iykyk π
-genroothintsroothints β makes a brand-newroot.hintsfile at the location you specify.dtinitconfrequires that the file not already exist π theroot.hintsfile is fetched fromhttp://www.internic.net/zones/named.root. ifdtinitconfcan't fetch it, that is not considered a fatal error β instead you get a warning message and creation of the config file just keeps on going. resilient queen π-ta-contactemail β the email address of the trustman administrator.-ta-resolvconfresolvconffile β where theresolv.conffile lives.-ta-smtpserverhostname β the SMTP server for thetrustmancommand.-ta-tmpdirhostname β the temporary directory for thetrustmancommand.
π¦ BIND Options π¦
BIND-specific functionality, very much its own thing β
-rndcrndc-path βrndcis the path to BIND'srndccommand.
π DNSSEC-Tools Options π
all the DNSSEC-Tools-flavoured knobs and dials π
-adminemail-address βadminis the email address of the DNSSEC-Tools administrator. this is the default address used by thedt_adminmail()routine.-archivedirdirectory βdirectoryis the archived-key directory. old encryption keys get moved here, but only if they're supposed to be saved and not deleted π¦-autosignβ a flag sayingrollerdshould automatically sign zonefiles it finds are newer than their signed zonefile. if you specify-noautosign, this gets set to false.-binddirdirectory βdirectoryis the directory holding the BIND programs. if you pass the reserved word"path", then the existence of the BIND programs is not verified whendtinitconfruns β instead, the user'sPATHdirectories get searched for the BIND programs when the DNSSEC-Tools are executed. sneaky but valid β¨-dtdirdirectory βdirectoryis the directory holding the DNSSEC-Tools programs. same reserved-word situation: pass"path"and the existence of the DNSSEC-Tools programs isn't verified whendtinitconfruns β the user'sPATHdirectories get searched for them when those tools are executed.-entropy_msgβ a flag sayingzonesignershould display a message about entropy generation. this is primarily dependent on how a system's random number generation is implemented π₯-mailer-serverhost β the mail server thatdt_adminmail()will contact. this gets passed toMail::Send.-mailer-servermailtype β the mail type thatdt_adminmail()will contact. this gets passed toMail::Mailer(by way ofMail::Send). any valuesMail::Mailerrecognizes are fair game here π«Ά-noentropy_msgβ a flag sayingzonesignershould not display a message about entropy generation. again, primarily dependent on the system's random number generation implementation.-roll-loadzone,-no-roll-loadzoneβ flags saying whetherrollerdshould have the DNS daemon load zones, or not.-roll-logfilelogfile βlogfileis the logfile for therollerddaemon.-roll-loglevelloglevel βloglevelis the logging level for therollerddaemon.-roll-phasemsglength βlengthis the default length of phase-related log messages used byrollerd. valid levels are"long"and"short", and"long"is the default π the long message length means a phase description gets included with some log messages. example: the long form of a message about ZSK rollover phase 3 looks like"ZSK phase 3 (Waiting for old zone data to expire from caches)". the short message length means a phase description does not get included with some log messages. example: the short form of that same message looks like"ZSK phase 3".-roll-sleeptimesleep-time βsleep-timeis the sleep-time for therollerddaemon.-roll-usernameusername βusernameis the user therollerddaemon will be executed as. if it's a username, it has to correspond to a valid uid; if it's a uid, it has to correspond to a valid username. both directions, no exceptions π€-roll-logtzlogtz βloglevelis the timezone of the message timestamp forrollerd's logfile. (yes, the manpage saysloglevelthere β we're keeping it exactly as written, bestie π)-zoneerrserror-count βerror-countis the maximum error count for zones, used by therollerddaemon.-savekeysβ a flag saying old keys should be moved to the archive directory.-nosavekeysβ a flag saying old keys should not be moved to the archive directory, and instead get left in place.-useguiβ a flag saying the GUI for specifying command options may be used π±οΈ-nouseguiβ a flag saying the GUI for specifying command options should not be used.-zoneparserparser-module βparser-moduleis the name of the Perl module used to parse zone files. the default is specified indnssec_tools_default().
π dtinitconf Options π
and these ones are dtinitconf's very own, main character energy π
-outfileconffile β the config file gets written toconffile. if you don't give this, the default config file gets used (the one returned byNet::DNS::SEC::Tools::conf::getconffile()). ifconffileis given as-, then the new config file gets written to standard output πconffilemust be writable.-overwriteβ with-overwrite, existing output files may be overwritten. without it, if the output file already exists thendtinitconfgives you an error message and exits πͺ-nopromptβ with-noprompt, you don't get prompted for any input at all. the config file gets built purely from command-line options and DNSSEC-Tools defaults. guesses get made for the BIND paths, based on thePATHenvironment variable.
β οΈ WARNING: after using the -noprompt option, the configuration file must be checked to make sure the defaults are appropriate and acceptable for the installation. like, actually check it, bestie, don't just vibe and hope π
-templateβ with-template, a default config file gets created β but every single entry is commented out π the only command line options you may use alongside-templateare-outfileand-overwrite.-editβ with-edit, the output file gets edited after it's been created. theEDITORenvironment variable is consulted for which editor to use. ifEDITORisn't defined, then thevieditor is used.-verboseβ give verbose output π£οΈ-Versionβ displays the version info fordtinitconfand the DNSSEC-Tools package.-helpβ display a usage message and exit.
π COPYRIGHT π
Copyright 2006-2014 SPARTA, Inc. All rights reserved. see the COPYING file that comes with the DNSSEC-Tools package for the details π«Ά
β¨ AUTHOR β¨
Wayne Morrison, tewok@tislabs.com β ty Wayne π
π SEE ALSO π
dnssec-keygen(8),dnssec-signzone(8),named-checkzone(8),keyarch(8),rollckk(8),rollerd(8),zonesigner(8)Net::DNS::SEC::Tools::conf.pm(3),Net::DNS::SEC::Tools::defaults.pm(3),Net::DNS::SEC::Tools::dnssectools.pm(3),Net::DNS::SEC::Tools::tooloptions.pm(3),QWizard.pm(3)dnssec-tools.conf(5)
aaaand that's the whole page, bestie π¦ for the record this was perl v5.44.0, dated 2026-10-17, and it's DTINITCONF(1) β go forth and configure your DNSSEC-Tools, you absolute icon π
β¨π
π¦ where this page comes from
- arch rolling: dnssec-tools 2.2.3-16 Β· BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms