Многоадресный фоновый трафик IPv6 (часть 2) — многоадресная рассылка и автоматическая настройка стека IPv6

Опубликовано: 20 Марта, 2023

  • Многоадресный фоновый трафик IPv6 (часть 4) — Box Chatter — P2P Multicast и войны с нулевой конфигурацией
  • Многоадресный фоновый трафик IPv6 (часть 5) — протоколы обнаружения службы многоадресной рассылки IPv6 от Microsoft

Запрос DHCPv6

В IPv4 существуют самоназначаемые адреса — ПК, у которого нет статического IP-адреса и который не может найти DHCP-сервер, может настроить локальный адрес канала из адресного пространства 169.254.0.0/16. Автоматическая адресация частного интернет-протокола (APIPA) от Microsoft — это пример, с которым многие знакомы, но обычно его можно увидеть только в корпоративных локальных сетях, когда ПК неправильно настроен, и для его исправления необходимо отправить технического специалиста.

IPv6 переворачивает уравнение с ног на голову: если вы не приложите все усилия для настройки статических адресов или создания пула адресов DHCPv6, IPv6 автоматически устанавливает уникальные адреса из обширного 128-битного пространства, которое он имеет в своем распоряжении. Этот подход, несколько тяжеловесно известный как автоконфигурация без сохранения состояния, является нормой в развертываниях IPv6. Как правило, организации, занимающиеся настройкой IPv6, настраивают только 64-битный префикс, который, как мы обсудим позже, предоставляется через расширение ICMP.

Таким образом, DHCPv6 обычно не используется для выделения адресов IPv6. Вместо этого он используется для предоставления другой сетевой информации, такой как список поиска DNS, полное доменное имя и т. д.

Если вы оставили свой стек IPv6 в Windows 7 с параметрами автоматической настройки по умолчанию:

Изображение 19035
фигура 1

Затем первое действие IPv6, которое Windows пытается выполнить для каждой сетевой карты при загрузке, — это запрос DHCPv6 на ff02::1:2, адрес многоадресной рассылки All DHCP Agents or Relays Link-Local Scope. С самого начала мы видим существенное отличие от IPv4: в старом протоколе запросы DHCP отправляются на широковещательный адрес 255.255.255.255, эффективно мешая каждому узлу на локальном канале. В IPv6 запросы DHCP отправляются на выделенный многоадресный адрес, который в обычных обстоятельствах, вероятно, прослушивает только маршрутизатор, который был разработан в протоколе только для этой конкретной цели. Вот что показывает Wireshark, анализатор протоколов с открытым исходным кодом:

Изображение 19036
фигура 2

Как видите, ПК пытается получить информацию, относящуюся к DNS (а не IP-адрес). Если в вашей локальной сети не настроен сервер DHCPv6, то после первых двух неудачных попыток Windows продолжает отправлять пакеты запроса DHCPv6 с интервалом 1/2/4/8/16/32 секунды, после чего следует 364-секундная пауза. (Должен отметить, что в Windows 7 есть специальные адаптеры «туннелирования» для ISATAP, так называемая технология перехода, которая позволяет стекам IPv6 туннелировать через интрасеть IPv4. Эти адаптеры не отправляют запросы DHCPv6, которые обычные физические адаптеры делать).

Соседское открытие

Для связи с другими IP-хостами ПК должен знать MAC-адрес своей цели (другого устройства в той же локальной сети или маршрутизатора). Кроме того, для настройки правильного глобального индивидуального адреса хосту IPv6 необходимо знать свой 64-битный префикс маршрутизации. Префиксы получаются с помощью процессов, известных как запрос маршрутизатора и реклама. Наконец, даже если ПК использует только локальный адрес fe80, ему необходимо установить, что этот адрес уникален в локальной сети, и сделать это, отправив специальный пакет с пустым исходным адресом. В совокупности эти методы известны на языке IPv6 как Neighbor Discovery или ND.

Для ND обычно используются четыре типа пакетов ICMPv6:

Тип ICMP-пакета

Используемый многоадресный адрес

Цель

Тип пакета (и кто обычно его отправляет)

133

ff02::2

Все маршрутизаторы в локальном сегменте сети

Запрос маршрутизатора (хост)

134

ff02::1

Все узлы в локальном сегменте сети

Реклама маршрутизатора (маршрутизатор)

135

Ff02::1:ff00:0/104 и последние 24 бита IPv6-адреса, который разрешается.

Замена IPv6 для ARP IPv4. Также используется хостами для установления уникальности автоматически настроенного IPv6-адреса.

