mail.eserv.ruВойти

IPv6DNS

support
(v12)
  • 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 уже достаточно давно, в этом поверьте на слово или проверьте сами , а мы копнём следующий уровень.
���������� ���������

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

Взяли наш тестовый домен 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 — нет.