Поддержка IPv6 в WebEngine


Прошло еще совсем немного времени с того момента, как я оповестил о том, что поддержка протокола IPv6 в WebEngine появится неизвестно когда, как вот уже сегодня она таки появилась. С момента публикации той статьи мы подключили провайдера, предоставляющего услуги подключения по протоколу IPv6, договорились о том, что провайдер будет использовать для нашего подключения наши же IPv6 адреса, а также заменили все маршрутизаторы, которые этот протокол не поддерживали. Итак, настал тот момент, когда на всех наших сайтах появилась полная поддержка IPv6. В блоге, который Вы сейчас просматриваете, будет даже появляться специальный баннер в том случае, если посетитель подключен по IPv6. Единственная загвоздка у нас сейчас в том, что на сервере, где находится большинство наших сайтов, нет возможности подключения нового протокола, а для того, чтобы эта возможность появилась, нужно на некоторое время отключить сайты. Мы пошли несколько иным путем и разместили IPv6-зеркала сайтов на хостинге с поддержкой IPv6. Что правда, выделенные IP-адреса там имеются только четвертой версии, так что пока мы будем пользоваться общим IP-адресом для всех сайтов, размещенных на сервере. Хотя, конечно, очень странно, что хостинг не предоставляет выделенных адресов, которые, исходя из объемов адресного пространства, можно было бы выдавать и без запроса клиента в автоматическом режиме совершенно бесплатно (даже у нас этих адресов такое количество, что мы используем в данный момент лишь 1%).

Никаких сложностей с переходом в ядре IWE обнаружено не было. По сути дела, ядро было изначально готово к переходу. В первых версиях ядра сверялась длина IP-адреса, которая не могла превышать 15-ти символов. Начиная с третьей версии в ядро была включена обновленная функция валидации адресов, которая уже тогда умела распознавать тип адреса. Переписать пришлось лишь механизм блокировки по IP-адресу, который изначально пользовался функцией ip2long, которая для IPv6-адресов недоступна. От этой проблемы мы избавились и теперь заблокировать можно любой IP-адрес. По сути дела, напоминанием об этой функции нам послужила жалоба на форуме хостинга, в которой говорилось о наличии на сайте робота, подключенного по IPv6 и выкачивающего контент с неимоверной скоростью. Заблокировать робота было невозможно по причине того, что механизм блокировки по IP-адресу работал только с адресами четвертой версии. У пользователей IWE таких проблем не будет: со дня запуска все функции блокировки и фильтрации трафика протестированы и прекрасно работают без сбоев.

Единственной проблемой на сегодняшний день является то, что для IPv6-адресов в IWE не будет доступен механизм GeoIP и геофильтрация. Все это связано с тем, что предприятие, которое поставляло нам базы данных GeoIP, на сегодняшний день не то, что не предоставляет такие базы для IPv6, а и для IPv4 уже достаточно давно не выпускает обновлений. Зато whois работает без каких-либо проблем, хотя еще вчера мы полдня не могли составить такое регулярное выражение, чтобы под него мог пройти любой IPv6 адрес.

С нашими адресами для выхода в Интернет тоже есть кое-какая неточность, которая, впрочем, на работу не влияет. Дело в том, что наши IPv6-адреса зарегистрированы не на Украину, соответственно и в уже существующих базах GeoIP определяются так, как положено по данным whois. Теперь вся реклама в Интернете демонстрируется для той страны, на которую адреса зарегистрированы, а не для той, где мы фактически расположены. В принципе, это совсем не раздражает. Раздражает другое: YouTube не дает смотреть видео без просмотра рекламы прежде. Такого с украинскими IP-адресами у нас не было. Не работает пока у нас и внутренняя IPv6 адресация. То есть, внешнее подключение у нас работает и каждому компьютеру назначается IPv6-адрес, но при связи напрямую между офисными компьютерами следует как и раньше использовать внутренние IPv4-адреса. Пока неизвестно когда это дело исправят, но я думаю, что после замены маршрутизатора в этом уже не будет никакой особенной проблемы.


10.03.2013, 15:50
  проекты, обновление, ядро, IWE, WebEngine, IPv4, IPv6.
Просмотров: 3350.
10