Распространение протокола IPv6 достигло важного рубежа. Исчерпание IPv4 адресов

04.11.2019 Звуковые устройства

Два года назад состоялся всемирный старт IPv6 - провайдеры, интернет-компании и тысячи сайтов (среди которых были Facebook, Google, Wikipedia и другие лидеры интернет-рынка) . «Интернет изменился, но пользователи даже не узнали об этом», - амбициозно писали тогда зарубежные СМИ для гиков. Внедрение IPv6 называли самым мощным апгрейдом за всю историю Cети. Что изменилось за два года?

Закончились адреса

Переход на новый протокол был необходим - адреса в IPv4 стремительно заканчивались, а вопросом ближайшего будущего должен был стать , обещающий появление миллионов новых устройств, каждое из которых, по-хорошему, должно иметь свой IP-адрес.

Вообще-то IPv4 задумывался, как раз чтобы у каждого устройства был IP-адрес. Сейчас та же идея лежит в основе IPv6 (с учетом, образно, холодильников). Правда, когда разрабатывался IPv4, никто не думал, что скоро у каждого пользователя будет в обиходе несколько гаджетов. В 2001 году в мире было 360 млн интернет-пользователей, в 2012-м - 2,3 млрд. В 2017 ожидают уже 5 млрд юзеров. IPv4 мог дать только 4,3 млн адресов. Количество же IPv6-адресов можно представить, как 3,4 х 10 38 , по замыслу - должно хватить на всех жителей земли.

Глобальный пул IPv4 адресов IANA был исчерпан 3 февраля 2011-го. Как «таяли» адреса, можно понять по статистике: в октябре 2005 было 64 сетей /8 IPv4 (в каждой из них по 16 с лишним млн адресов), в октябре 2010 было уже 12 сетей /8, а в феврале 2011 - ноль.

IPv 6- рекорды

Страны осваивают протокол неравномерно: в США сейчас освоено 7,31% IPv6-адресов, в Бельгии - 16,84%, в Германии - 8,03%, в Румынии - 7,71%, в Швейцарии - 9,48%, в Японии - 3,48%. Такие данные представила президент Совета Швейцарии по вопросам внедрения IPv6 Сильвия Хаген на недавней конференции «IPv6 Day and more» в Санкт-Петербурге .

Развертывание протокола в России - 12,99% (по методике Cisco). Из рейтинга Alexa 28 сайтов уже работают на IPv6 в России (2 сайта имеют IPv6 в записи DNS, но сайты на протоколе не работают, и 4 тестируют технологию, но не имеют записи в DNS).

По данным Максима Буртикова из RIPE NCC, в России сети IPv6 получили уже 40% российских участников RIPE NCC, и это в абсолютных цифрах является европейским рекордом. На втором месте в Европе по количеству адресов IPv6 находится Украина. По внедрению же IPv6 среди стран СНГ лидируют Армения и Беларусь.

Протокол для роста

Конечно, в день запуска нового протокола, Интернет не прекратил существование, но расти вместе с IPv4 он больше не может, тогда как IPv6 создан для роста в будущем.

Небольшое количество IPv4-адресов все еще доступно - RIPE NCC и APNIC разработали специальные правила распределения оставшихся адресов. Разрешена передача неиспользуемых блоков IPv4 от одного члена RIPE NCC к другому. Это так называемый «вторичный рынок» IPv4. RIPE NCC не выступает стороной при передаче (их задача - актуальность реестра, обновление данных), но передача должна проходить в соответствии с политиками RIPE. Занимаются «перераспределением» «старых» IP-адресов брокеры, список которых доступен на www.ripe.net .

IPv 6 в России

«IPv6 в России развивается так же, как и в других странах мира, - рассказала Марина Никерова , заместитель генерального директора Технического центра Интернет, - пока что ни одна из стран не может похвастаться полным переходом на IPv6. Но это и не нужно - переход на IPv6 будет идти постепенно, по мере роста устройств, подключенных к Интернету. Сейчас одна из основных тенденций - это «экономное» расходование ресурса IPv4, когда появляется вторичный рынок этих адресов, достаются адреса, запасенные «на всякий случай» и т.д. Это вполне объяснимо - для внедрения IPv6 требуется смена оборудования, поэтому основной скачок произойдет в тот момент, когда большая часть используемого на сетях оборудования окажется физически и морально устаревшим и потребует замены.

Основная же российская (как, впрочем, и других стран) проблема - это малое число пользователей IPv6. И здесь необходимо продвижение этого протокола, пропаганда его, с одной стороны, и решения, позволяющие обычному пользователю перейти на IPv6 практически незаметно для себя. Но, по мнению многих экспертов, в ближайшие три года следует ожидать серьезного роста числа конечных пользователей, подключенных по IPv6: примерно 50% пользователей к 2017 году».

«Бесшовный вариант» возможен, например, в тех случаях, когда оператор или провайдер берет на себя установку конечного абонентского оборудования. Так, например, поступили в Швейцарии, где провайдеры провели акцию, предусматривающую замену абонентского оборудования, работающего только по IPv4 на технику, поддерживающую IPv6.

«Два года назад прогнозы по развитию IPv6 были очень и очень осторожны, - говорит Марина Никерова, - никто и предположить не мог, что в 2014 году более трети интернет-сайтов будут поддерживать IPv6. Тем не менее, это произошло. Прогноз по внедрению протокола IPv6 среди конечных пользователей также уже скорректирован: вместо 50% к 2020 году (как предполагали участники «Дня IPv6» в 2012 году) сегодня основной прогноз - это 50% к 2017 году».

Недешевый апгрейд

Экcперты уверяют, что вложения в IPv6 - это инвестирование в будущее. Но провайдеры, в том числе и для того, чтобы экономить IP-адреса, используют, например, NAT (Network Address Translation). Во время работы с NAT происходит подмена IP-адреса, то есть вовне все устройства сети выглядят как один адрес. Это дорого (требует больших вычислительных мощностей), усложняется система логирования (пользователь не равен IP-адресу), существует проблема с black-листами, когда под отключение попадают сразу много IP-адресов - и сайты, и юзеры). Кроме того, NAT дает простор для деятельности киберпреступников и сильно затрудняет борьбу с ними для правоохранительных органов. Максим Буртиков из RIPE NCC предлагает использовать вариант работы с NAT с осторожностью - как временное решение, внедряя параллельно IPv6.

Проблема с внедрением IPv6 - это проблема в обеспечении связности между IPv4 и IPv6. Контент-провайдеры, например, хотят использовать оба протокола, чтобы отдавать IPv6 тем пользователям, у которых плохой IPv4. Интернет-провайдеры не хотят менять рабочее, выполняющее свои функции оборудование без крайней необходимости. Затраты среднего оператора широкополосного доступа только на подготовку своей сети к работе по новому интернет-протоколу составят около $6 на абонента. С учетом необходимости замены абонентских устройств этот показатель вырастет до $20. Правда, практически все современное коммутационное оборудование, выпускаемое в последние годы, поддерживает оба протокола, так что поддержка IPv6 растет по мере плановой смены оборудования.

А вот хакеры пока интереса к IPv6 не проявляют: «Это для них экономически невыгодно. , - считает Марина Никерова, - Но с ростом числа пользователей, будет расти и количество хакеров, которые будут взламывать сети IPv6».

