knot-resolver はおよそ以下のようにインストールしました。

cd /usr/ports/dns/knot-resolver ; make install

kresd の起動時に root.keys の取得に luasec, luasocket を要求されたので、

pkg install -f security/luasec (セキュリティの警告が出てインストールを拒否されるため -f)

pkg install net/luasocket

でもうまく root.keys が得られなかったので手動で

kdig DNSKEY . @k.root-servers.net +noall +answer | grep "DNSKEY:space:257" > /usr/local/etc/knot/root.keys

mkdir /var/cache/knot-resolver

emacs /usr/local/etc/knot-resolver.conf

起動: kresd /var/cache/knot-resolver -c /usr/local/etc/knot-resolver.conf -k /usr/local/etc/knot/root.keys

ports のアップデートは

portsnap fetch

portsnap update

なお現在でもバージョンは knot-resolver-2.3.0 のまま

1. 2.4.0

起動時のエラーです。

# kresd -v
[tls] session ticket: epoch 374544, scheduling rotation check in 644525 ms
[system] error /usr/local/lib/kdns_modules/kres.lua:11: Shared object "lib.so" not found, required by "kresd"

Ubuntsで動かしているconfigを持ってきました。kres.luaを見なおしてみます。

# kresd -v -a 127.0.0.2
[tls] session ticket: epoch 374544, scheduling rotation check in 36285 ms
[system] error /usr/local/lib/kdns_modules/kres.lua:11: Shared object "lib.so" not found, required by "kresd"

luaプログラム中の「変数」が未定義になっているようです。(find_lib失敗の影響)

local knot = ffi.load(libknot_SONAME)

三箇所に以下を追加して、起動しました。(primingのエラーはUbuntuと同症状)

local libknot_SONAME = 'libknot.so'

2. 利用

brau.jp, home.qmail.jp tkix.net いずれも毒盛できることを確認しました。

mode('strict') を指定すると、毒盛できなくなります。 -- ToshinoriMaeno 2018-08-13 12:29:22