1KNSUPDATE(1)                       Knot DNS                       KNSUPDATE(1)
2
3
4

NAME

6       knsupdate - Dynamic DNS update utility
7

SYNOPSIS

9       knsupdate [options] [filename]
10

DESCRIPTION

12       This  utility sends Dynamic DNS update messages to a DNS server. Update
13       content is read from a file (if the parameter  filename  is  given)  or
14       from the standard input.
15
16       The format of updates is textual and is made up of commands. Every com‐
17       mand is placed on the separate line of the input. Lines starting with a
18       semicolon are comments and are not processed.
19
20   Options
21       -d     Enable debug messages.
22
23       -h, --help
24              Print the program help.
25
26       -k keyfile
27              Use  the  TSIG  key stored in a file keyfile to authenticate the
28              request. The file should contain the key  in  the  same  format,
29              which is accepted by the -y option.
30
31       -p port
32              Set  the  port  to use for connections to the server (if not ex‐
33              plicitly specified in the update). The default is 53.
34
35       -r retries
36              The number of retries for UDP requests. The default is 3.
37
38       -t timeout
39              The total timeout (for all UDP update tries) of the  update  re‐
40              quest  in seconds.  The default is 12. If set to zero, the time‐
41              out is infinite.
42
43       -v     Use a TCP connection.
44
45       -V, --version
46              Print the program version.
47
48       -y [alg:]name:key
49              Use the TSIG key with a name name to authenticate  the  request.
50              The   alg   part   specifies   the  algorithm  (the  default  is
51              hmac-sha256) and key specifies  the  shared  secret  encoded  in
52              Base64.
53
54   Commands
55       server name [port]
56              Specifies  a receiving server of the dynamic update message. The
57              name parameter can be either a host name or an  IP  address.  If
58              the port is not specified, the default port is used. The default
59              port value can be controlled using the -p program option.
60
61       local address [port]
62              Specifies outgoing address and port. If no local  is  specified,
63              the  address  and  port are set by the system automatically. The
64              default port number is 0.
65
66       zone name
67              Specifies that all updates are done within a zone name.  If  not
68              specified, the root zone (.) is considered.
69
70       origin name
71              Specifies  fully  qualified domain name suffix which is appended
72              to non-fqd owners in update commands. The default origin is  the
73              root zone.
74
75       class name
76              Sets name as the default class for all updates. If not used, the
77              default class is IN.
78
79       ttl value
80              Sets value as the default TTL (in seconds). If not used, the de‐
81              fault value is 0.
82
83       key [alg:]name key
84              Specifies  the  TSIG key named name to authenticate the request.
85              An optional alg algorithm can be specified. This command has the
86              same effect as the program option -y.
87
88       [prereq] nxdomain name
89              Adds a prerequisite for a non-existing record owned by name.
90
91       [prereq] yxdomain name
92              Adds a prerequisite for an existing record owned by name.
93
94       [prereq] nxrrset name [class] type
95              Adds  a prerequisite for a non-existing record of the type owned
96              by name.  Internet class is expected.
97
98       [prereq] yxrrset name [class] type [data]
99              Adds a prerequisite for an existing record of the type owned  by
100              name with optional data. Internet class is expected.
101
102       [update] add name [ttl] [class] type data
103              Adds  a  request  to  add  a  new resource record into the zone.
104              Please note that if the name is not fully qualified domain name,
105              the current origin name is appended to it.
106
107       [update] del[ete] name [ttl] [class] [type] [data]
108              Adds  a  request to remove all (or matching class, type or data)
109              resource records from the zone. There is  the  same  requirement
110              for the name parameter as in update add command. The ttl item is
111              ignored.
112
113       show   Displays current content of the update message.
114
115       send   Sends the current update message and cleans the list of updates.
116
117       answer Displays the last answer from the server.
118
119       debug  Enable debugging. This command has the same meaning  as  the  -d
120              program option.
121
122       exit   End the program.
123

NOTES

125       Options -k and -y can not be used simultaneously.
126
127       Dnssec-keygen keyfile format is not supported. Use keymgr(8) instead.
128
129       Zone  name/server  guessing is not supported if the zone name/server is
130       not specified.
131
132       Empty line doesn't send the update.
133
134   Interactive mode
135       The utility provides interactive mode with basic line editing function‐
136       ality, command completion, and command history.
137
138       Interactive  mode behavior can be customized in ~/.editrc. Refer to ed‐
139       itrc(5) for details.
140
141       Command history is saved in ~/.knsupdate_history.
142

EXIT VALUES

144       Exit status of 0 means successful operation. Any other exit status  in‐
145       dicates an error.
146

EXAMPLES

148       1. Send  one  update of the zone example.com to the server 192.168.1.1.
149          The update contains two new records:
150
151             $ knsupdate
152             knsupdate> server 192.168.1.1
153             knsupdate> zone example.com.
154             knsupdate> origin example.com.
155             knsupdate> ttl 3600
156             knsupdate> add test1.example.com. 7200 A 192.168.2.2
157             knsupdate> add test2 TXT "hello"
158             knsupdate> show
159             knsupdate> send
160             knsupdate> answer
161             knsupdate> exit
162

SEE ALSO

164       kdig(1), khost(1), keymgr(8), editrc(5).
165

AUTHOR

167       CZ.NIC Labs <https://www.knot-dns.cz>
168
170       Copyright 2010–2022, CZ.NIC, z.s.p.o.
171
172
173
174
1753.1.8                             2022-04-28                      KNSUPDATE(1)
Impressum