Представители интернет-сообщества говорят, что на данном этапе развертывания IPv6 не помешала бы поддержка государства: это могла бы быть и поддержка производителей оборудования с IPv6, и продвижение IPv6 среди населения, и перевод государственных сетевых ресурсов на IPv6 - это был бы хороший пример для всех. Марина Никерова говорит, что в Европе, например, действует программа «Цифровая Европа», в соответствии с которой IPv6 должны поддерживать все государственные ресурсы европейских стран.

Internet Protocol version 6 ) - новая версия протокола , призванная решить проблемы, с которыми столкнулась предыдущая версия (IPv4) при её использовании в Интернете , за счёт использования длины адреса 128 бит вместо 32. Протокол был разработан IETF .

В настоящее время протокол IPv6 уже используется в нескольких тысячах сетей по всему миру (более 14000 сетей на осень ), но пока ещё не получил столь широкого распространения в Интернете, как IPv4. На конец 2012 года доля IPv6 в сетевом трафике составляла около 1 % . К концу 2013 года ожидался рост до 3 % . В России коммерческое использование операторами связи невелико (не более 1 % трафика). DNS -серверы многих российских регистраторов доменов и провайдеров хостинга используют IPv6

После того, как адресное пространство в IPv4 закончится, два стека протоколов - IPv6 и IPv4 - будут использоваться параллельно (англ. dual stack ), с постепенным увеличением доли трафика IPv6, по сравнению с IPv4. Такая ситуация станет возможной из-за наличия огромного количества устройств, в том числе устаревших, не поддерживающих IPv6 и требующих специального преобразования для работы с устройствами, использующими только IPv6.

Энциклопедичный YouTube

    1 / 5

    ✪ Как перейти на IPv6 и сделать Интернет качественнее

    ✪ Протокол IPv6: Интернет для будущих поколений

    ✪ Настройка IPv6 сети в Windows 7

    ✪ Отличие IPv6 от IPv4

    ✪ iForum 2013, Владимир Кириллов и Дмитрий Кохманюк. Доклад: "IPv6 - Интернет протокол, версия 6"

    Субтитры

История создания

В конце 1980-х стала очевидна необходимость разработки способов сохранения адресного пространства Интернета. В начале 1990-х, несмотря на внедрение бесклассовой адресации , стало ясно, что этого недостаточно для предотвращения исчерпания адресов и необходимы дальнейшие изменения инфраструктуры Интернета. К началу 1992 года появилось несколько предложений, и к концу 1992 года IETF объявила конкурс для рабочих групп на создание интернет-протокола следующего поколения (англ. IP Next Generation - IPng). 25 июля 1994 года IETF утвердила модель IPng, с образованием нескольких рабочих групп IPng. К 1996 году была выпущена серия RFC , определяющих Интернет протокол версии 6, начиная с RFC 1883 .

IETF назначила новому протоколу версию 6, так как версия 5 была ранее назначена экспериментальному протоколу , предназначенному для передачи видео и аудио.

Исчерпание IPv4 адресов

Оценки времени полного исчерпания IPv4 адресов различались в 2000-х. Так, в 2003 году директор APNIC Пол Уилсон (англ. Paul Wilson ) заявил, что, основываясь на темпах развёртывания сети Интернет того времени, свободного адресного пространства хватит на одно-два десятилетия. В сентябре 2005 года Cisco Systems предположила, что пула доступных адресов хватит на 4-5 лет.

По состоянию на сентябрь 2015 года об исчерпании общего запаса свободных блоков IPv4 адресов и ограничениях на выдачу новых диапазонов адресов объявили все региональные регистраторы, кроме AfriNIC; ARIN объявил о полном исчерпании свободных IPv4 адресов, а для остальных регистраторов этот момент прогнозируется начиная с 2017 года. Выделение IPv4 адресов в Европе, Азии и Латинской Америке (регистраторы APNIC , RIPE NCC и LACNIC) продолжается блоками /22 (по 1024 адреса)

Тестирование протокола

При получении первого пакета с меткой потока маршрутизатор анализирует дополнительные заголовки, выполняет предписанные этими заголовками функции и запоминает результаты обработки (адрес следующего узла, опции заголовка переходов, перемещение адресов в заголовке маршрутизации и т. д.) в локальном кэше . Ключом для такой записи является комбинация адреса источника и метки потока. Последующие пакеты с той же комбинацией адреса источника и метки потока обрабатываются с учётом информации кэша без детального анализа всех полей заголовка.

Время жизни записи в кэше составляет не более 6 секунд, даже если пакеты этого потока продолжают поступать. При обнулении записи в кэше и получении следующего пакета потока пакет обрабатывается в обычном режиме, и для него происходит новое формирование записи в кэше. Следует отметить, что указанное время жизни потока может быть явно определено узлом отправителем с помощью протокола управления или опций заголовка переходов и может превышать 6 секунд.

Обеспечение безопасности в протоколе IPv6 осуществляется с использованием протокола IPsec , поддержка которого является обязательной для данной версии протокола.

QoS

Приоритет пакетов маршрутизаторы определяют на основе первых шести бит поля Traffic Class . Первые три бита определяют класс трафика, оставшиеся биты определяют приоритет удаления. Чем больше значение приоритета, тем выше приоритет пакета.

Класс трафика Назначение
0 Нехарактеризованный трафик
1 Заполняющий трафик (сетевые новости)
2 Несущественный информационный трафик (электронная почта)
3 Резерв
4 Существенный трафик (FTP , HTTP , NFS)
5 Резерв
6 Интерактивный трафик (Telnet , X-terminal, SSH)
7 Управляющий трафик (Маршрутная информация, SNMP)

Механизмы безопасности

В отличие от SSL и TLS , протокол IPsec позволит шифровать любые данные (в том числе UDP) без необходимости какой-либо поддержки со стороны прикладного ПО.

Основы адресации IPv6

Существуют различные типы адресов IPv6: одноадресные (Unicast), групповые (Anycast) и многоадресные (Multicast).

Адреса типа Unicast хорошо всем известны. Пакет, посланный на такой адрес, достигает в точности интерфейса, который этому адресу соответствует.

Адреса типа Anycast синтаксически неотличимы от адресов Unicast, но они адресуют группу интерфейсов. Пакет, направленный такому адресу, попадёт в ближайший (согласно метрике маршрутизатора) интерфейс. Адреса Anycast могут использоваться только маршрутизаторами.

Адреса типа Multicast идентифицируют группу интерфейсов. Пакет, посланный на такой адрес, достигнет всех интерфейсов, привязанных к группе многоадресного вещания.

Широковещательные адреса IPv4 (обычно xxx.xxx.xxx.255) выражаются адресами многоадресного вещания IPv6. Крайние адреса подсети IPv6 (например, xxxx:xxxx:xxxx:xxxx:0:0:0:0 и xxxx:xxxx:xxxx:xxxx:ffff:ffff:ffff:ffff для подсети /64) являются полноправными адресами и могут использоваться наравне с остальными.

Группы цифр в адресе разделяются двоеточиями (например, fe80:0:0:0:200:f8ff:fe21:67cf). Незначащие старшие нули в группах могут быть опущены. Большое количество нулевых групп может быть пропущено с помощью двойного двоеточия (fe80::200:f8ff:fe21:67cf). Такой пропуск должен быть единственным в адресе.

Типы Unicast-адресов

  • Глобальные