Домогательство соседей (любое)

136

Нет — ответ всегда отправляется на индивидуальный адрес отправителя запроса.

“ “

Соседская реклама (любая)

Таблица 1

Когда ПК с Windows 7 загружается, каждая сетевая карта отправляет до трех пакетов Router Solicitation ND на ff02::2:

Изображение 19037
Рисунок 3

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

Лабораторная работа: Использование маршрутизатора IPv6 с открытым исходным кодом Vyatta.

Вот эксперимент, который вы можете провести в своей лабораторной среде. Настройте изолированный сегмент сети, например, в VMware создайте изолированный vSwitch. Загрузите и установите бесплатную версию маршрутизатора с открытым исходным кодом Vyatta для сообщества (она доступна в нескольких удобных формах, например, LiveCD и VMware OVA). Войдите в систему с именем пользователя и паролем по умолчанию «vyatta» и используйте следующую примерную последовательность команд конфигурации:










Здесь вы настроили Vyatta в качестве маршрутизатора IPv6, настроили его для предоставления 64-битного глобального префикса 2001:db8:2::1 и приказали объявить этот префикс. Маршрутизатор Vyatta теперь периодически (каждые 16 секунд или около того) отправляет пакеты RA, такие как:

Изображение 19038
Рисунок 4

Любой хост IPv6 в локальной сети, прослушивающий ff02::1, многоадресный адрес Link-Local All Nodes, который получает вышеуказанный пакет RA, теперь имеет информацию, необходимую для автоматической настройки глобального индивидуального IPv6-адреса. ПК с Windows 7 с ненастроенным стеком IPv6 получил этот пакет и мгновенно создал два одноадресных адреса с префиксом 2001:db8:2:0:










Обратите внимание, что сетевая карта «Подключение по локальной сети» имеет один адрес IPv4 и три адреса IPv6. Хотя некоторые адаптеры IPv4 имеют несколько IP-адресов, обычно это только на серверах. С другой стороны, в IPv6 адаптеры обычно имеют несколько адресов даже на обычных ПК. В этом случае у нас есть локальный адрес fe80, который действителен только в локальной сети, и два глобально уникальных одноадресных адреса IPv6.

Обратите также внимание на адрес с пометкой «Временный» — я не буду вдаваться в подробности здесь, но это функция конфиденциальности, уникальная для IPv6, которая позволяет хостам создавать одноразовые IP-адреса, чтобы их нельзя было отследить. Конфиденциальность подвергается большему риску с глобально уникальными IPv6-адресами, которые, в отличие от IPv4, нельзя сделать невидимыми за NAT. С другой стороны, есть опасения, что спамеры и преступники прячутся за неотслеживаемыми IP-адресами. Реализация Microsoft этих расширений конфиденциальности IPv6 была поставлена под сомнение, но это тема для другого дня.

Наконец, я должен отметить, что, как и в случае любой динамической операции во время выполнения, «плохие парни» искали недостатки в объявлениях маршрутизатора и в том, как клиенты, особенно ПК с Windows, обрабатывают автоконфигурацию без сохранения состояния. Этичный хакер недавно обнаружил атаку типа «отказ в обслуживании», которая якобы использует недостаток в стеке IPv6 Windows 7. Он обсуждает некоторые интересные возможные средства защиты, такие как игра с правилами брандмауэра Windows и создание явного белого списка адресов маршрутизаторов, пакеты RA с которых будут считаться легитимными:

Изображение 19039
Рисунок 5

Более того, вы можете указать Windows полностью игнорировать объявления маршрутизатора, выполнив следующие действия:

изменив «Подключение по локальной сети» на нужный интерфейс. Однако, если вы это сделаете, вам нужно будет указать префикс с помощью альтернативных средств, таких как DHCPv6. Любопытно, что я не нашел поддерживаемого Microsoft способа назначения префикса IPv6 через групповую политику Windows или раздел реестра.

В следующем посте мы закончим Neighbor Discovery, взглянув на замену IPv6 для ARP, Neighbor Solicitation и Advertisement, завершим автоматическую настройку стека, взглянув на MLDv2, а затем мы будем в состоянии изучить IPv6. Одноранговый трафик и войны Zero Config.

  • Многоадресный фоновый трафик IPv6 (часть 4) — Box Chatter — P2P Multicast и войны с нулевой конфигурацией
  • Многоадресный фоновый трафик IPv6 (часть 5) — протоколы обнаружения службы многоадресной рассылки IPv6 от Microsoft