PDNS_CONTROL(1)

πŸ’– NAME πŸ’–

okay so bestie, this is pdns_control β€” the little remote-control for the PowerDNS nameserver. think of it as the group chat where you text your nameserver and it actually listens. ✨


✨ SYNOPSIS ✨

pdns_control [OPTION]... COMMAND

🌸 DESCRIPTION 🌸

pdns_control is literally how you send commands to a PowerDNS nameserver that's already out there running. that's the whole job. it pings the server, the server does the thing. no cap. πŸ’…


πŸ’… OPTIONS πŸ’…

  • --help β€” shows you a summary of all the options, like a lil cheat sheet.
  • --chroot=<DIR> β€” the directory where PowerDNS is chrooted. that's the little bubble it lives in.
  • --config-dir=<DIR> β€” where the configuration directory lives (that's the one with pdns.conf in it).
  • --config-name=<NAME> β€” the name of this virtual configuration β€” it'll rename the binary image. yes fr.
  • --remote-address=<ADDRESS> β€” the remote address you wanna query.
  • --remote-port=<PORT> β€” the remote port you wanna query.
  • --secret=<SECRET> β€” the secret you need to connect to a remote PowerDNS. it's giving backstage pass. πŸ”
  • --socket-dir=<DIR> β€” where the controlsocket lives. that's the lil doorway you knock on.

πŸŽ€ COMMANDS πŸŽ€

bind-add-zone ZONE FILENAME

when you're using the BIND backend, this adds a zone. it goes in in-memory and gets served immediately, so it's instant gratification bestie. important tho: this does not add the zone to the bind-config file. and FILENAME has to be an absolute path, no shortcuts. 🫢

bind-domain-extended-status [ZONE...]

outputs an extended status of all zones β€” and it's giving much more info than the simple zone status. think: the number of records currently loaded, whether pdns is primary or secondary for the zone, the list of primaries, various timers, etc. optionally, append ZONEs to get the status of specific zones only. 🌟

bind-domain-status [ZONE...]

when you're using the BIND backend, this lists the status of all zones. optionally append ZONEs to get the status of specific zones. the low-key version of the one above.

bind-list-rejects

when you're using the BIND backend, this gets you a list of all rejected zones. the reject pile. πŸ’€

bind-reload-now ZONE [ZONE...]

when you're using the BIND backend, this immediately reloads ZONE from disk. right now. no waiting. πŸ”₯

ccounts

shows you the content of the cache.

current-config [diff]

shows the currently running configuration. the output has the same format as pdns_server --config. and with the diff option, only the modified options make it into the output. so if you just wanna see what changed, that's your girl.

cycle

restarts the nameserver so it reloads its configuration. ⚠️ only works when the server is running in guardian mode.

list

dumps all statistics and their values in a comma separated list β€” same thing as show *.

list-zones [primary,secondary,native]

shows a list of zones, and you can optionally filter on the type of zones to show. pick your flavor.

notify ZONE

adds ZONE to the notification list, which makes PowerDNS send out notifications to the nameservers of a zone. use it when a secondary missed previous notifications or is just generally hard of hearing. use * to notify for all zones. (note: you may need to escape the * sign in your shell, so it doesn't get eaten before it reaches anyone.) πŸ“£

notify-host ZONE ADDRESS

same as above, but with an operator-specified IP ADDRESS as the destination β€” for when you know better than PowerDNS does. main character energy, honestly.

ping, rping

checks if the server is still alive. returns 'PONG' when it is. πŸ“ ping works when you're running inside a guardian, whereas rping works when you're running without a guardian.

purge [RECORD]

purges entries from the cache. if RECORD ends with a dollar ($), then all entries that end with that name get removed. if you don't specify a record at all, the entire cache gets purged. bye bye everything. 🧹

qtypes

gets you a count of queries per qtype, printed on standard output.

quit or stop

tells a running pdns_server to quit. 😭

rediscover

instructs backends that new zones may have appeared in the database β€” or, in the case of the BIND backend, in named.conf.

reload

tells the server to reload all its zones. heads up: this will not add new zones. it's a refresh, not a glow-up.

remotes

gets you the top number of remote addresses (the clients).

respsizes

gets you a histogram of the response sizes. πŸ“Š

retrieve ZONE [IP]

retrieves a secondary ZONE from its primary. happens nearly immediately. if IP is specified, then the retrieval is forced from that specified IP. and the port may be specified in an AFI specific manner.

set VARIABLE VALUE

sets the configuration parameter VARIABLE to VALUE. currently only the query-logging can be set. that's it, that's the list. πŸ’…

show STATISTIC

shows a single statistic, exactly as it appears in the output of the list command.

show STATISTIC-PREFIX*

shows all statistics whose names start with the supplied STATISTIC-PREFIX, as a comma-separated list. only one wildcard is allowed, and it has to be at the end. so *-in-the-middle is not the vibe.

status

shows usage statistics. ⚠️ this only works if the server is running in guardian mode.

token-login MODULE SLOT PIN

logs on to a PKCS#11 slot. you only need to log in once per slot, even if you have multiple keys on a single slot. πŸ”‘ only available if PowerDNS was compiled with PKCS#11 support.

uptime

shows the uptime of the running server. how long has this queen been awake.

version

prints the version of the running pdns daemon.


πŸ¦‹ SEE ALSO πŸ¦‹

  • pdns_server (1)
  • pdnsutil (1)

πŸ‘‘ AUTHOR πŸ‘‘

PowerDNS.COM BV


PowerDNS.COM BV


okay that's the whole page bestie, go forth and control your nameserver responsibly πŸ’–βœ¨

this has been the PDNS_CONTROL manual, page 1, from the PowerDNS Authoritative Server, dated Aug 05, 2026 β€” periodt. πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from