Соответствуют публичным IPv4-адресам. Могут находиться в любом не занятом диапазоне. В настоящее время региональные интернет-регистраторы распределяют блок адресов 2000::/3 (с 2000:: по 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF).

  • Link-Local

Соответствуют автосконфигурированным с помощью протокола APIPA IPv4 адресам. Начинаются с FE80:. Используется:

  1. В качестве исходного адреса для Router Solicitation(RS) и Router Advertisement(RA) сообщений, для обнаружения маршрутизаторов .
  2. Для обнаружения соседей (эквивалент ARP для IPv4).
  3. Как next-hop-адрес для маршрутов .
  • Unique-Local

RFC 4193 , соответствуют внутренним IP-адресам, которыми в версии IPv4 являлись 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Начинаются с цифр FCxx: и FDxx:.

Типы Multicast-адресов

Адреса мультикаст бывают двух типов:

  • Назначенные (Assigned multicast ) - специальные адреса, назначение которых предопределено. Это зарезервированные для определённых групп устройств мультикастовые адреса. Отправляемый на такой адрес пакет будет получен всеми устройствами, входящими в группу.
  • Запрошенные (Solicited multicast ) - остальные адреса, которые устройства могут использовать для прикладных задач. Адрес этого типа автоматически появляется, когда на некотором интерфейсе появляется юникастовый адрес. Адрес формируется из сети FF02:0:0:0:0:1:FF00::/104, оставшиеся 24 бита - такие же, как у настроенного юникастового адреса.

Формат пакета

Пакеты состоят из управляющей информации, необходимой для доставки пакета адресату, и полезных данных, которые требуется переслать. Управляющая информация делится на содержащуюся в основном фиксированном заголовке, и содержащуюся в одном из необязательных дополнительных заголовков. Полезные данные, как правило, это

IP-адреса - это цифровые последовательности, которые направляют интернет-трафик по нужному адресу, причем пользователи обычно этого не замечают. Например, когда в строке браузера набирается адрес www.facebook.com, происходит соединение с компьютером, зарегистрированным по цифровому адресу 66.220.149.32. В данном случае адреса формируются в соответствии с протоколом IPv4, который был создан в 1977 г. и предполагал наличие около 4,3 млрд адресов. По данным Американского реестра интернет-номеров, число свободных IP-адресов сократилось с 1 млрд в 2006 г. до 117 млн в декабре 2010 г. Это связано с тем, что все больше различных устройств подключается к интернету.

На смену придет протокол IPv6, который дает возможность создавать триллионы IP-адресов. Протокол IPv6, обеспечивающий гораздо большую номерную емкость, был создан в начале 2000-х годов, но он несовместим с IPv4.

Что такое протокол IP и почему он так важен для Интернета?

IP впору назвать кровеносной системой Интернета. Если посмотреть на информацию, передаваемую между сетевыми устройствами по беспроводным каналам, медным кабелям и оптическому волокну, то вы заметите, что она состоит из крошечных цифровых пакетов, или "IP-пакетов", состоящих из нулей и единиц. Эти пакеты представляют собой фундаментальную основу Интернета. Их можно сравнить с атомами, составляющими физическую материю, или клетками, из которых состоят живые организмы. Ежесекундно через Интернет проходят триллионы IP-пакетов. В начале каждого пакета есть "заголовок", показывающий маршрутизаторам и коммутаторам, откуда пришла информация и куда ее следут передать. Внедрение протокола IP вызвало настоящий переворот в мире глобальных электронных коммуникаций.

Что такое IPv6 и зачем он нужен лично мне?

Протокол IP был разработан в передовой исследовательской лаборатории. Четвертой версии этого протокола (IPv4) предшествовало несколько более ранних версий, но именно IPv4 приобрел в 1980-1990 годы коммерческую популярность и продолжает активно использоваться до сих пор. Новая версия – IPv6 – была разработана для решения ряда проблем своего предшественника. Главная из них – ограниченное адресное пространство. IPv4 поддерживает 4,3 миллиарда уникальных глобальных адресов, и это ограничение не менялось с момента появления данной версии в 1981 году. Поскольку Интернет стал неотъемлемой частью нашей повседневной жизни, переход с IPv4 на IPv6 должен проходить гладко и незаметно для пользователей. Задача важная и непростая. Ее можно уподобить незаметной для пассажиров смене колес на высокоскоростном поезде. Кем бы вы ни были: ИТ-специалистом, любителем новых технологий или руководителем компании, – вам необходимо осознать проблему ограниченного адресного пространства IPv4 и начать переход к IPv6, тем более, что мир уже совершает такой переход. Он окажет огромное влияние на будущий рост и развитие Интернета в интересах миллиардов людей, использующих глобальную сеть в повседневной жизни для работы, учебы и отдыха.

Адреса IPv4 закончились в 2012 году

Почему же Интернет по-прежнему работает и развивается? Представьте себе огромную шахматную доску с 4 миллиардами клеток. На этой доске есть отдельные зоны, по многу клеток в каждой, которые присваиваются различным организациям, компаниям и интернет-провайдерам, а те, в свою очередь, устанавливают на каждой клетке персональный компьютер, ноутбук, планшет, смартфон , сервер или другое устройство. Сеть может передавать пакеты данных в любую клетку (и на установленное на ней устройство). Поскольку в протоколе IPv4 количество клеток ограничено 4 миллиардами, устройствам на шахматной доске становится тесно. И хотя связь между ними не прерывается, рост сети приостанавливается, а ее эффективность падает. Именно это мы сейчас наблюдаем в Интернете. Протокол IPv4 все еще работает, но нам нужна шахматная доска еще больших размеров (IPv6), позволяющая Интернету расти и расширять свою функциональность в соответствии с нашими ожиданиями.

Почему IPv6 так важен для Всеобъемлющего Интернета?

"Игровое поле" IPv6 намного шире, чем у IPv4. Оно дает огромный простор для дальнейшего развития. Это особенно важно для Всеобъемлющего Интернета, поскольку IPv6 поддерживает практически неограниченное число IP-адресов, необходимых для подключения десятков миллиардов людей, процессов, информационных блоков и неодушевленных предметов, из которых строится Всеобъемлющий Интернет. IPv6 в четыре раза увеличивает количество битов в адресном поле. Адресное поле IPv4 состоит из 32 битов, а у IPv6 – из 128. В результате увеличивается количество напрямую подключаемых сетей и появляется возможность автоматической настройки IP-адресов в любой локальной сети. Наши возможности значительно расширяются, так как количество квадратов в нашем воображаемом игровом поле будет равняться двум в 128-ой степени. Это значит, что у нас появится более ста свободных квадратов для размещения каждого атома, находящегося на поверхности Земли.

Куда делся протокол IPv5?

Первые 4 бита в заголовке IP-пакета указывают на тип этого пакета, то есть, практически, на версию протокола IP. В пакетах IPv4 в этом поле выставляется число "4" (в двоичном счислении – 0100), а в пакетах IPv6 – число "6" (0110). Версия IPv5 (0101), разработка которой началась еще в 1979 году, на практике превратилась в протокол потоковой передачи (Internet Stream Protocol), и несмотря на число "5" в заголовке, отличающее пакеты IPv5 от других типов IP-трафика, этот протокол никогда не рассматривался в качестве преемника IPv4. Таким образом, следующей после IPv4 версией IP-протокола стал протокол IPv6.

