Почему вы не используете правильный DNS-сервер IPv6?

Моя конфигурация 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. IP-адреса DNS-сервера оба правильны и являются IP-адресами LAN маршрутизатора. Я не уверен, почему только IP-адрес v4 является глобальным.

Когда я специально копаю хост, используя IP-адрес v6, он работает:

$ 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 быть каким-то образом обозначен глобальным?

0
задан 22 August 2017 в 02:12

2 ответа

Это не работает, потому что нет серверов имен IPv6, определенных в файле /etc/resolv.conf. В случае Ubuntu 16.04.3 единственной записью в этом файле является

nameserver 127.0.1.1

и, возможно, поисковый домен.

Поскольку «dig -6» использует только IPv6, просто нет сервера имен. Простое исправление будет состоять в том, чтобы позволить dnsmasqd, который прослушивает порт 53 на localhost IPv4, также прослушивать адрес localhost IPv6 «:: 1/128» и добавить адрес localhost IPv6 также в /etc/resolv.conf.

1
ответ дан 18 July 2018 в 08:08

Это не работает, потому что нет серверов имен IPv6, определенных в файле /etc/resolv.conf. В случае Ubuntu 16.04.3 единственной записью в этом файле является

nameserver 127.0.1.1

и, возможно, поисковый домен.

Поскольку «dig -6» использует только IPv6, просто нет сервера имен. Простое исправление будет состоять в том, чтобы позволить dnsmasqd, который прослушивает порт 53 на localhost IPv4, также прослушивать адрес localhost IPv6 «:: 1/128» и добавить адрес localhost IPv6 также в /etc/resolv.conf.

1
ответ дан 24 July 2018 в 19:01

Другие вопросы по тегам:

Похожие вопросы: