Поддержка IPv6 на DNS-серверах
14.06.2011 Недавно мы тестировали поддержку IPv6 на крупнейших почтовых серверах, ситуация плачевная. Сегодня займёмся DNS-серверами.Методика тестирования
Взяли наш тестовый домен ac.org.ru, прописали для него в РуЦентре IPv6GlueRecords (РуЦентр поддерживает IPv6 с 13.01.2011):Онлайн-тестирование DNS-сервера по IPv6 прошло успешно (см. страницу IPv6GlueRecords), но при делегировании домена на IPv6 галочку "тестировать" надо снять, иначе домен навечно зависает в ситуации "тестирование" (техподдержка РуЦентра объяснила это тем, что тестирующий софт поддерживает только IPv4 — значит онлайновый тест и "настоящий" тест выполняют у них разные роботы).
Делегирование прошло менее чем за час (как и обещали) — проверяем nslookup'ом.
> set type=ns
> org.ru.
org.ru nameserver = ns3-com.nic.ru
org.ru nameserver = ns4-com.nic.ru
org.ru nameserver = ns8-com.nic.ru
> server ns3-com.nic.ru.
Default Server: ns3-com.nic.ru
Address: 193.232.146.170
> ac.org.ru.
Server: ns3-com.nic.ru
Address: 193.232.146.170
ac.org.ru nameserver = ns1.ac.org.ru
ac.org.ru nameserver = ns2.ac.org.ru
ns1.ac.org.ru AAAA IPv6 address = 2001:470:1f14:1620::2
ns2.ac.org.ru AAAA IPv6 address = 2001:470:1f15:1620::1
> server 2001:470:1f14:1620::2
> www.ac.org.ru.
Server: [2001:470:1f14:1620::2]
Address: 2001:470:1f14:1620::2
> set type=aaaa
> www.ac.org.ru.
Server: [2001:470:1f14:1620::2]
Address: 2001:470:1f14:1620::2
Name: www.ac.org.ru
Address: 2001:470:1f14:1620::2
Теперь любой сервер, если он поддерживает резолвинг по IPv6, должен возвращать нам "2001:470:1f14:1620::2" при запросе AAAA-записи "www.ac.org.ru". Это и проверим (старые IPv4 DNS-серверы домена на всякий случай не отключаем, чтобы оставить запасной достойный выход для "сильно кэширующих" DNS-серверов).
Google 8.8.8.8
Проверим самый распиаренный и активно навязываемый Google Public DNS.> server 8.8.8.8
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8
> set type=ns
> ac.org.ru.
Server: google-public-dns-a.google.com
Address: 8.8.8.8
*** google-public-dns-a.google.com can't find ac.org.ru.: Server failed
Хм. Уже NS-записи для домена он извлечь не смог, хотя извлекать он их должен был из ns*-com.nic.ru, как указано выше, который доступен по IPv4, т.е. тут дело не в протоколе доступа, а в типе возвращаемых данных — NS, ссылающиеся на IPv6, он вернуть не смог или не захотел. Чтобы убедиться — спрашиваем у него другой наш домен, с IPv4-DNS — forth.org.ru:
> forth.org.ru.
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Неофициальный ответ:
forth.org.ru nameserver = ns1.twisted4life.com
forth.org.ru nameserver = ns1.forth.org.ru
Всё нормально. Т.е. дело именно в типе glue records — IPv6 Google не поддерживает. Собственные DNS-серверы Гугла для google.com (ns*.google.com) доступны только по IPv4. В общем, как и с Gmail'ом, поддержка IPv6 в Гугле ограничивается пока только AAAA-записями для веб-серверов. IPv6-only-клиенты с ними работать не смогут, т.к. до этих AAAA-записей не доберутся.