Отличия от IPv4

Сейчас сетевой адрес узла в Сети, построенный по протоколу IP, является записью в виде четырех десятичных чисел (от 0 до 255), разделенных точками, например, 192.168.0.1. Основная особенность протокола IPv6 по сравнению с IPv4 - это длина адреса в 128 бит вместо 32. Собственно, это и является причиной перехода, так как количество адресов в случае с IPv6 будет значительно большим, что позволит расширить адресное пространство и решит проблему нехватки адресов. В 6-й версии IP-адрес (IPv6) разделяется двоеточиями и может выглядеть примерно так: fe80:0:0:0:200:f8ff:fe21:67cf.

Преимущества

После перехода на IPv6 провайдеры смогут предоставлять всем пользователям уникальные сетевые адреса, тогда как сейчас многие пользователи находятся за одним IP-адресом, используя технологию NAT (механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов).

Особенно важен IPv6 для работы инновационных приложений, которые предполагают использование большого количества сетевых устройств, требующих широкого адресного пространства, - протокол будущего позволяет избежать нехватки IP адресов. Речь идет о таких приложениях и сервисах нового поколения, как machine-to-machine, sensor networks, системы мониторинга окружающей среды, потребления энергии, охранные системы и телемедицина. Новый протокол IPv6 обеспечивает более эффективный способ распределения и конфигурации IP адресов, позволяя присваивать уникальный IP адрес любому устройству, а также упрощает маршрутизацию трафика и повышает безопасность при передаче данных.

По мнению эксперта, переход на новый протокол поможет и в борьбе с вирусами и спамом. Если у каждого пользователя будет свой уникальный IP-адрес, это позволит, например, различным веб-сервисам более точно оценивать количество посетителей. А в случае если на одном из компьютеров в сети будет вирус, рассылающий спам, то в блоклисты почтовых служб попадет не вся сеть, а только конкретный компьютер.

Использование IPv6

Сейчас в интернете для идентификации устройств в основном используется адресация в IPv4. Количество IP-адресов для устройств в этом протоколе составляет в мире порядка 4,3 миллиарда и уже практически исчерпано из-за длины IP-адреса в 32 бита. В адресном пространстве IPv6 задействованы 128 бит, что делает практически бесконечным количество адресуемых в интернете устройств. По прогнозам аналитических агентств, количество подключенных устройств IoT в мире к 2020 году превысит 20 миллиардов и будет далее расти взрывными темпами.

В рамках услуги «Доступ к IPv6» МТС обеспечит плавную миграцию клиентов на новую сетевую архитектуру благодаря параллельному использованию обоих протоколов в режиме «Dual-Stack», когда каждое устройство в мобильной сети будет использовать два IP-адреса - IPv4 и IPv6 - в рамках каждой сессии передачи данных.

Протокол IPv6 поддерживают большинство современных устройств. Для активации смартфона или планшета на ОС Android в сети МТС в режиме Dual-Stack IPv4/IPv6 в настройках необходимо указать точку доступа internet.mts.ru, выбрать протокол APN - IPv4/IPv6 и перезагрузить устройство. В ближайшее время протокол IPv6 можно будет включить и на устройствах Apple .

МТС начала подготовку к внедрению IPv6 около 10 лет назад. Еще в 2008 году на всей магистральной сети МТС в России была запущена поддержка нового протокола. В 2013 году входящая в Группу МТС «Московская городская телефонная сеть» начала предоставлять услуги доступа в интернет с использованием протокола IPv6 на базе оптической сети GPON .

Опираясь на свой обширный опыт крупномасштабных внедрений протокола IPv6, финская корпорация Stonesoft , разработчик инновационных решений по сетевой защите и обеспечению непрерывности бизнеса, активно помогает предприятиям и государственным учреждениям безопасным и экономически-эффективным путем перейти на протокол IPv6. Stonesoft делиться 10 идеями как помочь CISO и системным администраторам развеять мифы вокруг внедрения протокола IPv6 и расположить по приоритетам их инициативы в области безопасности.

  • Максимально модернизируйте свою существующую сеть: модернизация сети IPv4 представляет собой замену всех устаревших узлов и неактуальных функций новыми. Начните с обновления всех узлов сети до следующего уровня и Вам будет легче и безопаснее внедрить IPv6, избежав множества трудностей и возможных проблем.
  • Спланируйте последовательное внедрение: Возьмем к примеру, администрацию социального обеспечения (), которая внедряла IPv6 в течение уже почти 5 лет. Окончательный переход планируется осуществить в три стадии в течение еще 6 лет. Вам не обязательно придерживаться такого же медленного темпа, как это происходит в правительственных учреждениях, но постепенное внедрение IPv6 даст вам достаточно времени, чтобы убедиться, что внедренный IPv6 слаженно функционирует вместе с Вашей существующей модернизированной на предыдущем этапе IPv4 инфраструктурой. К тому же, вы сможете контролировать бюджет.
  • Параллельно используйте оба стека протоколов: При переходе на IPv6 выбирайте режим работы двойного стека протоклов - IPv4 и IPv6. Использование двойного стека протоколов выгодно, хотя при параллельной работе протоколов может потребоваться обновление маршрутизаторов для соответствия параметрам памяти и потребляемой мощности сети. К тому же, для большего упрощения перехода двойной стек позволяет Вашей системе поддерживать и те приложения, которые еще не работают с протоколом IPv6. Использование двойного стека также поможет исключить необходимость в сетевых туннелях, которые очень часто являются проблемой для специалистов по безопасности.
  • Позаботьтесь о сетевых туннелях: Национальный институт стандартов и технологий (NIST, США) в «Руководстве по безопасному внедрению IPv6» предлагает рассматривать туннели как внешние ссылки: с особой осторожностью. Прежде, чем позволить «войти» или «выйти» из системы, рекомендуется тщательно проинспектировать весь туннелированный IPv6 трафик, в том числе и IPv4 пакеты, с той же тщательностью и систематически, как Вы инспектируете весь свой трафик. Предлагается использовать обычные в таких случаях средства защиты от вирусов, системы обнаружения и предотвращения вторжений, фильтры входящего сетевого трафика, пакетные фильтры и прокси уровня приложений. Кроме того, для защиты конечных точек имеет смысл использовать такие дополнительные надежные меры безопасности, как аутентификация.
  • Не упускайте из виду злоумышленников: Злоумышленникам уже удалось проникнуть в протокол IPv6, причем даже быстрее, чем в другие технологии. Не забывайте о предупреждениях безопасности маршрутизатора и атаках типа «man in the middle». Некоторые сетевые атаки позволяют глубоко проникнуть в систему быстрее, чем вы осознаете происходящее, что еще больше усугубит ущерб. Такие атаки могут происходить от скриптов, кажущаяся простота которых может ввести в заблуждение. Запоминание всех видов атак и соответствующее им противодействие не всегда представляется возможным. Важно быть готовым и помнить о том, что уже существует великое множество видов атак, и ожидается, что их станет еще больше!
  • Используйте сертифицированные IPv6-ready межсетевые экраны: Относитесь с осторожностью к заявлениям вендоров о соответствии протоколу IPv6. Если продукт не прошел сертификацию третьими сторонами, то, вероятно, вендор может просто встроить «генератор трафика» в свой продукт и при этом утверждать, что это работает. Следует выбирать продукты, прошедшие сертификацию третьими сторонами. Только в этом случае используются общественно признанные методы оценки, которые помогут вам удостовериться в том, каковы реальные возможности вашего межсетевого экрана .
  • Внедрите аутентификацию: аутентификация становится все важнее, и, к счастью, все доступнее, чем раньше. Компания Stonesoft рекомендует использование HTTP/HTTPS прокси для выхода пользователей в Интернет. Как только Вы установите необходимые параметры аутентификации, вы уменьшите количество угроз из нежелательных источников, пытающихся проникнуть в Вашу сеть без Вашего ведома и желания.
  • Изучите синтаксис протокола IPv6. Синтаксис IPv6, с одной стороны, очень схож с синтаксисом протокола IPv4, но с существенными различиями в базе. Знание синтаксиса поможет Вам быстрее устранить слабые места в защите или внедрить необходимые меры безопасности. Ввиду того, что протокол IPv6 существует уже более десяти лет, нет недостатка в информации по этому вопросу, в том числе от нескольких известных технологических талмудов, например, как 188-страничное руководство от правительства США.
  • Пользуйтесь кнопкой отключения. Это может звучать странно, но все не так однозначно – отключайте протокол IPv6, когда Вы его не используйте. Это обусловлено тем, что целый ряд программ был сконфигурирован для работы с IPv6, и еще большее число приложений может иметь встроенный протокол IPv6 по умолчанию. Проверьте дважды или трижды вашу сетевую среду, чтобы удостовериться, что функции протокола IPv6 активированы только тогда, когда они на самом деле используются. Своевременное использование кнопки отключения в общем случае может быть очень полезным.
  • Своевременно нейтрализуйте: даже если в большей части сегментов Вашей сети отключена функция протокола IPv6, вы все еще можете подвергаться угрозе со стороны нежелательных пользователей IPv6. Если эта угроза станет реальностью, Вам нужно знать, как нейтрализовать ее прежде, чем будут поражены другие пользователи Вашей сети. Именно здесь жизненно важно применить знания синтаксиса IPv6, в особенности для конфигурации эффективных межсетевых экранов и сетевых фильтров. Вы можете создавать фильтры, разрешающие нужный вам трафик и блокирующие нежелательный, а также убедиться в том, что IPv6 функционирует должным образом именно тогда, когда это Вам необходимо.

