summaryrefslogtreecommitdiffstats
path: root/etc/config/config.cluster
blob: dd10a7470a0fba1a2fa06a4022baf69a075b385e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
-- Config file example useable for larger resolver farms
-- In this case cache should be made as large as possible, and prefetching turned off
-- as the resolver is busy most of the time.
-- Alternative is using `etcd` as a configuration backend.
-- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/

-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
net.listen('::1', 53, { kind = 'dns'})
net.listen('127.0.0.1', 853, { kind = 'tls' })
net.listen('::1', 853, { kind = 'tls' })
net.listen('127.0.0.1', 443, { kind = 'doh2' })
net.listen('::1', 443, { kind = 'doh2'})

-- Refer to manual for optimal cache size
cache.size = 16 * GB

-- Load Useful modules
modules = {
	'hints > iterate', -- Load /etc/hosts and allow custom root hints
	'stats',    -- Track internal statistics
	graphite = { -- Send statistics to local InfluxDB
		-- Address of the Graphite/InfluxDB server
		host = '192.168.1.2',
	},
}

-- Use local root server copy for performance reasons
hints.root({
	['j.root-servers.net.'] = { '192.168.1.4', '2001:503:c27::2:30', '192.58.128.30' }
})

-- Apply RPZ for all clients, default rule is DENY
policy.add(policy.rpz(policy.DENY, 'blacklist.rpz'))