knsupdate (1) Linux Manual Page
NAME
knsupdate- – Dynamic DNS update utility (libknot equivalent of ISC nsupdate)
SYNOPSIS
knsupdate [options] [filename]
DESCRIPTION
The utility sends Dynamic DNS update message to DNS server. Update content is read from a file (if the parameter filename is given) or from standard input. The format of the update is described in INPUT FORMAT section.
OPTIONS
-d- Enable debugging messages.
-v- Use TCP protocol instead of the default UDP.
-pport - Set the port to use for connections to a server (if not explicitly specified in the update). The default is 53.
-ttimeout - The total timeout (all UDP update tries) of the update request in seconds. The default is 12. If set to zero, the timeout is infinite.
-rretries - The number of retries for UDP requests. The default is 3.
-kkeyfile - Use TSIG or SIG-0 key stored in file to authenticate the request. The tool supports keys generated by ISC
dnssec-keygen. The key comprises of public (.key extension) and private part (.private extension). Either of these file names or a name without the extension can be specified as keyfile parameter. -y[hmac:]name:key - Use TSIG key to authenticate the request. The hmac part specifies the algorithm (the default is hmac-md5), name specifies the key name, and key specifies the shared secret encoded in Base64.
-h,–help- Print help.
-V,–version- Print program version.
NOTE
Options -k and -y cannot be used mutually.
INPUT FORMAT
The input format is textual and is made up of commands. Every command is placed on a separate line of the input. Lines starting with a semicolon are comments and are not processed.
- List of commands format and their description:
servername [port]- Specifies a receiving server of the dynamic update message. Parameter name can be either a host name or an IP address. If the port is not specified, default port is used. The default port value can be controlled using program option
-p. localaddress [port]- Specifies outgoing address and port. If no local is specified, the address and port are set by the system automatically. Default port number is 0.
zonename - Specifies that all updates are done within a zone named name. If not used, the default zone is the root zone.
originname - Specifies fully qualified domain name suffix which is appended to non-fqd owners in update commands. The default origin is the root zone.
classname - Sets name as a default class for all updates. If not used, the default class is IN.
ttlvalue - Sets value as a default TTL (in seconds). If not used, the default value is 0.
keyname key- Specifies TSIG key to authenticate the request. This command has the same semantics as the program option
-y, except that the MAC algorithm cannot be set. - [
prereq]nxdomainname - Adds a prerequisite for non-existing record owned by name.
- [
prereq]yxdomainname - Adds a prerequisite for existing record owned by name.
- [
prereq]nxrrsetname [class] type - Adds a prerequisite for non-existing record of the type owned by name. Internet class is expected.
- [
prereq]yxrrsetname [class] type [data] - Adds a prerequisite for existing record of the type owned by name with optional data. Internet class is expected.
- [
update]addname [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, current origin name is appended to it.
- [
update]del[ete] name [ttl] [class] [type] [data] - Adds a request to remove all (or matching class, type, data) resource records from the zone. There is the same requirement for the name parameter as in the
update addcommand. 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 program option
-d.
NOTE
Missing features with regard to ISC nsupdate
Options -D, -g, -o, -l, -L, -R, -u.
- Commands:
gsstsig,oldgsstsig,realm.
Differences with regard to ISC nsupdate
Zone name/server guessing, if the zone name/server is not specified.
- Empty line doesn’t send an update.
- Bind-like key format (
ddns-confgenoutput) is not supported.
EXAMPLES
Example 1. Add two records to the zone example.com.:
-
- knsupdate server 192.168.1.1 zone example.com. origin example.com. ttl 3600 add test1.example.com. 7200 A 192.168.2.2 add test2 TXT "hello" show send answer
AUTHOR
Marek Vavruša, Daniel Salzman, Jan Včelák (www.knot-dns.cz)
- Please send any bug reports or comments to
knot-dns [at] labs.nic.cz