По данным Google’s IPv6 Statistics, 17 ноября 2012 года количество пользовательских действий на веб-сайтах в нативной среде IPv6 впервые в истории достигло 1 процента. На первый взгляд, эта цифра не впечатляет, но для такой обширной сети, как Интернет, где к 2016 году будет насчитываться 19 млрд активных фиксированных и мобильных сетевых соединений, даже один процент составляет внушительный показатель. Миллиарды приложений, устройств, маршрутизаторов и коммутаторов, составляющих Интернет, подключены между собой таким образом, что если на всем маршруте между пользователем и источником контента хотя бы одно устройство не поддерживает IPv6, вся система автоматически откатывается на IPv4.Это сделано для поддержки непрерывной работы Интернета в процессе перехода на новый протокол. В результате все преимущества сквозной передачи трафика по каналам IPv6 станут доступны лишь после того, как IPv6 станут поддерживать все без исключения звенья сетевой цепочки.

Чтобы лучше понять, как идет процесс модернизации каждого компонента, Cisco использует несколько важнейших индикаторов и статистику внедрения IPv6 в разных регионах. Все эти данные собираются интерактивным инструментом, работающим на сайте 6lab.cisco.com, где можно ознакомиться с ходом внедрения IPv6 с разных точек зрения. С помощью этого интерактивного инструмента вы можете ”заглянуть” в любую страну, чтобы получить представление о том, как там идет процесс перехода на протокол IPv6. К примеру, наведя курсор на Соединенные Штаты Америки, вы увидите, что в этой стране 57 процентов сетей, выступающих как транзитные сети IPv4, уже поддерживают и IPv6. Вы также увидите, что, по оценке компании Google, численность американских пользователей, работающих с IPv6, на 1,93 процента превышает среднемировой уровень и что средний американец, работая в Интернете, 45 процентов времени проводит на сайтах, поддерживающих IPv6. Кроме того, на сайте 6lab.cisco.com вы можете познакомиться с методологией, использованной для составления рейтингов и определения процентных показателей.

В 2007 году, когда Google впервые опубликовал метрики IPv6, частота нативного использования IPv6 составляла всего 0,04 процента. За последние пять лет совместными усилиями наша отрасль увеличила этот показатель на 2 500 процентов, заодно увеличив количество пользователей Интернета на 1 млрд человек.

Цель всемирного запуска IPv6 состояла в стимулировании дальнейшего распространения IPv6 после 6 июня 2012 года. Продолжение роста после 6 июня и достигнутый 17 ноября рубеж показывают, что наши усилия приносят желаемый результат. "Общество Интернета" продолжает предоставлять результаты измерений участникам всемирного запуска IPv6 и привлекать к этому процессу новых участников. Сегодня в список участвующих в это процессе сетевых операторов входит достаточно много компаний. Среди них не только интернет-провайдеры, но и университеты и другие владельцы сетей различных типов. Любая сеть, имеющая собственный номер автономной системы (AS), может измеряться и включаться в список участников. Cisco в этом списке значится под номером AS 109. Мы - первая и пока единственная в мире компания, участвующая во всемирном запуске IPv6 одновременно во всех трех категориях.

В марте 2011 года пользовательская активность IPv6, по метрикам Google, составила 0,25 процента. Через год, 10 марта 2012 года, она удвоилась и составила 0,5 процента. Еще через 8 месяцев она снова удвоилась, достигнув нынешнего уровня в 1,0 процента. Если эта тенденция продолжится, к середине следующего года показатель удвоится в очередной раз, а к концу 2014 года выйдет на уровень, превышающий 10 процентов. Таким образом, совершенно ясно: если вы сетевой оператор, сетевой разработчик приложений или любой другой специалист, использующий IP, и если вы еще не работаете с IPv6 и не имеете планов перехода на этот протокол в ближайшем будущем, пора незамедлительно браться за дело!

  • Tutorial

Abstract: Рассказ про некоторые возможности IPv6 на примере конфигурации сложной домашней IPv6-сети. Включает в себя описания мультикаста, подробности настройки и отладки router advertisement, stateless DHCP и т.д. Описано для linux-системы. Помимо самой конфигурации мы внимательно обсудим некоторые понятия IPv6 в теоретическом плане, а так же некоторые приёмы при работе с IPv6.

Зачем IPv6?

Вполне понятный вопрос: почему я ношусь с IPv6 сейчас, когда от него сейчас нет практически никакой пользы?

