unboundのqname-minimisation

自宅の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を無効にしたところ、無事名前解決できるようになった。コメントもちゃんと読みましょうねという話。

links

social