arch linuxのsystemd 239から、systemd-resolvedでDNSSECでの検証がデフォルトで有効になったらしい。 手元の環境では、自分で所有しているが、実際に存在する名前を使って権威サーバを立てているために、DNSSECでの検証が失敗してアドレスが引けない問題が起きた。
systemd-resolvedではプライベート用に使えるドメインについてはnegative trust anchorに設定してくれているので、このような名前を使うとこのような問題は起こらない。
systemd-resolvedでは権威サーバの検証を行うキーを登録するためのpositive trusted anchorと、指定したドメインの検証を無効化するnagative trust anchorが存在し、/etc/dnssec-trust-anchors.d/*.positive
や/etc/dnssec-trust-anchors.d/*.negative
で設定できる。
今回はnegative trust anchorを使って、プライベート用の権威サーバのDNSSECの検証を無効にすることにした。
そのためには/etc/dnssec-trust-anchors.d/mydns.negative
などの適当な名前でファイルを作成し、その中に検証を無効化したいドメイン名を記載すれば良い。
たとえばexample.com
と記載すれば、そのサブドメインを含めて検証を無効化できる。
設定が終われば、systemd-resolvedを再起動すれば検証がスキップされるようになる。