Сейчас с IPv6 можно возиться совершенно безопасно, без каких-либо негативных последствий. Можно мирно разбираться в граблях и особенностях, иметь его неработающим месяцами и nobody cares . Я не планирую в свои старшие годы становиться зашоренным коболистом-консерватором, который всю жизнь писал кобол и больше ничего, и все новинки для него «чушь и ерунда». А вот мой досточтимый воображаемый конкурент, когда IPv6 станет продакт-реальностью, будет либо мне не конкурентом, либо мучительно и в состоянии дистресса разбираться с DAD, RA, temporary dynamic addresses и прочими странными вещами, которым посвящено 30+ RFC. А что IPv6 станет основным протоколом ещё при моей жизни - это очевидно, так как альтернатив нет (даже если бы они были, их внедрение - это количество усилий бОльшее, чем завершение внедрения IPv6, то есть любая альтернатива всегда будет отставать). И что адреса таки заканчиваются видно, по тому, как процесс управления ими перешёл во вторую стадию - стадию вторичного рынка. Когда свободные резервы спекуляций и хомячаяния адресов закончится, начнётся этап суровой консолидации - то есть выкидывание всего неважного с адресов, перенос всех «на один адрес» и т.д. Примерно в это время IPv6 начнёт использоваться для реальной работы.

Впрочем, рассказ не про будущее IPv6, а про практику работы с ним. В Санкт-Петербурге есть такой провайдер - Tierа . И я их домашний пользователь. Это один из немногих провайдеров, или, может быть, единственный в городе, кто предоставляет IPv6 домашним пользователям. Пользователю выделяется один IPv6 адрес (для маршрутизатора или компьютера), плюс /64 сетка для всего остального (то есть в четыре миллиарда раз больше адресов, чем всего IPv4 адресов быть может - и всё это в одни руки). Я попробую не просто описать «как настроить IPv6», но разобрать базовые понятия протокола на практических примерах с теоретическими вставками.

Структура сети:

В практическом смысле это означает, что мы можем отправить бродкаст пинг всем узлам, или всем маршрутизаторам. Правда, нам для этого придётся указать имя интерфейса, в отношении которого мы интересуемся cоседями.

Ping6 -I eth2 FF02::2
64 bytes from fe80::218:e7ff:fe16:fb97: icmp_seq=1 ttl=64 time=0.039 ms 64 bytes from fe80::768e:f8ff:fe93:21f0: icmp_seq=1 ttl=64 time=0.239 ms (DUP!) 64 bytes from fe80::211:2fff:fe23:5763: icmp_seq=1 ttl=64 time=1.38 ms (DUP!) 64 bytes from fe80::5a6d:8fff:fef5:6235: icmp_seq=1 ttl=64 time=5.68 ms (DUP!) 64 bytes from fe80::cad7:19ff:fed5:25b8: icmp_seq=1 ttl=64 time=7.20 ms (DUP!) 64 bytes from fe80::22aa:4bff:fe1e:9e88: icmp_seq=1 ttl=64 time=8.19 ms (DUP!) 64 bytes from fe80::5a6d:8fff:fe4a:c643: icmp_seq=1 ttl=64 time=8.69 ms (DUP!) 64 bytes from fe80::205:9aff:fe3c:7800: icmp_seq=1 ttl=64 time=11.1 ms (DUP!) 64 bytes from fe80::20c:42ff:fef9:807a: icmp_seq=1 ttl=64 time=16.0 ms (DUP!)

Сколько маршрутизаторов вокруг меня… Первым откликнулся мой компьютер. Это потому, что он тоже роутер. Но вопрос маршрутизации мы рассмотрим чуть позже. Пока что важно, что мы видим все роутеры и только роутеры (а, например, ping6 -I eth2 FF002::1 показывает порядка 60 соседей).

Мультикаст-групп (группой называют все узлы, которые слушают данный мультикаст-адрес) много. Среди них - специальная группа FF02::6A с названием «All-Snoopers». Именно этой группе и рассылаются routing advertisements. Когда мы хотим их получать - мы вступаем в соответствующую группу. Точнее не мы, а наш компьютер.

Часть третья: routing advertisements

В IPv6 придумали такую замечательную вещь - когда маршрутизатор рассылает всем желающим информацию о том, что он маршрутизатор. Рассылает периодически.

В отношении этого вопроса есть целый (всего один, что удивительно) RFC: tools.ietf.org/html/rfc4286 , но нас интересует из всего этого простая вещь: маршрутизатор рассылает информацию о том, что он маршрутизатор. И, может быть, чуть-чуть ещё информации о том, что в сети происходит.

Вот откуда наш компьютер узнал маршрут. Некий маршрутизатор сказал ему «я маршрутизатор». И мы ему поверили. Почему мы выбрали именно его среди всех окружающих маршруштизаторов (см ответ на пинг на FF02::2 выше) мы обсудим чуть дальше. Пока что скажем, что этот «настоящий» маршрутизатор правильно себя анонсировал.

Таким образом, происходит следующая вещь:

У нас адрес 2a00:11d8:1201:0:962b:18:e716:fb97/128, и ещё есть link-local. Мы слышим мультикаст от роутера, верим ему, и добавляем в таблицу маршрутизации нужный нам адрес как default. С этого момента мы точно знаем, что адрес в сети. Таким образом, отправка трафика в интернет больше не проблема. Мы генерируем пакет с src=2a00:11d8:1201:0:962b:18:e716:fb97 и отправляем его на шлюз по умолчанию, который в нашем случае - fe80::768e:f8ff:fe93:21f0. Другими словами, мы отправляем трафик не своему «шлюзу» в сети, а совсем другому узлу совсем по другому маршруту. Вполне нормальная вещь как для IPv6, так и для IPv4, правда, для IPv4 это некая супер-крутая конфигурация, а для IPv6 - часть бытовой повседневности.

Но как трафик приходит обратно? Очень просто. Когда маршрутизатор провайдера получает пакет, адресованный 2a00:11d8:1201:0:962b:18:e716:fb97, то у него на одном из интерфейсов написано, что он там 2a00:11d8:1201::/64 via (я не знаю, как там называется интерфейс, но пусть) GE1/44/12. Маршрутизатор спрашивает всех соседей (neighbor discovery) об их адресах, и внезапно видит, что адрес такой-то в сети. Что может быть проще - мак есть, адрес есть, отправляем в интерфейс. Ура, наш компьютер видит трафик. Двусторонняя связь установлена.

Въедливый читатель может спросить несколько вопросов: что значит «написано на интерфейсе»? И что значит «neighbor discovery»?

Вопросы справедливые. Для начала попробуем выяснить, какие узлы у нас есть в сети из подсети 2a00:11d8:1201::/64

Для того, чтобы посмотреть router advertisement на интерфейсе нам поднадобится программа radvdump из пакета radvd. Она позволяет печатать анонсы, проходящие на интерфейсах, в человеческом виде. Заметим, сам пакет radvd нам ещё пригодится (так как его демон - radvd позволяет настроить анонсирование со своих интерфейсах).

Итак, посмотрим, что аносирует нам Tiera:

Radvdump eth2 (и подождать прилично, ибо анонсы не очень часто рассылаются)
# # radvd configuration generated by radvdump 1.9.1 # based on Router Advertisement from fe80::768e:f8ff:fe93:21f0 # received by interface eth2 # interface eth2 { AdvSendAdvert on; # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump AdvManagedFlag on; AdvOtherConfigFlag on; AdvReachableTime 0; AdvRetransTimer 0; AdvCurHopLimit 64; AdvDefaultLifetime 1800; AdvHomeAgentFlag off; AdvDefaultPreference medium; AdvSourceLLAddress on; AdvLinkMTU 9216; prefix 2a00:11d8:1201::/64 { AdvValidLifetime 2592000; AdvPreferredLifetime 604800; AdvOnLink on; AdvAutonomous on; AdvRouterAddr off; }; # End of prefix definition }; # End of interface definition

