Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KNSUPDATE(1)			    Knot DNS			    KNSUPDATE(1)

NAME
     knsupdate - Dynamic DNS update utility

SYNOPSIS
     knsupdate [-v] [options] [filename]

     knsupdate [-q] [quic_options] [options] [filename]

DESCRIPTION
     This utility sends Dynamic DNS update messages to a DNS server. Update con-
     tent  is  read from a file (if the parameter filename is given) or from the
     standard input.

     The format of updates is textual and is made up of commands. Every  command
     is  placed  on  the separate line of the input. Lines starting with a semi-
     colon are comments and are not processed.

   Parameters
     filename
	    Path to the file with knsupdate commands.

   Options
     -T, --tcp
	    Use a TCP connection. (-v can be used for compatibility  with  nsup-
	    date).

     -S, --tls
	    Use a TLS connection.

     -Q, --quic
	    Use a QUIC connection.

     -p, --port number
	    Set the port to use for connections to the server (if not explicitly
	    specified  in  the update). The default is 53 for UDP/TCP or 853 for
	    QUIC.

     -r, --retry count
	    The number of retries for UDP requests. The default is 3.

     -t, --timeout seconds
	    The total timeout (for all UDP update tries) of the  update  request
	    in seconds.  The default is 12. If set to zero, the timeout is infi-
	    nite.

     -y, --tsig [alg:]name:key
	    Use  the  TSIG key with a name name to authenticate the request. The
	    alg part specifies the algorithm (the default  is  hmac-sha256)  and
	    key specifies the shared secret encoded in Base64.

     -k, --tsigfile path
	    Use  the  TSIG  key stored in a file keyfile to authenticate the re-
	    quest. The file should contain the key in the same format, which  is
	    accepted by the -y option.

     -d, --debug
	    Enable debug messages.

     -h, --help
	    Print the program help.

     -V, --version
	    Print  the	program  version. The option -VV makes the program print
	    the compile time configuration summary.

   QUIC/TLS options
     -H, --hostname string
	    Enable remote server hostname validation.

     -P, --pin base64
	    Use Out-of-Band key-pinned privacy profile	(RFC  7858#section-4.2).
	    The  PIN must be a Base64 encoded SHA-256 hash of the X.509 Subject-
	    PublicKeyInfo. Can be specified multiple times.

     -A, --ca [path]
	    Enable certificate validation. Certification authority  certificates
	    are  loaded  from the specified PEM file (default is system certifi-
	    cate storage if no argument is provided). Can be specified	multiple
	    times.

     -E, --certfile path
	    Path to a client certificate file.

     -K, --keyfile path
	    Path to a client key file.

     -s, --sni string
	    Use specified Server Name Indication.

   Commands
     server name [port]
	    Specifies a receiving server of the dynamic update message. The name
	    parameter can be either a host name or an IP address. If the port is
	    not  specified, the default port is used. The default port value can
	    be controlled using the -p program option.

     local address [port]
	    Specifies outgoing address and port. If no local is  specified,  the
	    address  and  port	are set by the system automatically. The default
	    port number is 0.

     zone name
	    Specifies that all updates are done within a  zone	name.  The  zone
	    name doesn't have a default and must be set explicitly.

     origin name
	    Specifies  fully  qualified  domain name suffix which is appended to
	    non-fqd owners in update commands. The default is the terminal label
	    (.).

     class name
	    Sets name as the default class for all updates. If not used, the de-
	    fault class is IN.

     ttl value
	    Sets value as the default TTL (in seconds). If not used, the default
	    value is 3600.

     key [alg:]name key
	    Specifies the TSIG key named name to authenticate  the  request.  An
	    optional  alg  algorithm can be specified. This command has the same
	    effect as the program option -y.

     [prereq] nxdomain name
	    Adds a prerequisite for a non-existing record owned by name.

     [prereq] yxdomain name
	    Adds a prerequisite for an existing record owned by name.

     [prereq] nxrrset name [class] type
	    Adds a prerequisite for a non-existing record of the type  owned  by
	    name.  Internet class is expected.

     [prereq] yxrrset name [class] type [data]
	    Adds a prerequisite for an existing record of the type owned by name
	    with optional data. Internet class is expected.

     [update] add name [ttl] [class] type data
	    Adds  a  request to add a new resource record into the zone.  Please
	    note that if the name is not fully qualified domain name,  the  cur-
	    rent origin name is appended to it.

     [update] del[ete] name [ttl] [class] [type] [data]
	    Adds  a  request to remove all (or matching class, type or data) re-
	    source records from the zone. There is the same requirement for  the
	    name parameter as in update add command. The ttl item is ignored.

     show   Displays current content of the update message.

     send   Sends the current update message and cleans the list of updates.

     answer
	    Displays the last answer from the server.

     debug  Enable  debugging.	This command has the same meaning as the -d pro-
	    gram option.

     exit   End the program.

NOTES
     Options -k and -y can not be used simultaneously.

     Neither tsig-keygen(8) nor dnssec-keygen(1) keyfile formats are  supported.
     Use keymgr(8) to construct a string for -y or the file passed to -k.

     Zone  name/server	guessing is not supported if the zone name/server is not
     specified.

     An empty line doesn't send the update.

   Interactive mode
     The utility provides interactive mode with basic line  editing  functional-
     ity, command completion, and command history.

     Interactive  mode	behavior  can  be  customized in ~/.editrc. Refer to ed-
     itrc(5) for details.

     Command history is saved in ~/.knsupdate_history.

EXIT VALUES
     Exit status of 0 means successful operation. Any other  exit  status  indi-
     cates an error.

EXAMPLES
     1. Send  one  update of the zone example.com to the server 192.168.1.1. The
	update contains two new records:

	   $ knsupdate
	   knsupdate> server 192.168.1.1
	   knsupdate> zone example.com.
	   knsupdate> origin example.com.
	   knsupdate> ttl 3600
	   knsupdate> add test1.example.com. 7200 A 192.168.2.2
	   knsupdate> add test2 TXT "hello"
	   knsupdate> show
	   knsupdate> send
	   knsupdate> answer
	   knsupdate> exit

SEE ALSO
     kdig(1), khost(1), keymgr(8), editrc(5).

AUTHOR
     CZ.NIC, z.s.p.o. and contributors <https://www.knot-dns.cz/>

COPYRIGHT
     Copyright (C) CZ.NIC, z.s.p.o. and contributors

3.5.6				   2026-07-20			    KNSUPDATE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=knsupdate&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help