Назад | Перейти на главную страницу

Debian 9 не находит запись AAAA для DNS-имен только для IPv6

У меня есть DNS-имя только для AAAA: superdns.cyberfusion.cloud. С помощью nslookup без опций в Debian 9 я получаю No answer. С помощью nslookup без опций в Ubuntu я получаю правильный ответ (запись AAAA). Однако я не могу воспроизвести такое поведение в Debian 10 ...

Ubuntu 18.04:

$ nslookup superdns.cyberfusion.cloud
Server:     2a0c:eb00:0:f7:185:233:175:142
Address:    2a0c:eb00:0:f7:185:233:175:142#53

Non-authoritative answer:
Name:   superdns.cyberfusion.cloud
Address: 2a0c:eb00:0:f7:185:233:175:211

Debian 9 в моей сети:

$ nslookup superdns.cyberfusion.cloud
Server:     2a0c:eb00:0:f7:185:233:175:142
Address:    2a0c:eb00:0:f7:185:233:175:142#53

Non-authoritative answer:
*** Can't find superdns.cyberfusion.cloud: No answer

Debian 10 в моей сети:

$ nslookup superdns.cyberfusion.cloud
Server:     185.233.175.142
Address:    185.233.175.142#53

Non-authoritative answer:
Name:   superdns.cyberfusion.cloud
Address: 2a0c:eb00:0:f7:185:233:175:211

Debian 9 вне моя сеть, использующая Cloudflare DNS:

$ nslookup superdns.cyberfusion.cloud
Server:     1.1.1.1
Address:    1.1.1.1#53

Non-authoritative answer:
*** Can't find superdns.cyberfusion.cloud: No answer

Итак, я начал искать различия между этими тремя машинами, но не смог найти никаких существенных ошибок конфигурации, связанных с поиском:

Тем же gai.conf на всех машинах:

label ::1/128 0
label ::/0 1
label 2002::/16 2
label ::/96 3
label ::ffff:0:0/96 4
label fec0::/10 5
label fc00::/7 6

Нет systemd-resolved на всех машинах:

$ systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
   Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/systemd-resolved.service.d
           └─resolvconf.conf
   Active: inactive (dead)

И, как упоминалось ранее, я тестировал на двух машинах Debian 9 с разными используемыми резолверами.

Единственная общая характеристика, которую я смог найти, это то, что машины с «неправильным» поведением работают под управлением Debian 9, тогда как машины с «правильным» поведением работают либо под Ubuntu, либо с Debian 10. Я искал в журналах изменений Debian 10 изменения, связанные с IPv6, но не смог. найти много.

Такое поведение не характерно для nslookup. Я использую какую-то библиотеку Ruby DNS, которая не находит запись AAAA на машинах, где nslookup не находит мои записи AAAA, но находит запись AAAA на машинах, где nslookup находит мои записи AAAA, поэтому это должна быть общесистемная настройка.

Вопрос: помимо /etc/gai.conf, какой механизм определяет, нужно ли вообще искать записи AAAA?

Если вы обратитесь к nslookup, содержащемуся в пакете dnsutils:

  • Debian 9: 9.10.3
  • Debian 10: 9.11.5
  • Ubuntu 18.04: 9.11.3

Я считаю, что функциональность, отсутствующая в Debian 9 (9.10.3), была добавлена ​​в этот коммит:

4420. [func] nslookup теперь по умолчанию ищет AAAA, а также A.

Затем он был выпущен как бета-версия и версия-кандидат на выпуск, обе из которых позже стали стабильной 9.11.0 bind и ее утилит.

Чтобы получить более позднюю версию для Debian 9, вы можете проверить репозиторий stretch-backports, который позволит вам без проблем установить 9.11.5 на Debian 9.