logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pdnsutil - PowerDNS record and DNSSEC command and control

Author

       PowerDNS.COM BV

Commands

       There are many available commands, this section splits them up into their respective uses

Debugging Tools

backend-cmdBACKENDCMD[CMD...]
              Send a text command to a backend for execution.  GSQL  backends  will  take  SQL  commands,  other
              backends may take different things. Be careful!

       bench-db[FILE]
              Perform  a  benchmark  of  the backend-database.  FILE can be a file with a list, one per line, of
              zone names to use for this.  If FILE is not specified, powerdns.com is used.

Description

pdnsutil  (formerly  pdnssec) is a powerful command that is the operator-friendly gateway into DNSSEC and
       zone management for PowerDNS.  Behind the scenes, pdnsutil manipulates a PowerDNS backend database, which
       also means that for many databases, pdnsutil can be run remotely,  and  can  configure  key  material  on
       different servers.

Name

       pdnsutil - PowerDNS record and DNSSEC command and control

Options

-h, --help
              Show summary of options

       -v, --verbose
              Be more verbose.

       --force
              Force an action

       --config-name<NAME>
              Virtual configuration name

       --config-dir<DIR>
              Location of pdns.conf. Default is /etc/powerdns.

Other Tools

b2b-migrateOLDNEW
              Migrate data from one backend to another.  Needs launch=OLD,NEW in the configuration.

       ipencryptIP-ADDRESSpassword
              Encrypt an IP address according to the 'ipcipher' standard

       ipdecryptIP-ADDRESSpassword
              Decrypt an IP address according to the 'ipcipher' standard

See Also

       pdns_server (1), pdns_control (1)

Synopsis

       pdnsutil [OPTION]... COMMAND

Zone Manipulation Commands

add-recordZONENAMETYPE[TTL]CONTENT
              Add one or more records of NAME and TYPE to ZONE with CONTENT and optional TTL. If TTL is not set,
              default will be used.

       add-autoprimaryIPNAMESERVER[ACCOUNT]
              Add a autoprimary entry into the backend. This enables receiving zone updates from other servers.

       remove-autoprimaryIPNAMESERVER
              Remove an autoprimary from backend. Not supported by BIND backend.

       list-autoprimaries
              List all autoprimaries.

       create-zoneZONE
              Create an empty zone named ZONE.

       create-secondary-zoneZONEPRIMARY[PRIMARY]...
              Create   a  new  secondary  zone  ZONE  with  primaries  PRIMARY.  All  PRIMARYs  need  to  to  be
              space-separated IP addresses with an optional port.

       change-secondary-zone-primaryZONEPRIMARY[PRIMARY]...
              Change the primaries for secondary zone ZONE to new primaries PRIMARY. All PRIMARYs need to to  be
              space-separated IP addresses with an optional port.

       check-all-zones
              Check all zones for correctness.

       check-zoneZONE
              Check zone ZONE for correctness.

       clear-zoneZONE
              Clear the records in zone ZONE, but leave actual zone and settings unchanged

       delete-rrsetZONENAMETYPE
              Delete named RRSET from zone.

       delete-zoneZONE
              Delete the zone named ZONE.

       edit-zoneZONE
              Opens  ZONE in zonefile format (regardless of backend it was loaded from) in the editor set in the
              environment variable EDITOR. if EDITOR is empty, pdnsutil falls back to using editor.

       get-metaZONE[ATTRIBUTE]...
              Get zone metadata. If no ATTRIBUTE given, lists all known.

       hash-password[WORK-FACTOR]
              This convenience command asks for a password and returns a hashed and salted version, for use as a
              webserver password or api key.  An optional scrypt work factor can be specified, in power of  two,
              otherwise it defaults to 1024.

       hash-zone-recordZONERNAME
              This convenience command hashes the name RNAME according to the NSEC3 settings of ZONE. Refuses to
              hash for zones with no NSEC3 settings.

       increase-serialZONE
              Increases the SOA-serial by 1. Uses SOA-EDIT.

       list-keys[ZONE]
              List  DNSSEC  information for all keys or for ZONE. --verbose or -v will also include the keys for
              disabled or empty zones.

       list-all-zones
              List all active zone names. --verbose or -v will also include disabled or empty zones.

       list-member-zonesCATALOG
              List all members of catalog zone CATALOG"

       list-zoneZONE
              Show all records for ZONE.

       load-zoneZONEFILE
              Load records for ZONE from FILE. If  ZONE  already  exists,  all  records  are  overwritten,  this
              operation is atomic. If ZONE doesn't exist, it is created.

       rectify-zoneZONE
              Calculates  the  'ordername'  and  'auth' fields for a zone called ZONE so they comply with DNSSEC
              settings. Can be used to fix up migrated data. Can always safely be run, it does no harm.

       rectify-all-zones
              Calculates the 'ordername' and 'auth' fields for all zones so they comply  with  DNSSEC  settings.
              Can be used to fix up migrated data.  Can always safely be run, it does no harm.

       replace-rrsetZONENAMETYPE[TTL]CONTENT[CONTENT...]
              Replace existing NAME in zone ZONE with a new set.

       secure-zoneZONE
              Configures  a  zone called ZONE with reasonable DNSSEC settings. You should manually run 'pdnsutil
              rectify-zone' afterwards.

       secure-all-zones [increase-serial]
              Configures all zones that are not  currently  signed  with  reasonable  DNSSEC  settings.  Setting
              increase-serial  will  increase  the  serial of those zones too. You should manually run 'pdnsutil
              rectify-all-zones' afterwards.

       set-kindZONEKIND
              Change the kind of ZONE to KIND (primary, secondary, native, producer, consumer).

       set-options-jsonZONEJSON
              Change the options of ZONE to JSONset-optionZONE[producer*|*consumer][coo*|*unique*|*group]VALUE[VALUE...]
              Set or remove an option for ZONE. Providing an empty value removes an option.

       set-catalogZONECATALOG
              Change the catalog of ZONE to CATALOG. Setting CATALOG to  an  empty  ""  removes  ZONE  from  the
              catalog it is in.

       set-accountZONEACCOUNT
              Change the account (owner) of ZONE to ACCOUNT.

       add-metaZONEATTRIBUTEVALUE[VALUE]...
              Append  VALUE to the existing ATTRIBUTE metadata for ZONE.  Will return an error if ATTRIBUTE does
              not support multiple values, use set-meta for these values.

       set-metaZONEATTRIBUTE[VALUE]...
              Set zonemetadata ATTRIBUTE for ZONE to VALUE. An empty value clears it.

       set-presignedZONE
              Switches ZONE to presigned operation, utilizing in-zone RRSIGs.

       show-zoneZONE
              Shows all DNSSEC related settings of a zone called ZONE.

       test-schemaZONE
              Test database schema, this creates the zone ZONEunset-presignedZONE
              Disables presigned operation for ZONE.

       raw-lua-from-contentTYPECONTENT
              Display record contents in a form suitable for dnsdist's SpoofRawAction.

       zonemd-verify-fileZONEFILE
              Validate ZONEMD for ZONE read from FILE.

See Also