mail.eserv.ruВойти

IPv6DNS

support
(v14)
  • v16 support·
  • v15 support·
  • v14 support· · Открыта
  • v13 support·
  • v12 support·
  • v11 support·
  • v10 support·
  • v9 support·
  • v8 support·
  • v7 support·
  • v6 support·
  • v5 support·
  • v4 support·
  • v3 support·
  • v2 support·
  • v1 support·

Поддержка IPv6 на DNS-серверах

14.06.2011 Недавно мы тестировали поддержку IPv6 на крупнейших почтовых серверах, ситуация плачевная. Сегодня займёмся DNS-серверами. TLD-серверы поддерживают IPv6 уже достаточно давно, в этом поверьте на слово или проверьте сами , а мы копнём следующий уровень.
TOC

Методика тестирования

Взяли наш тестовый домен ac.org.ru, прописали для него в РуЦентре IPv6GlueRecords (РуЦентр поддерживает IPv6 с 13.01.2011):
ac-org-ru-glue-ns
Онлайн-тестирование 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

С NS-записями, ссылающимися на IPv4, всё нормально. Т.е. дело именно в типе glue records — IPv6 там Google не поддерживает. Собственные DNS-серверы Гугла для google.com (ns*.google.com) доступны только по IPv4. В общем, как и с Gmail'ом, поддержка IPv6 в Гугле ограничивается пока только AAAA-записями для веб-серверов. IPv6-only-клиенты с ними работать не смогут, т.к. до этих AAAA-записей не доберутся.

OpenDNS.com

Самый известный и "самый быстрорастущий" (по их собственным словам) публичный DNS-сервер с функцией фильтрации опасных доменов. Про IPv6 и "Всемирный день IPv6" они знают — http://blog.opendns.com/2011/06/07/opendns-world-ipv6-day/ и открыли доступ к своим серверам по IPv6 — http://www.opendns.com/ipv6/. Тестируем сначала IPv4-сервер:
> server 208.67.222.222
Default Server:  resolver1.opendns.com
Address:  208.67.222.222

> set type=ns
> ac.org.ru.
Server:  resolver1.opendns.com
Address:  208.67.222.222

DNS request timed out.
    timeout was 2 seconds.
*** Request to resolver1.opendns.com timed-out
> ac.org.ru.
Server:  resolver1.opendns.com
Address:  208.67.222.222

Неофициальный ответ:
ac.org.ru       nameserver = ns1.ac.org.ru
ac.org.ru       nameserver = ns2.ac.org.ru

Хоть и с задержкой, но с NS справился, в отличие от Гугла.

> set timeout=10
> set type=aaaa
> www.ac.org.ru.
Server:  resolver1.opendns.com
Address:  208.67.222.222

*** No IPv6 address (AAAA) records available for www.ac.org.ru.

Увы, AAAA-записи из DNS-сервера, доступного только по IPv6, он достать не смог (и в DNS-сервере нет обращений за этим доменом в этот момент). Проверим теперь OpenDNS IPv6 Sandbox:

> set timeout=10
> set type=aaaa
> www.ac.org.ru.
Server:  [2620:0:ccc::2]
Address:  2620:0:ccc::2

*** [2620:0:ccc::2] can't find www.ac.org.ru.: Server failed


При этом в логе DNS-сервере видна успешная обработка запросов с IP 208.67.217.4, т.е. OpenDNS записи получил по IPv4, а не по IPv6. С какой стати он пошел по IPv4, может IPv6-адресов для NS не видит? Видит:

> set type=ns
> ac.org.ru.
Server:  [2620:0:ccc::2]
Address:  2620:0:ccc::2

Неофициальный ответ:
ac.org.ru       nameserver = ns1.ac.org.ru
ac.org.ru       nameserver = ns2.ac.org.ru
> set type=aaaa
> ns1.ac.org.ru.
Server:  [2620:0:ccc::2]
Address:  2620:0:ccc::2

Неофициальный ответ:
Name:    ns1.ac.org.ru
Address:  2001:470:1f14:1620::2

> ns2.ac.org.ru.
Server:  [2620:0:ccc::2]
Address:  2620:0:ccc::2

Неофициальный ответ:
Name:    ns2.ac.org.ru
Address:  2001:470:1f15:1620::1

Ладно, может где-то действительно в кэше застряло IPv4, спросим у второго их сервера:
> server 2620:0:ccd::2
Default Server:  [2620:0:ccd::2]
Address:  2620:0:ccd::2

> www.ac.org.ru.
Server:  [2620:0:ccd::2]
Address:  2620:0:ccd::2

Неофициальный ответ:
Name:    www.ac.org.ru
Address:  2001:470:1f15:1620::1

Работает! При этом запросы на DNS-сервер ns1.ac.org.ru поступают с IPv6-адреса [2620:0:cc9::11], т.е. из подсети OpenDNS, всё сходится. В общем будем считать, что поддержка IPv6 там уже реализована, осталось поработать над надежностью и скоростью.

SkyDNS.ru

Русский аналог opendns'а. "Быстрый и безопасный DNS".

> server 193.58.251.251
Default Server:  dns.skydns.ru
Address:  193.58.251.251

> set type=ns
> ac.org.ru.
Server:  dns.skydns.ru
Address:  193.58.251.251

*** dns.skydns.ru can't find ac.org.ru.: Server failed

Начало как у Гугла. Наверное дальше можно не ходить. Но сходим:
> set type=aaaa
> www.ac.org.ru.
Server:  dns.skydns.ru
Address:  193.58.251.251

*** dns.skydns.ru can't find www.ac.org.ru.: Server failed

На текущий момент SkyDNS надежно и быстро защищает вас от IPv6-DNS Ждём апгрейда DNS-серверов, как и в случае с Гуглом.

HE.NET

> server 74.82.42.42
Default Server:  ordns.he.net
Address:  74.82.42.42

> set type=ns
> ac.org.ru.
Server:  ordns.he.net
Address:  74.82.42.42

Неофициальный ответ:
ac.org.ru       nameserver = ns2.ac.org.ru
ac.org.ru       nameserver = ns1.ac.org.ru

ns2.ac.org.ru   AAAA IPv6 address = 2001:470:1f15:1620::1
ns1.ac.org.ru   AAAA IPv6 address = 2001:470:1f14:1620::2

> www.ac.org.ru.
Server:  ordns.he.net
Address:  74.82.42.42

Неофициальный ответ:
Name:    www.ac.org.ru
Address:  2001:470:1f14:1620::2


> server 2001:470:20::2
Default Server:  ordns.he.net
Address:  2001:470:20::2

> set type=aaaa
> www.ac.org.ru.
Server:  ordns.he.net
Address:  2001:470:20::2

> www.ac.org.ru.
Server:  ordns.he.net
Address:  2001:470:20::2

Неофициальный ответ:
Name:    www.ac.org.ru
Address:  2001:470:1f14:1620::2

Запрос на DNS-сервер в обоих случаях поступал с [2001:470:0:7d::2].

У HE.NET, конечно, есть преимущество за счет того, что наш DNS-сервер по сети к нему ближе. Но мы не к таймаутам придираемся, а к работоспособности в целом.

Выводы

Итоговый вывод: из четырех протестированных публичных DNS-служб к IPv6 готовы две. OpenDNS и HE.net работают, Google и SkyDNS — нет.

Ссылки