Ma configuration DNS ressemble à ceci:
$ 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
est géré par NetworkManager. Les adresses IP du serveur DNS sont correctes et correspondent aux adresses IP du routeur. Je ne suis pas sûr de savoir pourquoi seule l'adresse IP v4 est globale.
Lorsque je creuse spécifiquement un hôte à l’aide de la v6 IP, cela fonctionne:
$ 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
Cependant, si vous essayez d'utiliser les valeurs par défaut, le délai est dépassé:
$ 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
Ce qui donne? Le serveur v6 doit-il être en quelque sorte marqué comme global?
Cela ne fonctionne pas car aucun serveur de noms IPv6 n'est défini dans /etc/resolv.conf. Dans le cas d’Ubuntu 16.04.3, la seule entrée de ce fichier est
nameserver 127.0.1.1
et peut-être un domaine de recherche.
Comme "Dig -6" utilise uniquement IPv6, il n’ya simplement aucun serveur de noms à demander. Une solution simple serait de laisser le serveur dnsmasqd qui écoute sur le port 53 de l’hôte local IPv4 également écouter l’adresse IPv6 de l’hôte local ":: 1/128" et d’ajouter l’adresse IPv6 localhost également à /etc/resolv.conf.