eserv.ru // IPv6DNS

wikipost /2011-06-17 14:32/ (v16)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
News
15.05.2012
Eserv504
15.05.2012
ActiveSync
01.04.2012
Eproxy508
25.03.2012
Eserv503
26.02.2012
Eserv502
08.02.2012
UMI.CMS
22.12.2011
Eserv431
20.12.2011
Eproxy507
15.11.2011
Eproxy506
19.09.2011
Eproxy505
08.09.2011
Eserv430
06.09.2011
Lightning
18.07.2011
PoweredBy
16.07.2011
IPv6
08.07.2011
Eproxy5beta1
17.06.2011
IPv6DNS
13.06.2011
IPv6Mail
21.03.2011
Eserv428
22.10.2010
Eserv426
21.10.2010
SSL
22.04.2010
Eserv423
20.04.2010
Eserv4WhatsNew
19.04.2010
EservLDAP
19.04.2010
EservDHCP
19.04.2010
EservRubricator
08.04.2010
EservDNS
08.04.2010
NSСI
08.04.2010
WPAD
27.03.2010
Eserv422
27.03.2010
Eserv4Docs
26.03.2010
Eserv4FAQ
21.03.2010
EservIrc
05.03.2010
Eserv421
05.03.2010
HttpProxy
02.03.2010
EservVideo
02.12.2009
Eserv4Wiki
02.12.2009
Eserv4acWEB
02.12.2009
PopPull
22.11.2009
PigMailPigProxy2/WhatsNew
22.11.2009
PigMail/WhatsNew
22.09.2009
FossilEservHowTo
22.09.2009
SourceCodeManagement
22.09.2009
FossilScm
16.09.2009
SendEmail
08.09.2009
RoundCube
07.05.2009
GitScm
07.05.2009
GitEservHowTo
06.05.2009
SunBird

Поддержка 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/ и открыли доступ к своим серверам по IPv6http://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-серверов, как и в случае с Гуглом.
[UPD: 15.06.2011 SkyDNS известил о запуске поддержки IPv6 в ближайшие дни.]

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 — нет.

Ссылки

Работает на Eserv/7.0.beta1/Linux/x64 (Jan 21 2022)