この記事に書いた方法だけでは解消していませんでした......
起きたこと
- DNSフルリゾルバーとして Knot Resolver をDockerで動かしている(参考)
- Knot Resolverが動いているサーバーはグローバルスコープのIPv6アドレスを持たない
-
dig crashrt.work +traceをすると、何故か権威サーバーにv6で接続しようとしていた$ dig crashrt.work +trace ... ;; UDP setup with 2001:503:c27::2:30#53(2001:503:c27::2:30) for crashrt.work failed: network unreachable. ;; UDP setup with 2001:503:ba3e::2:30#53(2001:503:ba3e::2:30) for crashrt.work failed: network unreachable. ... - 当然v6アドレスを持っていないので失敗している
- その後v4で接続しに行ってるので問題はないが、無駄に時間がかかっていて気持ち悪い
解決方法
Knot Resolver のコンフィグに以下の記述を追加して権威サーバーとの接続でv6を使わないようにした。どうやらデフォルトでは do-ipv6が true らしい。
network:
do-ipv6: false
参考:
network/do-ipv6: true|false¶
Default:trueEnable/disable using IPv6 for contacting upstream nameservers.