1mydns.conf(5) File Formats mydns.conf(5)
2
3
4
6 mydns.conf - mydns(8) configuration file.
7
8
10 mydns.conf is read by mydns(8) on startup. The default location of
11 this file is /etc/mydns.conf.
12
13 A mydns.conf might look something like this:
14
15 # /etc/mydns.conf
16 # Configuration file for the MyDNS name daemon
17
18 db-host = dbserver.example.com
19 db-user = mydnsuser
20 db-password = Gr8DNS!
21
22 Each line in the file may contain only one configuration variable. All
23 allowable configuration variables are described in this man page. The
24 syntax for a configuration line is `option [= value]'. All configura‐
25 tion variables have default values, which are used if the variable is
26 omitted from the mydns.conf. These defaults are listed in parentheses
27 after the variable syntax.
28
29 All text following a hash mark (`#') and empty lines are ignored. If
30 you need to specify an actual hash mark in a option value, escape it by
31 prefixing it with a backslash (`\') character.
32
33 The mydns(8) program has a convenient command-line option that will
34 output all current configuration variables in mydns.conf format. If
35 you are creating a mydns.conf file for the first time, this is a great
36 way to create a template that you can customize. See mydns(8) for
37 details.
38
39
40
41
42
44 The following configuration variables tell MyDNS about your database
45 server.
46
47
48 db-host = hostname (`localhost')
49 Connect to the database server located at hostname.
50
51
52 db-user = username
53 Use username when authenticating with the database server.
54
55
56 db-password = password
57 Use password when authenticating with the database server.
58
59
60 database = name (`mydns')
61 Read resource record information from the database called name.
62 The specified dbuser must have SELECT privileges on the speci‐
63 fied database.
64
65
66
68 The following configuration variables control the general behavior of
69 the name daemon.
70
71
72 user = username (`nobody')
73 Run the name daemon with the permissions of user username.
74
75
76 group = groupname (`nogroup')
77 Run the name daemon with the permissions of group groupname.
78
79
80 listen = address (`*')
81 The name daemon should listen on address. If address is *, lis‐
82 ten on all addresses. This must be an IP address in numbers-
83 and-dots format, or *. Multiple addresses may be specified,
84 either separated by commas, or listed on separate listen lines,
85 or both. If a port number other than port 53 is desired, append
86 `:port' to the address.
87
88
89 no-listen = address (`*')
90 The name daemon should NOT listen on address, even if it was
91 specified by listen. This must be an IP address in numbers-and-
92 dots format, or *. Multiple addresses may be specified, either
93 separated by commas, or listed on separate listen lines, or
94 both. If a port number other than port 53 is desired, append
95 `:port' to the address.
96
97
98
99
101 The following configuration variables affect the cache used internally
102 by the name daemon.
103
104
105 zone-cache-size = number (`4096')
106 The zone data cache will not contain more than number entries.
107 The average entry in the cache is about 128 bytes. If number is
108 0, the zone data cache will not be used.
109
110
111 zone-cache-expire = seconds (`60')
112 Entries expire from the zone data cache once they are seconds
113 old. If seconds is 0, the zone data cache will not be used. If
114 the TTL for any RR in the zone is less than the cache expire
115 time, the TTL will be honored.
116
117
118 reply-cache-size = number (`1024')
119 The reply cache will not contain more than number entries. The
120 average entry in the cache is about 128 bytes. If number is 0,
121 the reply cache will not be used.
122
123
124 reply-cache-expire = seconds (`30')
125 Entries expire from the reply cache once they are seconds old.
126 If seconds is 0, the reply cache will not be used.
127
128
129
131 The following configuration variables affect the name daemon also, but
132 most users will not need to use them.
133
134
135 log = facility (`LOG_DAEMON')
136 The name daemon should log via syslog facility facility. facil‐
137 ity may be LOG_DAEMON or LOG_LOCAL0 through LOG_LOCAL7. If
138 facility is stderr, program output will go to stderr only.
139
140
141 pidfile = filename (`/var/run/named.pid')
142 Create a PID file for the name daemon called filename.
143
144
145 timeout = seconds (`120')
146 Incoming queries time out if a reply could not be sent after
147 seconds have elapsed.
148
149
150 multicpu = cpucount (`1')
151 Run with multiple processes to support cpucount number of pro‐
152 cessors.- deprecated use servers instead
153
154
155 servers = servercount (`1')
156 Number of server processors to run. Set this to 0 to run just a
157 single process, 1 will run a master and a server process. n runs
158 n servers plus a master. It is recommended that this be set to
159 the number of CPUS times 2 plus 1.
160
161
162 recursive = address
163 If this option is specified, address is the address of a DNS
164 server that accepts recursive queries. If MyDNS receives a
165 query where recursion is desired, and the zone is not local,
166 MyDNS will forward the query to the server at address and return
167 the result to the client.
168
169
170 recursive-timeout = seconds (`60')
171 Number of seconds to wait before first retry
172
173
174 recursive-retries = count (`5')
175 Number of retries before abandoning recursion
176
177
178 recursive-algorithm = algorithm (`linear')
179 Algorithm to use when applying timeout. Linear - each timeout
180 is equal to recursive-timeout, Exponential - double timeout on
181 each retry, Progressive - increase timeout by number of retries.
182
183
184 allow-axfr = bool (`no')
185 Should DNS-based zone transfers be allowed?
186
187
188 allow-tcp = bool (`no')
189 Should TCP requests be allowed? (not recommended)
190
191
192 allow-update = bool (`no')
193 Should DNS-based zone updates (RFC 2136) be allowed?
194
195
196 ignore-minimum = bool (`no')
197 Should MyDNS ignore the minimum TTL for zones?
198
199
200 soa-table = name (`soa')
201 The name of the table containing SOA records.
202
203
204 rr-table = name (`rr')
205 The name of the table containing resource record data.
206
207
208 use-soa-active = boolean (`yes')
209 Where there is an soa-active column use this to determine which
210 zones to serve.
211
212
213 use-rr-active = boolean (`yes')
214 Where there is a rr-active column use this to determine which
215 records to serve.
216
217
218 notify-enabled = boolean (`yes')
219 Support DNS NOTIFY message generation if this is enabled.
220
221
222 notify-source = IPv4 address (`0.0.0.0')
223 IPv4 address from which NOTIFY messages will be sent - set to
224 0.0.0.0 or leave blank for the default of using the outgoing
225 interface address.
226
227
228 notify-source6 = IPv6 address (`;;')
229 IPv6 address from which NOTIFY messages will be sent - set to ::
230 or leave blank for the default of using the outgoing interface
231 address.
232
233
234 notify-timeout = seconds (`60')
235 Number of seconds before first retry of NOTIFY message
236
237
238 notify-retries = count (`5')
239 Number of times to retry the NOTIFY message before giving up.
240
241
242 notify-algorithm = string (`linear')
243 Select type of notify algorithm to use - select oneof Linear -
244 each timeout is equal to notify-timeout, Exponential - double
245 timeout on each retry, Progressive - increase timeout by number
246 of retries.
247
248
249 ixfr-enabled = boolean (`yes')
250 Enable IXFR functionality - requires DB schema change as well.
251
252
253 ixfr-gc-enabled = boolean (`yes')
254 Enable real-time IXFR garbage collection facility. With this
255 switched on the server will periodically scan the database for
256 expired records that have been marked deleted and will remove
257 them from the DB.
258
259
260 ixfr-gc-interval = seconds (`86400')
261 Number of seconds between each GC scan. - default 86400 seconds
262 = 1 day.
263
264
265 ixfr-gc-delay
266 Number of seconds before first GC scan. - default 600 seconds =
267 10 minutes.
268
269
270 extended-data-support = boolean (`no')
271 Switch on extended data support, this allow resource records to
272 grow very big as needed for large TXT records.
273
274
275 dbengine = string (`MyISAM')
276 Select DBengine to use when running under MySQL. Has been tested
277 with MyISAM, InnoDB, NDBCLUSTER.
278
279
280 soa-where = string
281 An extra WHERE clause to append to queries selecting records
282 from the `soa' table.
283
284
285 rr-where = string
286 An extra WHERE clause to append to queries selecting records
287 from the `rr' table.
288
289
290 wildcard-recursion = number of ancestor levels
291 Allow the server to look in ancestor zones for wildcard matches.
292 This specifies how many levels to scan up before giving up. Use
293 '0' (the default) to switch this off, a positive number to spec‐
294 ify how many levels and '-1' for infinite. [Caveat: Using this
295 feature in the current release 1.2.8 will affect performance if
296 you have deeply nested zones and search many levels. You have
297 been warned, if you need to do this then increase the number of
298 'servers']
299
300
301 debug-<module> = <debug level>
302 Switches on module based debug for the module in question. The
303 debug level sets the volume and detail of messages produced.
304 See output of --dump-config option for modules available.
305
306
308 The mydns.conf file should be readable only by the root user (uid=0)
309 since it typically contains a username and password allowing access to
310 your database.
311
312
313
315 /etc/mydns.conf
316 The default location of the configuration file.
317
318
319
321 mydns(8)
322
323
324
325
326
327mydns 1.2.8.32 Mar 2020 mydns.conf(5)