Webサーバーの名前解決ができなくなっていた

SSL証明書を更新できなかった原因である名前解決の不能。
ターミナルで Webサーバーに接続して www.google.comに pingを打ってみてもやはり届きません。
「pkg update」も「freebsd-update fetch」もできません。

ifconfigで確認すると、IPv4、IPv6ともに IPアドレスはルーター(XG-100NE)から発給されています。

IPv4の場合はルーターが defaultrouterになって、そこから ISPの DNSへ問い合わせがされます(よね?)。
では IPv6の場合はどうなるのでしょう?

はじめてのFreeBSDでIPv6 #FreeBSD - Qiita

DNSサーバーはIPv4はルーター自体がフォワードするようになっていますが、IPv6はプロバイダー側のDNSサーバがプロバイダー側のIPv6ルーターからRAで渡されるようです。
 
RAで渡させるIPv6のDNSは自動的にresolv.confには入らないようです。
 
IPv4だけをresolv.confに書いて、IPv4で問い合わせしてもIPv6のアドレスは返ってきます。

resolv.confを確認すると

#nameserver 192.168.1.1
nameserver 127.0.0.1
options edns0

となっていました。
IPv4のnameserver(ルーター)がコメントアウトされているのはなぜだろう? Webサーバー自身を NSにしようとあれこれやっていたときの名残かな?

xg-100ne_ipv6_ns.jpg

XG-100NEの管理画面で ISPの NSの IPv6アドレスを確認して

nameserver 192.168.1.1
nameserver 127.0.0.1
nameserver 2404:xxxx:yyyy:a::3
nameserver 2404:xxxx:yyyy:b::3
options edns0

と設定したらちゃんと名前解決できるようになりました。
でも「IPv4だけをresolv.confに書いて、IPv4で問い合わせしてもIPv6のアドレスは返ってきます」とあったしな。

nameserver 192.168.1.1
nameserver 127.0.0.1
options edns0

とやってみましたが、これでもちゃんと IPv6で名前解決できました。