自宅のDNSキャッシュサーバとしてunboundを運用しているが、一部の名前解決が失敗する。 実験要素が強くよくわかってない設定も積極的に有効にしているため、おそらく何か余計な設定を有効にしているんだろうなといったことを考えながら設定を改めて確認する。
わかってない筆頭がDNSSEC周りなので、val-permissive-mode
を有効にし、val-log-level
をログに可能な限り情報を記録するよう設定して挙動を確認するも、成果は何も得られず。つまりDNSSECの設定をミスったわけではないらしい。
じゃあどこが問題だろうとさらに設定を見直したところ、qname-minimisation
を有効にしていたことを思い出す。
設定した当時、仕組み的にqname-minimisation
が問題になることはあまりなさそうだと思いqname-minimisation-strict
とあわせて有効にしていたが、qname-minimisation-strict
のコメントに「有効にすると多くのドメインが名前解決できなくなります」とはっきり書いてあった。
# Sent minimum amount of information to upstream servers to enhance
# privacy. Only sent minimum required labels of the QNAME and set QTYPE
# to A when possible.
qname-minimisation: yes
# QNAME minimisation in strict mode. Do not fall-back to sending full
# QNAME to potentially broken nameservers. A lot of domains will not be
# resolvable when this option in enabled.
# This option only has effect when qname-minimisation is enabled.
qname-minimisation-strict: yes
qname-minimisation-strict
を無効にしたところ、無事名前解決できるようになった。コメントもちゃんと読みましょうねという話。