私のDNS構成は次のようになります。
$ systemd-resolve --status
Global
DNS Servers: 192.168.1.1
DNS Domain: house.lan
...
Link 2 (enp11s0)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.1
2001:xxxx:xxxx:xxxx::1
DNS Domain: house.lan
enp11s0
はNetworkManagerによって管理されます。 DNSサーバーのIPは両方とも正しく、ルーターのLAN IPです。 v4 IPのみがグローバルである理由がわかりません。
V6 IPを使用してホストを具体的に掘ると、動作します:
$ Dig -6 @2001:xxxx:xxxx:xxxx::1 google.com AAAA
; <<>> Dig 9.10.3-P4-Ubuntu <<>> -6 @2001:xxxx:xxxx:xxxx::1 google.com AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19546
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN AAAA
;; ANSWER SECTION:
google.com. 99 IN AAAA 2607:f8b0:4009:810::200e
;; Query time: 18 msec
;; SERVER: 2001:xxxx:xxxx:xxxx::1#53(2001:xxxx:xxxx:xxxx::1)
;; WHEN: Mon Aug 21 19:05:03 EDT 2017
;; MSG SIZE rcvd: 67
ただし、デフォルトを使用しようとすると、タイムアウトになります。
$ Dig -6 google.com AAAA
; <<>> Dig 9.10.3-P4-Ubuntu <<>> -6 google.com AAAA
;; global options: +cmd
;; connection timed out; no servers could be reached
何が得られますか? v6サーバーは何らかの形でグローバルとしてマークする必要がありますか?
/etc/resolv.confにIPv6ネームサーバーが定義されていないため、これは機能しません。 Ubuntu 16.04.3の場合、このファイルの唯一のエントリは
nameserver 127.0.1.1
そして多分検索ドメイン。
「Dig -6」はIPv6のみを使用するため、尋ねるネームサーバーはありません。簡単な修正方法は、localhost IPv4のポート53でリッスンしているdnsmasqdがIPv6 localhostアドレス「:: 1/128」もリッスンし、IPv6 localhostアドレスを/etc/resolv.confに追加することです。