Из всего этого важным является:

  • Адрес, с которого получен анонс (в нашем случае fe80::768e:f8ff:fe93:21f0) - это и есть адрес шлюза.
  • Указание на сетевой сегмент, в котором можно автоконфигурировать себе адреса
  • Флаг AdvAutonomous on, указывающий, что этот анонс имеет смысл. Если бы флаг был off, то его бы можно было смело игнорировать.

Таким образом всё просто - адрес мы указали, маршрутизатор нам «себя» прислал, ядро маршрут обновило. Вуаля, у нас IPv6 на компьютере заработал.

Белый IPv6-адрес для каждого в домашней сети

Получить IPv6 адрес для компьютера - этого маловато будет. Хочется так, чтобы каждое мобильное устройство сидело не за позорным NAT"ом, а голой задницей с белым адресом в Интернете. Желательно ещё при этом так, чтобы злые NSA/google не могли по хвостику моего адреса (в котором закодирован MAC) отслеживать мои перемещения между разными IPv6-сетями (хотя в условиях установленного play services эта параноидальность выглядит наивной и беззащитной).

Но, в любом случае, у нас задача раздать интернет дальше.

Tiera, выдавая мне ipv6, настроила у себя маршрут: 2a00:11d8:1201:32b0::/64 via 2a00:11d8:1201:0:962b:18:e716:fb97 .

Так как fb97 уже является адресом моего компьютера, настройка машрутизации плёвое дело:

Sysctl net.ipv6.conf.all.forwarding=1

… и у нас через пол-часика полностью отваливается IPv6 на компьютере? Почему? Кто виноват?

Оказывается, линукс не слушает routing advertisement, если сам является маршрутизатором. Что, в общем случае, правильно, потому что если два маршрутизатора будут объявлять себя маршрутизаторами и слушать маршруты друг друга, то мы быстро получим простейшую петлю из двух зацикленных друг на друга железных болванов.

Однако, в нашем случае мы всё-таки хотим слушать RA. Для этого нам надо включить RA силком.

Это делается так:
sysctl net.ipv6.conf.eth2.accept_ra=2

Заметим, важно, что мы слушаем RA не всюду, а только на одном интерфейсе, с которого ожидаем анонсы.

Теперь маршрутизация работает, маршрут получается автоматически, и можно на каждом мобильном устройстве вручную прописать IPv6 адрес и вручную указать IPv6 шлюз, и вручную прописать IPv6 DNS, и вручную… э… слишком много вручную.

Если мне выдали настройки автоматом, то я так же хочу раздавать их дальше автоматом. Благо, dhcpd отлично справляется с аналогичной задачей для IPv4.

Прелесть IPv6 в том, что мы можем решить эту задачу (раздачу сетевых настроек) без каких-либо специальных сервисов и в так называемом stateless режиме. Главная особенность stateless режима состоит в том, что никто не должен напрягаться и что-то сохранять, помнить и т.д. Проблемы с DHCP в IPv4 чаще всего вызывались тем, что один и тот же адрес выдавали двум разным устройствам. А происходило это из-за того, что злой админ стирал/забывал базу данных уже выданных аренд. А ещё, если железок много и они забывают «отдать аренду», то адреса заканчиваются. Другими словами, stateful - это дополнительные требования и проблемы.

Для решения тривиальной задачи «раздать адреса» в IPv6 придумали stateless режим, который основывается на routing advertisement. Клиентскую часть мы уже видели, теперь осталось реализовать серверную, дабы накормить IPv6 планшетик.

Настройка анонсов маршрутизации (radvd)

Для настройки анонсов используется специальная программа-демон - radvd. С утилитой из её комплекта (radvdump) мы познакомились чуть выше. Прелесть утилиты в том, что она выводит не просто полученные данные, а готовый конфиг radvd для рассылки аналогичных анонсов.

Итак, настраиваем radvd:
interface eth3 { AdvSendAdvert on; AdvHomeAgentFlag off; MinRtrAdvInterval 30; MaxRtrAdvInterval 100; prefix 2a00:11d8:1201:32b0::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; };
Главное тут - префикс и указание на AdvAutonomous.

