xref: /netbsd-src/external/bsd/unbound/dist/testdata/04-checkconf.tdir/good.all (revision d0eba39ba71d0ccd0f91ae4c5ff83442e84710bf)
1# To test, all options are used.
2#
3# Example configuration file.
4#
5# See unbound.conf(5) man page.
6#
7# this is a comment.
8
9#Use this to include other text into the file.
10#include: "otherfile.conf"
11
12# The server clause sets the main parameters.
13server:
14	# whitespace is not necessary, but looks cleaner.
15
16	# verbosity number, 0 is least verbose. 1 is default.
17	verbosity: 2
18
19	# number of threads to create. 1 disables threading.
20	num-threads: 1
21
22	# specify the interfaces to answer queries from by ip-address.
23	# If you give none the default (all) interface is used.
24	# specify every interface on a new 'interface:' labelled line.
25	interface: 192.0.2.153
26	interface: 192.0.2.154
27	interface: 2001:DB8::5
28
29	# port to answer queries from
30	port: 53
31
32	# number of port to allocate per thread, determines the size of the
33	# port range. A larger port range gives more resistance to certain
34	# spoof attacks, as it gets harder to guess which port is used.
35	# But also takes more system resources (for open sockets).
36	outgoing-range: 16
37
38	outgoing-port-permit: 1000-1020
39	outgoing-port-avoid: 2000-2048
40	outgoing-port-avoid: 3000
41
42	# number of outgoing simultaneous tcp buffers to hold per thread.
43	outgoing-num-tcp: 10
44
45	# number of incoming simultaneous tcp buffers to hold per thread.
46	incoming-num-tcp: 10
47
48	# buffer size for handling DNS data. No messages larger than this
49	# size can be sent or received, by UDP or TCP. In bytes.
50	msg-buffer-size: 65552
51
52	# the amount of memory to use for the message cache.
53	# in bytes. default is 4 Mb
54	msg-cache-size: 4194304
55
56	# the number of slabs to use for the message cache.
57	# the number of slabs must be a power of 2.
58	# more slabs reduce lock contention, but fragment memory usage.
59	msg-cache-slabs: 4
60
61	# the number of queries that a thread gets to service.
62	num-queries-per-thread: 1024
63
64	# the amount of memory to use for the RRset cache.
65	# in bytes. default is 4 Mb
66	rrset-cache-size: 4194304
67
68	# the number of slabs to use for the RRset cache.
69	# the number of slabs must be a power of 2.
70	# more slabs reduce lock contention, but fragment memory usage.
71	rrset-cache-slabs: 4
72
73	# the time to live (TTL) value for cached roundtrip times and
74	# EDNS version information for hosts. In seconds.
75	infra-host-ttl: 900
76
77	# the time to live (TTL) value for cached lame delegations. In sec.
78	infra-lame-ttl: 900
79
80	# the number of slabs to use for the Infrastructure cache.
81	# the number of slabs must be a power of 2.
82	# more slabs reduce lock contention, but fragment memory usage.
83	infra-cache-slabs: 4
84
85	# the maximum number of hosts that are cached (roundtrip times, EDNS).
86	infra-cache-numhosts: 10000
87
88	# the maximum size of the lame zones cached per host. in bytes.
89	infra-cache-lame-size: 10240
90
91	# Enable IPv4, "yes" or "no".
92	do-ip4: yes
93
94	# Enable IPv6, "yes" or "no".
95	do-ip6: yes
96
97	# Enable UDP, "yes" or "no".
98	do-udp: yes
99
100	# Enable TCP, "yes" or "no".
101	do-tcp: yes
102
103	# if given, a chroot(2) is done to the given directory.
104	# i.e. you can chroot to the working directory, for example,
105	# for extra security, but make sure all files are in that directory.
106	chroot: ""
107
108	# if given, user privileges are dropped (after binding port),
109	# and the given username is assumed. Default is nothing "".
110	username: "nobody"
111
112	# the working directory.
113	directory: "."
114
115	# the log file, "" means log to stderr.
116	# Use of this option sets use-syslog to "no".
117	logfile: ""
118
119	# Log to syslog(3) if yes. The log facility LOG_DAEMON is used to
120	# log to, with identity "unbound". If yes, it overrides the logfile.
121	use-syslog: no
122
123	# the pid file.
124	pidfile: "unbound.pid"
125
126	# enable to not answer id.server and hostname.bind queries.
127	hide-identity: no
128
129	# enable to not answer version.server and version.bind queries.
130	hide-version: no
131
132	# the identity to report. Leave "" or default to return hostname.
133	identity: ""
134
135	# the version to report. Leave "" or default to return package version.
136	version: ""
137
138	# the target fetch policy.
139	# series of integers describing the policy per dependency depth.
140	# The number of values in the list determines the maximum dependency
141	# depth the recursor will pursue before giving up. Each integer means:
142	# 	-1 : fetch all targets opportunistically,
143	# 	0: fetch on demand,
144	#	positive value: fetch that many targets opportunistically.
145	# Enclose the list of numbers between quotes ("").
146	target-fetch-policy: "3 2 1 0 0"
147
148	# Harden against very small EDNS buffer sizes.
149	harden-short-bufsize: yes
150
151	# Harden against unseemly large queries.
152	harden-large-queries: yes
153
154	# Harden against out of zone rrsets, to avoid spoofing attempts.
155	harden-glue: yes
156
157	# Do not query the following addresses. No DNS queries are sent there.
158	# List one address per entry. To block other ports than the default
159	# DNS port, use "1.2.3.4@123" to block port 123 for 1.2.3.4.
160	do-not-query-address: 127.0.0.1
161	do-not-query-address: 127.0.0.2
162	do-not-query-address: 127.255.255.255
163	do-not-query-address: ::1
164
165	# module configuration of the server. A string with identifiers
166	# separated by spaces. "iterator" or "validator iterator"
167	module-config: "validator iterator"
168
169	# File with trusted keys for validation. Specify more than one file
170	# with several entries, one file per entry.
171	# Zone file format, with DS and DNSKEY entries.
172	trust-anchor-file: ""
173
174	# Trusted key for validation. DS or DNSKEY. specify the RR on a
175	# single line, surrounded by "". TTL is ignored. class is IN default.
176	# (These examples are from August 2007 and may not be valid anymore).
177	trust-anchor: "nlnetlabs.nl. DNSKEY 257 3 5 AQPzzTWMz8qSWIQlfRnPckx2BiVmkVN6LPupO3mbz7FhLSnm26n6iG9N Lby97Ji453aWZY3M5/xJBSOS2vWtco2t8C0+xeO1bc/d6ZTy32DHchpW 6rDH1vp86Ll+ha0tmwyy9QP7y2bVw5zSbFCrefk8qCUBgfHm9bHzMG1U BYtEIQ=="
178	trust-anchor: "jelte.nlnetlabs.nl. DS 42860 5 1 14D739EB566D2B1A5E216A0BA4D17FA9B038BE4A"
179
180	# File with trusted keys for validation. Specify more than one file
181	# with several entries, one file per entry. Like trust-anchor-file
182	# but has a different file format. Format is BIND-9 style format,
183	# the trusted-keys { name flag proto algo "key"; }; clauses are read.
184	trusted-keys-file: ""
185
186	# Override the date for validation with a specific fixed date.
187	# Do not set this unless you are debugging signature inception
188	# and expiration. "" or "0" turns the feature off.
189	val-override-date: ""
190
191	# The time to live for bogus data, rrsets and messages. This avoids
192	# some of the revalidation, until the time interval expires. in secs.
193	val-bogus-ttl: 900
194
195	# Should additional section of secure message also be kept clean of
196	# unsecure data. Useful to shield the users of this validator from
197	# potential bogus data in the additional section. All unsigned data
198	# in the additional section is removed from secure messages.
199	val-clean-additional: yes
200
201	# Turn permissive mode on to permit bogus messages. Thus, messages
202	# for which security checks failed will be returned to clients,
203	# instead of SERVFAIL. It still performs the security checks, which
204	# result in interesting log files and possibly the AD bit in
205	# replies if the message is found secure. The default is off.
206	val-permissive-mode: no
207
208	# It is possible to configure NSEC3 maximum iteration counts per
209	# keysize. Keep this table very short, as linear search is done.
210	# A message with an NSEC3 with larger count is marked insecure.
211	# List in ascending order the keysize and count values.
212	val-nsec3-keysize-iterations: "1024 150 2048 500 4096 2500"
213
214	# the amount of memory to use for the key cache.
215	# in bytes. default is 4 Mb
216	key-cache-size: 4194304
217
218	# the number of slabs to use for the key cache.
219	# the number of slabs must be a power of 2.
220	# more slabs reduce lock contention, but fragment memory usage.
221	key-cache-slabs: 4
222
223	# the value of the Differentiated Services Codepoint (DSCP)
224	# in the differentiated services field (DS) of the outgoing
225	# IP packets
226	ip-dscp: 5
227
228# Stub zones.
229# Create entries like below, to make all queries for 'example.com' and
230# 'example.org' go to the given list of nameservers. list zero or more
231# nameservers by hostname or by ipaddress.
232stub-zone:
233	name: "example.com"
234	stub-addr: 192.0.2.68
235stub-zone:
236	name: "example.org"
237	stub-host: ns.example.com.
238
239# Forward zones
240# Create entries like below, to make all queries for 'example.com' and
241# 'example.org' go to the given list of servers. These servers have to handle
242# recursion to other nameservers. List zero or more nameservers by hostname
243# or by ipaddress. Use an entry with name "." to forward all queries.
244forward-zone:
245 	name: "example.com"
246 	forward-addr: 192.0.2.68
247 	forward-addr: 192.0.2.73@5355  # forward to port 5355.
248forward-zone:
249 	name: "example.org"
250 	forward-host: fwd.example.com
251