-- SPDX-License-Identifier: CC0-1.0 -- vim:syntax=lua:set ts=4 sw=4: -- Refer to manual: https://knot-resolver.readthedocs.org/en/stable/ -- visit https://knot-resolver.readthedocs.io/en/stable/config-logging-monitoring.html for more info log_level('info') -- Network interface configuration net.listen('127.0.0.1', 5353, { kind = 'dns' }) net.listen('::1', 5353, { kind = 'dns', freebind = true }) net.listen('0.0.0.0', 53, { kind = 'dns' }) net.listen('::', 53, { kind = 'dns', freebind = true }) -- Load useful modules modules = { 'hints > iterate', -- Load /etc/hosts and allow custom root hints 'stats', -- Track internal statistics 'predict', -- Prefetch expiring/frequent records } --- Cache size https://knot-resolver.readthedocs.io/en/stable/daemon-bindings-cache.html#sizing -- "For personal and small office use-cases cache size around 100 MB is more than enough." -cz.nic cache.size = 50 * MB -- policy help : https://knot-resolver.readthedocs.io/en/stable/modules-policy.html -- This is Just a Blocklist policy.add(policy.rpz(policy.PASS, '/etc/knot-resolver/list/minopallow.txt',true)) policy.add(policy.rpz(policy.PASS, '/etc/knot-resolver/list/adguard-exceptions.txt',true)) policy.add(policy.rpz(policy.PASS, '/etc/knot-resolver/list/minoplhyallowlist.txt',true)) policy.add(policy.rpz(policy.REFUSE, '/etc/knot-resolver/list/minopdeny.txt',true)) policy.add(policy.rpz(policy.REFUSE, '/etc/knot-resolver/list/minoplhy.txt',true)) policy.add(policy.rpz(policy.REFUSE, '/etc/knot-resolver/list/minoplhyneto.txt',true)) policy.add(policy.rpz(policy.REFUSE, '/etc/knot-resolver/list/energized-ultimate.txt',true))