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.

keynamekey

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] nxdomain name

Adds a prerequisite for non-existing record owned by name.

[prereq] yxdomain name

Adds a prerequisite for existing record owned by name.

[prereq] nxrrset name [class] type

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

[prereq] yxrrset name [class] type [data]

Adds a prerequisite for 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, 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 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 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-confgen output) 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 [email protected]

RELATED TO knsupdate…