DDNS-CONFGEN(8)

πŸ’– DDNS-CONFGEN β€” the ddns key generation tool, bestie πŸ’–

okay so you found ddns-confgen in the BIND 9 manual, section 8, and honestly? she's a little icon whose whole job is making keys so your DNS can trust itself. let's get into it πŸŽ€


✨ NAME ✨

ddns-confgen β€” the ddns key generation tool. that's it, that's her whole personality πŸ¦‹


✨ SYNOPSIS ✨

ddns-confgen [-a algorithm] [-h] [-k keyname] [-q] [-s name] [-z zone]

like, that's the whole invocation. short. sweet. slaying. πŸ’…


🌸 DESCRIPTION 🌸

ddns-confgen is a utility that generates keys for use in TSIG signing. and like, what do you even do with those? bestie, the resulting keys can be used to secure dynamic DNS updates to a zone, or for the rndc command channel. main character security energy tbh πŸ‘‘

the key name can be specified using the -k parameter, and it defaults to ddns-key. no cap, that's the default. and the generated key comes with configuration text and instructions that can be used with nsupdate and named when you're setting up dynamic DNS β€” including an example update-policy statement. so you're not just getting a key, you're getting the whole vibe. 🫢

fyi, this usage is similar to the rndc-confgen command for setting up command-channel security. sisters fr fr.

okay but here's the thing β€” lowkey you might not even need this? note that named itself can configure a local DDNS key for use with nsupdate -l; it does this when a zone is configured with update-policy local;. so ddns-confgen is only needed when a more elaborate configuration is required β€” for instance, if nsupdate is to be used from a remote system. iykyk 😌


✨ OPTIONS ✨

  • -a algorithm β€” this option specifies the algorithm to use for the TSIG key. available choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, and hmac-sha512. the default is hmac-sha256. options are case-insensitive, and the "hmac-" prefix may be omitted. so like, you can be lazy about typing it and she won't judge πŸ’œ
  • -h β€” this option prints a short summary of options and arguments. the "help me bestie" button, basically πŸ™ˆ
  • -k keyname β€” this option specifies the key name of the DDNS authentication key. the default is ddns-key when neither the -s nor -z option is specified; otherwise, the default is ddns-key as a separate label followed by the argument of the option, e.g., ddns-key.example.com.. the key name must have the format of a valid domain name, consisting of letters, digits, hyphens, and periods. no spaces, no chaos, no nonsense ⭐
  • -q β€” this option enables quiet mode, which prints only the key, with no explanatory text or usage examples. this is essentially identical to tsig-keygen. she's giving minimalism, she's giving "i said what i said" πŸ’€
  • -s name β€” this option generates a configuration example to allow dynamic updates of a single hostname. the example named.conf text shows how to set an update policy for the specified name using the "name" nametype. the default key name is ddns-key.name. note that the "self" nametype cannot be used, since the name to be updated may differ from the key name. this option cannot be used with the -z option. pick a lane, bestie πŸ¦‹
  • -z zone β€” this option generates a configuration example to allow dynamic updates of a zone. the example named.conf text shows how to set an update policy for the specified zone using the "zonesub" nametype, allowing updates to all subdomain names within that zone. this option cannot be used with the -s option. again β€” one or the other, not both, periodt πŸ”₯

🌈 SEE ALSO 🌈

go read them, they're literally right there, i believe in you 🧚


πŸ‘‘ AUTHOR πŸ‘‘

Internet Systems Consortium β€” the og, the blueprint, the whole reason this page exists πŸŽ€


2026, Internet Systems Consortium


so yeah, that's the whole page!! πŸ’– she's BIND 9 version 9.20.29, dated 2026-09-11, and honestly she ate and left absolutely no crumbs. go generate some keys, bestie β€” you've got this πŸ“βœ¨πŸ¦‹πŸ’…

πŸ“¦ where this page comes from