Запускаем демона, берём ближайший ноутбук (обычная бытовая убунта с обычным бытовым network-manager"ом), рррраз, и получаем…
ip a show wlan0 3: wlan0: mtu 1500 qdisc mq state UP qlen 1000 link/ether 10:0b:a9:bd:26:a8 brd ff:ff:ff:ff:ff:ff inet 10.13.77.167/24 brd 10.13.77.255 scope global wlan0 valid_lft forever preferred_lft forever inet6 2a00:11d8:1201:32b0:69b9:8925:13d9:a879/64 scope global temporary dynamic valid_lft 86339sec preferred_lft 14339sec inet6 2a00:11d8:1201:32b0:120b:a9ff:febd:26a8/64 scope global dynamic valid_lft 86339sec preferred_lft 14339sec inet6 fe80::120b:a9ff:febd:26a8/64 scope link valid_lft forever preferred_lft forever
Откуда у нас столько ipv6 мы поговорим в следующем разделе, а пока что отметим, что адреса сконфигурировались автоматически. И маршруты у нас такие:

Ip -6 r 2a00:11d8:1201:32b0::/64 dev wlan0 proto kernel metric 256 expires 86215sec fe80::/64 dev wlan0 proto kernel metric 256 default via fe80::5ed9:98ff:fef5:68bf dev wlan0 proto ra metric 1024 expires 115sec
Надеюсь, читатель уже вполне понимает, что происходит. Однако… Чего-то не хватает. У нас нет dns-resolver"а. Точнее есть, но выданный dhcpd по IPv4. А у нас пятиминутка любви к IPv6, так то ресолвер нам тоже нужен IPv6.

Тяжело расчехляя aptitude ставим dhcpv6 и прописываем опции nameserver Как бы не так!

К счастью, IPv6 очень долго продумывался и совершенствовался. Так что мы можем решить проблему без участия DHCP-сервера. Для этого нам надо добавить к анонсу маршрута ещё указание на адреса DNS-серверов.

RDNSS в RA

Описывается вся эта примудрость в RFC 6106 . По сути - у нас есть возможность указать адрес рекурсивного DNS-сервера (то есть «обычного ресолвера») в анонсе, распространяемом маршрутизатором.

По большому счёту это всё, что мы хотим от DHCP, так что DHCP там тут не нужен. Компьютеры сами делают себе адреса непротиворечивым образом (то есть для исключения коллизий), знают адреса DNS-серверов. Интернетом можно пользоваться.

Для этого мы дописываем в конфиг radvd соответствующую опцию:

RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 { };
(полный конфиг - см. в конце статьи).

Пробуем подключиться снова - и, ура, всё работает.

Ping6 google.com PING google.com(lb-in-x66.1e100.net) 56 data bytes 64 bytes from lb-in-x66.1e100.net: icmp_seq=1 ttl=54 time=25.3 ms ^C --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 25.312/25.312/25.312/0.000 ms

Google.com выбран был не случайно. Сервисы гугля (в немалой степени youtube) - это едва ли не основной источник IPv6 трафика в настоящий момент. Второй источник - торренты, где можно увидеть аж 5-10% пиров в IPv6 варианте.

На этом рассказ можно было закончить, если бы не ещё одна важная деталь - что за третий IPv6-адрес на интерфейсе ноутбука? И что это за temporary dynamic?

Privacy extension

Как я уже упомянул выше, автоматическое конфигурирование IPv6-адреса на основе MAC-адреса сетевого адаптера хорошо всем, кроме того, что создаёт практически идеальное средство для отслеживания пользователей в сети. Вы можете брать любые браузеры и операционные системы, использовать любых провайдеров (использующих IPv6, так что это всё пишется с прицелом на будущее) - но у вас будет один и тот же MAC-адрес, и любой гугуль, NSA или просто спамер смогут вас отслеживать по младшим битам вашего IPv6 адреса. Старшие будут меняться в зависимости от провайдера, а младшие сохраняться как есть.

Для решения этой проблемы были придуманы специальные расширения для IPv6, называющиеся privacy extensions (RFC 4941). Как любое RFC, его чтение - это обычно признак отчаяния, так что по сути этот стандарт описывает как с помощью шаманства и md5 генерировать случайные автоконфигурируемые адреса.

Как это работает?

Хост, в нашем случае обычная убунта на обычном ноутбуке, генерирует штатным образом IPv6 адрес из анонса маршрутизатора. После этого она придумывает себе другой адрес, проверяет, что этот адрес не является зарезервированным (например, нам так повезло, и md5 хеш сгенерировал нам все нули - вместо того, чтобы трубить об этом на всех углах, этот изумительный md5 хеш будет выкинут и вместо него будет взят следующий), и, главное, проверяет, что такого адреса в сети нет. Для этого используется штатный механизм DAD (см ниже). Если всё ок, то на интерфейс назначается новосгенерированный случайный адрес, и именно он используется для общения с узлами Интернета. Хотя наш ноутбук с тем же успехом ответит на пинг и по основному адресу.

Этот адрес периодически меняется и он же меняется при подключении к другим IPv6-сетям (и много вы таких знаете в городе?.. вздох ). В любом случае, даже если мы намертво обсыпаны куками и отпечатками всех браузеров, всё-таки маленький кусочек сохраняемой приватности - это лучше, чем не сохраняемый кусочек.

Duplicate Address Detection

Последняя практически важная фича IPv6 - это DAD. Во времена IPv4 на вопрос «а что делать, если адрес, назначаемый на хост, уже кем-то используется в сети» отвечали «а вы не используйте адреса повторно и всё будет хорошо».

На самом деле все вендоры реализовывали свою версию защиты от повторяющегося адреса, но работало это плохо. В частности, линукс пишет о конфликте IPv4 адресов в dmesg, Windows - в syslog… Event… Короче, забыл. В собственную версию журнала и показывает жёлтенко-тревожненький попапик в трее, мол, бида-бида. Однако, это не мешает использовать дублирующийся адрес, если он назначен статикой, и приводит к головоломным проблемам в районе ARP и времени его протухания (выглядит это так: с одного компьютера по сети по заданному адресу отвечает сервер, а с другого, по тому же адресу, допустим, залётный ноутбук, и они ролями периодически меняются).

Многие DHCP-сервера (циски, например), даже имели специальную опцию «проверять пингом» перед выдачей адреса.

Но всё это были доморощенные костыли для подпирания «а вы не нажимайте, больно и не будет».

В IPv6 проблему решили куда более изящно. При назначении IPv6 адреса запускается прописаный в RFC алгоритм (то есть выполняемый всеми, а не только premium grade enterprise ready cost saving proprietary solution за -цать тысяч). Этот алгоритм называется Optimistic DAD (RFC 4429), и его суть сводится к простому: кто первый встал, того и тапки. Включая прилагающийся IPv6 адрес.

Сам DAD работает отлично, но у него есть мааааленькая подлость, с которой я как-то столкнулся. Если (дополнительный) адрес на интерфейс вешать простым ip -6 address add , то ip отработает раньше, чем закончится DAD. Так что если этот адрес используется дальше в скрипте или конфигах автостартующих демонов, то демоны могут отвалиться по причине «нет такого адреса» - линукс не экспортирует в список доступных для приложений те адреса, про которые нет уверенности, что их можно использовать.

Конфиги

Эту часть большинство пропустит не читая, ну, такова судьба конфигов - быть писанными, но не читанными.

/etc/network/interfaces:

Auto lo eth2 eth3 iface lo inet loopback allow-hotplug eth2 eth3 iface eth2 inet static address 95.161.2.76 netmask 255.255.255.0 gateway 95.161.2.1 dns-nameservers 127.0.0.1 #У меня локальный ресолвер на базе bind"а iface eth2 inet6 static address 2a00:11d8:1201:0:962b:18:e716:fb97/128 dns-nameservers::1 iface eth3 inet static address 10.13.77.1 netmask 255.255.255.0 iface eth3 inet6 static address 2a00:11d8:1201:32b0::1/64
/etc/sysctl.d/ra2.conf
net.ipv6.conf.eth2.accept_ra=2
/etc/sysctl.d/ip_forwarding.conf
net.ipv4.conf.all.forwarding = 1 net.ipv6.conf.all.forwarding = 1
/etc/radvd.conf
interface eth3 { AdvSendAdvert on; AdvHomeAgentFlag off; MinRtrAdvInterval 30; MaxRtrAdvInterval 100; prefix 2a00:11d8:1201:32b0::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 { }; };
/etc/dhcp/dhcpd.conf
ddns-update-style none; option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 10.13.77.0 netmask 255.255.255.0 { range 10.13.77.160 10.13.77.199; option routers 10.13.77.1; option domain-name-servers 10.13.77.1; }

Используется ли IPv6?

У меня обычный домашний компьютер. Чуть-чуть raid, LVM XFS, BTRFS, LUCKS, свой почтовый и веб-сервера, dns-сервер и т.д. Я подключен к обычному домашнему провайдеру с IPv6.

Вот статистика использования интернета за четыре дня. Собиралась она простым способом:
iptables -t filter -A INPUT ip6tables -t filter -A INPUT (смотреть счётчики - iptables -L -v, и ip6tables -L -v)

И вот какая она получилась:

  • 4.5% (2.7 Гб) IPv6
  • 95.5% (59 Гб) - представители прочих, устаревающих, версий IP
Таким образом, IPv6 занимает второе место по распространённости в Интернете (если Майкрософту с виндофонами так желтить можно, почему мне нельзя?).

Если серьёзно, то столь значительные достижения IPv6 (только представьте себе - почти гигабайт трафика в день) большей частью объясняются ютубом и прочими сервисами гугла. Ещё небольшую долю IPv6 принёс пиринг, причём там львиная доля людей - это всякие туннели и teredo (то есть ненастоящие IPv6, использующиеся от безысходности).

С другой стороны, этот показатель почти в три раза больше моего прошлого замера (полтора года назад), когда доля IPv6 едва-едва переваливала за полтора процента.

О поддержке в оборудовании

Десктопные линуксы, понятно, IPv6 поддерживают и используют.
Андроиды (4+) тоже умеют и используют. Пока что найдена только одна забавная бага, это неответ на пинги по IPv6 (но ответ по IPv4) в deep sleep режимах.
Насколько я знаю, IOS"ы IPv6 поддерживают и используют.

Теги:

  • ipv6
  • tiera
  • radvd
  • dhcpv6
  • stateless dhcp
  • спасибо за чтение
Добавить метки