http://knot-resolver.readthedocs.io/en/latest/daemon.html#configuration

1. DNS/実装/KnotDNSresolver/configuration

daemon working directoryで config ファイルに書いておくと、

だけで読み込まれる。

modules = {'policy', 'cachectl'}
net.listen("127.0.0.3")
net.ipv6 = false

TCP専用にするconfigは用意されていなかったので、patchで対応している。 -- ToshinoriMaeno 2015-10-17 01:11:09

co.jp などをminimized nameとして問い合せしないようにはできていない。

-- ToshinoriMaeno 2015-10-17 01:11:09

2. net.bufsize

https://gitlab.labs.nic.cz/knot/resolver/commit/47559a1a8e551e7b1146b909cef71afa94057fe9

3. Configuration syntax

The configuration is kept in the config file in the daemon working directory, and it’s going to get loaded automatically. If there isn’t one, the daemon is going to start with sane defaults, listening on localhost.

The syntax for options is like follows: group.option = value or group.action(parameters). You can also comment using a -- prefix.

"net.ipv6=false" でエラーになっていたが、beta2で修正された。IPv6関連の問い合せはしなくなった。 -- ToshinoriMaeno 2015-10-09 00:50:54

4. modules order

Modules are inherently ordered by their declaration. Some modules are built-in, so it would be normally impossible to place for example hints before rrcache. You can enforce specific order by precedence operators > and <.

modules = {
   'hints  > iterate', -- Hints AFTER iterate
   'policy > hints',   -- Policy AFTER hints
   'view   < rrcache'  -- View BEFORE rrcache
}

modules.list() -- Check module call order

> modules.list()
[1] => cookies
[2] => iterate
[3] => validate
[4] => rrcache
[5] => pktcache
[6] => policy
[7] => stats
[8] => hints
[9] => cache