web-dev-qa-db-ja.com

Digが正しいIPv6 DNSサーバーを使用しないのはなぜですか?

私の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サーバーは何らかの形でグローバルとしてマークする必要がありますか?

1
Reinderien

/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に追加することです。

2
miip