YAMAHA NVR510でDNSサーバにIPv4アドレスを設定しているとv6プラス(MAP-E)接続出来ない件

IPv4/PPPoEの接続の環境からIPv6/IPoE(v6プラス)の環境への移行で、v6プラス(MAP-E)による接続が出来ない(TunnelがUPしない)事象が発生する件について、ネットボランチコールセンターとメールにてやりとりをしていました。結論としては以下の通りです。

v6プラスをご利用の環境でMAP-Eを用いて接続する場合、IPv6にて名前解決する必要がございますので、下記コマンドは必須となります。

dns server select 500000 dhcp lan2 any .

上記コマンドを設定せず、IPv4の名前解決を別のDNSサーバーに向ける場合は代わりに下記コマンドが必須となります。

dns server select 500000 dhcp lan2 aaaa .

つまり「繋がらないのは設定に誤りがある」、マイクロソフト的に言うと「仕様」ということになりますね。設定例の通り"dns server dhcp lan2"だけ設定しておけば問題が発生しないのですから

dns server 8.8.8.8 8.8.4.4 1.1.1.1 1.0.0.1

というような設定は消してしまえ...と(これがあると優先順位の問題からIPv6の名前解決が失敗してしまう)。どうしてもこの設定を残したいなら

dns server 8.8.8.8 8.8.4.4 1.1.1.1 1.0.0.1
dns server dhcp lan2
dns server select 500000 dhcp lan2 aaaa .

というようにIPv6の名前解決だけDHCPで割り当てられたDNSサーバーに割り振る設定が必要だということです。

dns server 2001:4860:4860::8888 2001:4860:4860::8844 2606:4700:4700::1111 2606:4700:4700::1001
dns server dhcp lan2

またはこのようにIPv4アドレスではなく、IPv6アドレスでDNSサーバーを指定すれば、IPv6の名前解決だけDHCPで割り当てられたDNSサーバーに割り振る設定をしなくとも問題は起こりません。

ip route default gateway tunnel 1
ip filter source-route on
ip filter directed-broadcast on
ipv6 prefix 1 ra-prefix@lan2::/64
ip lan1 address 192.168.100.1/24
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
description lan2 IPv6_IPoE
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 lan2 dhcp service client ir=on
pp disable all
no tunnel enable all
tunnel select 1
 description tunnel v6plus
 tunnel encapsulation map-e
 ip tunnel mtu 1460
 ip tunnel secure filter in 200030 200039
 ip tunnel secure filter out 200099 dynamic 200080 200082 200083 200084 200098 200099
 ip tunnel nat descriptor 1000
 ip tunnel tcp mss limit auto
 tunnel enable 1
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject * *
ip filter 200099 pass * * * * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 map-e
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4 * *
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject * *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp
dns service fallback on
dns server 2001:4860:4860::8888 2001:4860:4860::8844 2606:4700:4700::1111 2606:4700:4700::1001
dns server dhcp lan2
dns private address spoof on

ひかり電話を契約していない場合(RAプロキシ)のconfig(一部抜粋)です。IPv6/IPoE(v6プラス)を提供しているプロバイダであれば、プライベートアドレスを自分の環境に合わせて変更するだけで使えると思いますが、問題が起こっても責任は持ちませんのであしからず。

Google Public DNS
IPv4: 8.8.8.8 8.8.4.4
IPv6: 2001:4860:4860::8888 2001:4860:4860::8844

Cloudflare Public DNS
IPv4: 1.1.1.1 1.0.0.1
IPv6: 2606:4700:4700::1111 2606:4700:4700::1001

configで指定しているIPv4/IPv6アドレスはGoogle Public DNSまたはCloudflare Public DNSのものです。これらのPublic DNSを指定する訳は、プロバイダが提供するDNSサーバーがコケた場合を想定してのことです(過去にそういう障害が発生しました)。安価なブロードバンドルーターは、ルーターに搭載されているDNSリカーシブサーバー(中継)機能が異常を起こし、インターネットにアクセス出来なくなることがままあります。その場合はブロードバンドルーターの電源を入れ直す(再起動する)と解消しますが、精神衛生的にはよくないですね。