ジャンル不定の日記です。

letsencryptでハマった

先日certbotを最新版にしてたんだが、renew でエラーになってた。
ワイルドカードなんでdns-01だが、
そもそも最初bindが起動してなかった。

certbotを最新版にしたときにkernel?が壊れてOSアップデートしてたんだが、それ以降起動してなかった模様・・・
/etc/apparmor.d/usr.sbin.named
# root hints from dns-data-root
/usr/share/dns/root.* r,
追加で起動した。

でipv4でDNS機能するようになったが、元々bindはAAAA返してないんでipv6を無効化してた。
certbotが
; Communication with ::1#53 failed: timed out
でエラーになる。
bindが起動してない状況だと127.0.0.1:53のエラーも出てた。

調べたがわかんなくて、bindを
listen-on-v6 { any; };
#listen-on-v6 { none; };
でipv6対応にしたら、
Error output from manual-auth-hook command dns-01-auth.sh:
update failed: REFUSED
にエラーが変わった。
この出力はdns-01-auth.shの中で実行してるnsupdateコマンドのエラー出力。

bindのallow-updateが元々127.0.0.1しか許可してなかったので::1を追加したら成功した。

certbot(というかOS?)がipv6で問い合わせるようになった?