к какому типу ipv6 адресов относится адрес solicited node
К какому типу ipv6 адресов относится адрес solicited node
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.
IPv6 — протокол сетевого уровня, который постепенно приходит на смену IPv4, основному протоколу сетевого уровня в Интернете в настоящий момент.
Содержание
[править] Адресация в IPv6
[править] Типы адресов
На интерфейсе IPv6:
[править] Unicast адреса
[править] Unspecified
[править] Link local
[править] Global Unicast
[править] Anycast адреса
IPv6 определяет новый тип адреса, называемых anycast. Anycast адрес определяет список узлов или устройств. Пакет, посланный к такому адресу, доставляется на ближайший интерфейс. Anycast адреса синтаксически неотличимы от адресов Global unicast, потому что Anycast адреса выделяются из адресного пространства Global unicast.
[править] Multicast адреса
Multicast адреса идентифицируют группу интерфейсов, которые обычно принадлежат различным устройствам. Пакет, отправленный на такой адрес, будет доставлен всем интерфейсам в группе. Интерфейс может принадлежать любому количеству multicast групп.
Multicast адреса не должны использоваться как адрес отправителя в пакетах IPv6.
Маршрутизаторы не должны передавать любой multicast пакет за границы, указанные в поле scop в multicast адресе получателя.
Хосты не должны отправлять пакеты с multicast адресом с полем scop равным 0. Если такой пакет получен, то он должен быть отброшен (без оповещений).
[править] Формат multicast адреса
У multicast адреса такой формат:
[править] Предопределенные multicast адреса
Multicast адреса описанные в этом разделе предопределены (RFC4291). Идентификаторы группы (group ID) этих адресов определены для конкретных границ распространения адресов.
Использование перечисленных идентификаторов групп с другими значениями границ распространения, с флагом T=0, не разрешено.
[править] Зарезервированные
Зарезервированные multicast адреса — перечисленные адреса зарезервированы и не должны использоваться в качестве адреса какой-либо multicast группы
FF00:0:0:0:0:0:0:0 FF01:0:0:0:0:0:0:0 FF02:0:0:0:0:0:0:0 FF03:0:0:0:0:0:0:0 FF04:0:0:0:0:0:0:0 FF05:0:0:0:0:0:0:0 FF06:0:0:0:0:0:0:0 FF07:0:0:0:0:0:0:0 FF08:0:0:0:0:0:0:0 FF09:0:0:0:0:0:0:0 FF0A:0:0:0:0:0:0:0 FF0B:0:0:0:0:0:0:0 FF0C:0:0:0:0:0:0:0 FF0D:0:0:0:0:0:0:0 FF0E:0:0:0:0:0:0:0 FF0F:0:0:0:0:0:0:0
[править] All Nodes
All Nodes адреса — идентифицируют группу всех IPv6 хостов, с границей 1 (interface-local) или 2 (link-local):
[править] All Routers
All Routers адреса — идентифицируют группу всех IPv6 маршрутизаторов, с границей 1 (interface-local), 2 (link-local) или 5 (site-local):
FF01:0:0:0:0:0:0:2 FF02:0:0:0:0:0:0:2 FF05:0:0:0:0:0:0:2
[править] Solicited-node multicast
Solicited-node multicast адрес вычисляется из unicast и anycast адресов хоста. У всех адресов одинаковый префикс FF02::1:FF00:0/104. К указанному префиксу добавляются 24 low-order бита адреса (unicast или anycast), в результате solicited-node multicast адрес может быть в диапазоне от FF02:0:0:0:0:1:FF00:0000 до FF02:0:0:0:0:1:FFFF:FFFF.
Хост должен вычислить и присоединиться (на соответствующем интерфейсе) ко всем solicited-node multicast адресам, полученных из всех unicast и anycast адресов, которые настроены на интерфейсах хоста (вручную или автоматически).
Solicited-node multicast адреса используются протоколом обнаружения соседей — Neighbor Discovery (ND или NDP).
[править] Обязательные адреса
[править] Обязательные адреса для хоста
Хост должен распознавать следующие адреса, как адреса которые его идентифицируют:
[править] Обязательные адреса для маршрутизатора
Маршрутизатор должен распознавать все адреса, которые должен распознавать хост, плюс следующие, как адреса которые его идентифицируют:
[править] Специальные адреса
Некоторые адреса (например, перечисленные в rfc5156 и списке IANA) имеют специальное назначение и их применение должно быть обосновано.
[править] Протокол обнаружения соседей (Neighbor Discovery)
Протокол обнаружения соседей (Neighbor Discovery, ND) — протокол, с помощью которого IPv6 хосты разделяющие линк могут обнаружить друг друга, определить адрес канального уровня другого хоста (вместо ARP, который использовался в IPv4), обнаружить маршрутизаторы, поддерживать информацию о доступности путей к другим активным соседям.
[править] Задачи протокола
Протокол ND описан в RFC2461. Этот протокол решает ряд проблем относящихся к взаимодействию между хостами разделяющими линк. Он определяет механизмы для решения каждой из перечисленных задач:
[править] Типы сообщений
Neighbor Discovery определяет пять разных типов ICMP пакетов:
[править] DNS и IPv6
С 6 февраля 2008 года некоторые (6 из 13) корневые серверы DNS стали доступны по IPv6.
IPv6 (обзор и примеры)
Содержание
Структура адреса IPv6
При этом части глобального префикса имеют следующие порции
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.
Мультикаст адреса начинаются на FF
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:
Адрес «все узлы» используется вместо броадкаста.
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса. Адрес «запрошенный узел» создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.
Scopes
IPv6 на маршрутизаторах cisco IOS
Включить ipv6 маршрутизацию (по-умолчанию выключена)
Задать ipv6-адрес на интерфейсе int fa 0/0
Задать адрес в формате EUI-64
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах
Просмотр таблицы ipv6 маршрутов
Как и в случае с ipv4, туда автоматом попадают directly connected сети.
Посмотреть кэш соответствий IPv6-MAC можно командой
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:
OSPFv3
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area. Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.
DNS для IPv6
Автоконфигурация
IPv6 Addresses
IPv6 Address Formats
An IPv6 address is 128 bits long and is written as eight groups of four hexadecimal digits (base 16 digits represented by the numbers 0-9 and the letters A-F). Each group is separated by a colon (:). For example, FC00:0000:130F:0000:0000:09C0:876A:130B is a complete and valid IPv6 address.
For convenience, IPv6 addresses can be written in a compressed format. Taking the IPv6 address FC00:0000:130F:0000:0000:09C0:876A:130B as an example:
An IPv6 address can contain only one double colon (::). Otherwise, a computer cannot determine the number of zeros in a group when restoring the compressed address to the original 128-bit address.
IPv6 Address Structure
IPv6 addresses have two parts:
Network prefix: Corresponds to the network ID of an IPv4 address. It is comprised of n bits.
Interface identifier (interface ID): Corresponds to the host ID of an IPv4 address. It is comprised of 128-n bits.
If the first 3 bits of an IPv6 unicast address are not 000, the interface ID must contain 64 bits. If the first 3 bits are 000, there is no such limitation.
You can manually configure the interface ID, generate it through system software, or generate it in IEEE 64-bit Extended Unique Identifier (EUI-64) format. Generating an interface ID in EUI-64 format is the most common practice.
IEEE EUI-64 standards convert an interface MAC address into an IPv6 interface ID. Figure 6-1 shows a 48-bit MAC address. When used as an interface ID, the first 24 bits (expressed by c) are a vendor identifier, and the last 24 bits (expressed by m) are an extension identifier. If the higher seventh bit is 0, the MAC address is locally unique. During conversion, EUI-64 inserts FFFE between the vendor identifier and extension identifier. The higher seventh bit also changes from 0 to 1 to indicate that the interface ID is globally unique.
Figure 6-1 EUI-64 format
For example, if the MAC address is 000E-0C82-C4D4, the interface ID is 020E:0CFF:FE82:C4D4 after the conversion.
Converting MAC addresses into IPv6 interface IDs reduces the configuration workload. When using stateless address autoconfiguration, you only need an IPv6 network prefix to obtain an IPv6 address. One defect of this method, however, is that an IPv6 address is easily calculable based on a MAC address, and could therefore be used for malicious attacks.
IPv6 Address Types
IPv6 addresses can be classified as unicast, multicast, or a new class called anycast. Unlike IPv4, there is no broadcast IPv6 address. Instead, a multicast address can be used as a broadcast address.
IPv6 Unicast Address
An IPv6 unicast address identifies an interface. Since each interface belongs to a node, the IPv6 unicast address of any interface can identify the relevant node. Packets sent to an IPv6 unicast address are delivered to the interface identified by that address.
IPv6 defines multiple types of unicast addresses, including the unspecified address, loopback address, global unicast address, link-local address, and unique local address.
The IPv6 unspecified address is 0:0:0:0:0:0:0:0/128 or ::/128, indicating that an interface or a node does not have an IP address. It can be used as the source IP address of some packets, such as Neighbor Solicitation (NS) messages, in duplicate address detection. Devices do not forward packets with an unspecified address as the source IP address.
The IPv6 loopback address is 0:0:0:0:0:0:0:1/128 or ::1/128. Similar to the IPv4 loopback address 127.0.0.1, the IPv6 loopback address is used when a node needs to send IPv6 packets to itself. This IPv6 loopback address is usually used as the IP address of a virtual interface, such as a loopback interface. The loopback address cannot be used as the source or destination IP address of packets needing to be forwarded.
Global unicast address
An IPv6 global unicast address is an IPv6 address with a global unicast prefix, which is similar to an IPv4 public address. IPv6 global unicast addresses support route prefix summarization, helping limit the number of global routing entries.
Figure 6-2 shows a global unicast address consisting of a global routing prefix, subnet ID, and interface ID.
Figure 6-2 Global unicast address format
These components are described as follows:
Global routing prefix: is assigned by a service provider to an organization. A global routing prefix is comprised of at least 48 bits. Currently, the first 3 bits of every assigned global routing prefix is 001.
Subnet ID: is used by organizations to construct a local network (site). Similar to an IPv4 subnet number, there are a maximum of 64 bits for both the global routing prefix and subnet ID.
Interface ID: identifies a device (host).
Link-local addresses are used only in communication between nodes on the same local link. A link-local address uses a link-local prefix of FE80::/10 as the first 10 bits (1111111010 in binary) and an interface ID as the last 64 bits.
When IPv6 runs on a node, a link-local address that consists of a fixed prefix and an interface ID in EUI-64 format is automatically assigned to each interface of the node. This mechanism enables two IPv6 nodes on the same link to communicate without any configuration, making link-local addresses widely used in neighbor discovery and stateless address configuration.
Devices do not forward IPv6 packets with the link-local address as a source or destination address to devices on different links.
Figure 6-3 shows the link-local address format.
Figure 6-3 Link-local address format
Unique local address
Unique local addresses are used only within a site. Site-local addresses, according to RFC 3879, have been replaced by unique local addresses.
Unique local addresses are similar to IPv4 private addresses. Any organization that does not obtain a global unicast address from a service provider can use a unique local address. However, they are routable only within a local network, not the Internet as a whole.
Figure 6-4 shows the unique local address format.
Figure 6-4 Unique local address format
These components are described as follows:
Prefix: is fixed as FC00::/7.
L: is set to 1 if the address is valid within a local network. The value 0 is reserved for future expansion.
Global ID: indicates a globally unique prefix, which is pseudo-randomly allocated (for details, see RFC 4193).
Subnet ID: identifies a subnet within the site.
Interface ID: identifies an interface.
Like IPv4 multicast addresses, IPv6 multicast addresses identify groups of interfaces, which usually belong to different nodes. A node may belong to any number of multicast groups. Packets sent to an IPv6 multicast address are delivered to all the interfaces identified by the multicast address. For example, the multicast address FF02::1 indicates all nodes within the link-local scope, and FF02::2 indicates all routers within the link-local scope.
Figure 6-5 shows the IPv6 multicast address format.
Figure 6-5 IPv6 multicast address format
Solicited-node Multicast Address
A solicited-node multicast address is generated using an IPv6 unicast or anycast address of a node. When a node has an IPv6 unicast or anycast address, a solicited-node multicast address is generated for the node, and the node joins the multicast group that corresponds to its IPv6 unicast or anycast address. Each unicast or anycast address corresponds to a single solicited-node multicast address, which is often used in neighbor discovery and duplicate address detection.
IPv6 does not support broadcast addresses or Address Resolution Protocol (ARP). In IPv6, Neighbor Solicitation (NS) packets are used to resolve IP addresses to MAC addresses. When a node needs to resolve an IPv6 address to a MAC address, it sends an NS packet in which the destination IP address is the solicited-node multicast address corresponding to the IPv6 address. Only the nodes with this multicast address are checked and processed.
The solicited-node multicast address consists of the prefix FF02::1:FF00:0/104 and the last 24 bits of the corresponding unicast address.
IPv6 Anycast Address
An anycast address identifies a group of network interfaces, which usually belong to different nodes. Packets sent to an anycast address are delivered to the nearest interface that is identified by the anycast address, depending on the routing protocols.
Anycast addresses implement redundancy backup and load balancing functions when multiple hosts or nodes are provided with the same services. Currently, a unicast address is assigned to more than one interface to make a unicast address become an anycast address. When sending data packets to anycast addresses, senders cannot determine which of the assigned devices will receive the packets. Which device receives the packets depends on the routing protocols running on the network. Anycast addresses are used in stateless applications, such as Domain Name Service (DNS).
IPv6 anycast addresses are allocated from the unicast address space. Mobile IPv6 applications also use anycast addresses.
IPv6 anycast addresses can be assigned only to routing devices but not hosts. Anycast addresses cannot be used as the source IP addresses of IPv6 packets.
Subnet-router Anycast Address
RFC 3513 predefines a subnet-router anycast address. Packets sent to a subnet-router anycast address are delivered to the nearest device on the subnet identified by the anycast address, depending on the routing protocols. All devices must support subnet-router anycast addresses. A subnet-router anycast address is used when a node needs to communicate with any of the devices on the subnet identified by the anycast address. For example, a mobile node needs to communicate with one of the mobile agents on the home subnet.
In a subnet-router anycast address, the n-bit subnet prefix identifies a subnet, and the remaining bits are padded with 0s. Figure 6-6 shows the subnet-router anycast address format.
Figure 6-6 Subnet-router anycast address format
IPv6 на коммутаторах доступа SNR
Введение
Сегодня мы решили затронуть тему настройки IPv6 на коммутаторах доступа SNR. Не станем писать банальностей, вроде «IPv4-адреса заканчиваются», но вспомним Республику Беларусь, где уже около года действует закон об обязательном предоставлении абонентам IPv6-адресов. Обратимся к статистике Google, которая фиксирует рост доли IPv6 в мировом сетевом трафике с 5,5% в январе 2015 до 32% в октябре 2020. Согласитесь, не взрывной, но уверенный рост. Предоставление IPv6-адресов также может стать конкурентным преимуществом для операторов связи, это можно использовать в целях маркетинга.
Статистика Google по использованию IPv6 в мировом сетевом трафике
Краткий обзор IPv6
Ключевые отличия от IPv4
Заголовок IPv6
Сравним заголовки IPv4 и IPv6-пакетов, используя картинки прямо из RFC:
Заголовок пакета IPv4
Заголовок пакета IPv6
Можно заметить, что в новой версии протокола заголовок заметно упростился за счет использования меньшего количества полей. Разработчики посчитали, что на современном оборудовании часть из них просто не нужна. Например, нет смысла считать контрольную сумму, если это уже сделано на канальном уровне и будет сделано на транспортном. Т.к. IPv6-заголовок имеет фиксированную длину 40 байт, то и в поле IHL (Internet Header Length) больше нет смысла и т.д. Добавлено совершенно новое поле ‘IPv6 Flow Label’, служащее для упрощения маршрутизации пакетов одного потока (RFC 6437).
Neighbor Discovery Protocol вместо ARP
В IPv6 произошел полный отказ от протокола ARP, его функции взял на себя NDP. Он, в свою очередь, является частью протокола ICMPv6. Для определения MAC-адреса хоста протокол ARP использует ARP-Request и ARP-Reply сообщения, рассылаемые бродкастом. Подобным образом действует NDP через Neighbor Solicitation (NS) и Neighbor Advertisement сообщения, но делает это мультикастом. Давайте рассмотрим этот процесс подробнее в анализаторе трафика Wireshark:
Типы IPv6 адресов
Рассмотрим подробнее Link-Local Unicast Address. Такие адреса всегда начинаются на fe80, остальная часть генерируется автоматически, обычно на основе MAC-адреса. Должны быть уникальными только в пределах одной канальной среды, т.к. не маршрутизируются. Любой IPv6-хост в сети обязан иметь Link-Local Unicast адрес. Используется для обмена некоторыми типами сообщений в таких протоколах, как ICMPv6, DHCPv6, OSPFv3 и т.д. Является next-hop адресом для протоколов динамической маршрутизации и используется для указания шлюза по умолчанию для хостов.
Методы динамической конфигурации IPv6-адреса
SLAAC. Получая RA-сообщение с активным A-флагом, клиент сам формирует себе IPv6-адрес. Первые 64 бита берутся из поля «Prefix information» остальные формируются либо методом EUI-64, либо случайным образом. Заметьте, что DHCPv6-сервер тут вообще не используется.
Stateless DHCPv6. Минус метода SLAAC в том, что мы имеем только свой IPv6-адрес и адрес шлюза по умолчанию. Но если мы хотим автоматически получать и информацию о DNS серверах и другую информацию? Тогда в RA-сообщениях, помимо A-флага, также будет активным O-флаг. Получая такое сообщение хост также будет формировать свой IPv6-адрес сам, но еще обратится по специальному мультикастовому адресу ff02:1:2 к ближайшему DHCPv6-серверу за дополнительными реквизитами.
Stateful DHCPv6. Это, по-сути, классический метод получения IPv6-адреса динамическим способом, к которому мы привыкли в IPv4. Сервер выделяет адреса из пулов, может ориентироваться при этом на опции 18 (interface-id), 37 (remote-id) и 38 (subscriber-id). Чтобы использовать Stateful DHCPv6, мы должны анонсировать в RA-сообщениях только M-флаг.
Prefix Delegation. При данном методе мы имеем дело с двумя маршрутизаторами. Абонентский (CPE) является запрашивающим и отправляет DHCPv6 Solicit-сообщение делегирующему. Последний отправляет ответ в виде делегированного префикса. Обычно его длина /56, это является рекомендацией RFC 6177. CPE сам добавляет к префиксу недостающие 8 бит и в Advertise-сообщении анонсирует стандартный /64 префикс. Рассмотрим этот процесс в Wireshark. Запрашивающий маршрутизатор отправляет делегирующему DHCPv6 Solicit-сообщение с опцией 25, которая сигнализирует о желании использовать Prefix Delegation. Сервер отвечает Advertise-сообщением с опцией 26, где содержится делегируемый префикс с его длиной. При этом CPE, в зависимости от настроек, анонсирует либо A, либо A+O флаги. Следовательно, клиент генерирует себе IPv6-адрес сам, на основе префикса.
Основные настройки IPv6 на коммутаторах SNR
Разобравшись с теорией, можно переходить к практике. Рассмотрим базовые настройки IPv6 на коммутаторах доступа SNR.
Хочется отметить, что все управляемые коммутаторы SNR, от FastEthernet моделей, таких как SNR-S2985G-24TC, до гигабитных коммутаторов с 10Г аплинками ( SNR-S2989G-24TX), поддерживают одинаковый функционал и имеют одинаковые настройки в части IPv6.
Назначить IPv6-адрес управления
Назначить адрес L3-интерфейсу можно несколькими методами. Полностью указать его с длиной префикса, использовать метод EUI-64 или использовать DHCPv6-клиент. Последний способ требует предварительно внесения в конфигурацию строки ‘service dhcpv6’. Рассмотрим все три способа на трех VLAN-интерфейсах:
Switch(config)#service dhcpv6
Switch(config)#int vlan1
Switch(config-if-vlan1)#ipv6 address 2001:db8:100:1::1/64
Switch(config-if-vlan1)#int vlan2
Switch(config-if-vlan2)#ipv6 address 2001:db8:100:2::/64 eui-64
Switch(config-if-vlan1)#int vlan3
Switch(config-if-vlan2)#ipv6 dhcp-client enable
Switch#sh ipv6 interface brief
Vlan1 [up]
2001:db8:100:1::1/64
fe80::faf0:82ff:fe78:5ba/64
Vlan2 [up]
2001:db8:100:2:faf0:82ff:fe78:5ba/64
fe80::faf0:82ff:fe78:5ba/64
Vlan3 [up]
2001:db8:100:3::100/64
fe80::faf0:82ff:fe78:5ba/64
Loopback [up]
::1/128
Задать статическую IPv6 neighbor-запись
Полностью аналогично статической ARP-записи и производится из-под VLAN-интерфейса.
Switch(config)#int vlan1
Switch(config-if-vlan1)#ipv6 neighbor 2001:db8:100:1::10 f0-de-f1-19-d5-eb interface e1/0/2
Switch#sh ipv6 neighbors
IPv6 neighbour unicast items: 4, valid: 3, matched: 3, incomplete: 0, delayed: 0, manage items: 0
IPv6 Address Hardware Addr Interface Port State Age-time(sec)
2001:db8:100:1::3 38-63-bb-71-d3-00 Vlan1 Ethernet1/0/8 reachable 1168
2001:db8:100:1::10 f0-de-f1-19-d5-eb Vlan1 Ethernet1/0/2 permanent
fe80::f1ed:8839:4a8:13fc 38-63-bb-71-d3-00 Vlan1 Ethernet1/0/8 reachable 1192
Настроить DHCPv6 Relay
Switch(config)#service dhcpv6
Switch(config)#int vlan10
Switch(config-if-vlan10)#ipv6 dhcp relay destination 2001:db8:100:1::1
Security RA и его использование
Если RA-сообщения будет посылать IPv6-хост злоумышленника, то может выйти так, что клиентский ПК будет использовать его link-local адрес, как шлюз по умолчанию. Также злоумышленник может анонсировать неверный IPv6-префикс и его длину. Защититься от этого поможет функционал Security RA. Включим настройку глобально и запретим на абонентских портах RA-сообщения:
Switch(config)#ipv6 security-ra enable
Switch(config)#int e1/0/1-24
Switch(config-if-port-range)#ipv6 security-ra enable
Такие сообщения теперь могут приходить только с аплинков e1/0/25-28. Проверим конфигурацию Security RA:
Switch#sh ipv6 security-ra
IPv6 security RA information:
Global IPv6 Security RA State: enabled
Ethernet1/0/1
IPv6 Security RA State: Yes
Ethernet1/0/2
IPv6 Security RA State: Yes
.
Важно отметить, что механизмы защиты Security RA и SAVI являются взаимоисключающими.
SAVI и DHCPv6 Snooping
SAVI (Source Address Validation Improvement) включает в себя ND Snooping, DHCPv6 Snooping и RA Snooping. Он позволяет защищаться от нелегитимных DHCPv6-серверов и источников RA-сообщений с помощью знакомых нам доверенных портов. Выдаваемые IPv6-адреса и префиксы, привязываются к MAC-адресам и портам в биндинг-таблице. Мы также можем ограничить максимальное количество адресов на порт. Присутствует возможность создавать статические SAVI-записи, с указанием IP-адреса, MAC-адреса и номера интерфейса.
Прежде, чем использовать IPv6-адрес, устройство должно задействовать механизм Duplicate Address Detection (DAD). На специальный мультикастовый адрес посылается ICMPv6-NS сообщение с проверкой, не занят ли кем-то еще в сети этот адрес. Если никто не ответил положительно, то адрес свободен. Настройка savi ipv6 имеет три опции и работает с DAD-NS и DHCPv6-сообщениями. ‘DHCP-ONLY’ отслеживает DHCPv6-пакеты, а DAD NS-пакеты только с link-local адресом. ‘SLAAC-ONLY’ отслеживает DAD NS-пакеты со всеми типами адресов. DHCP-SLAAC отслеживает все DHCPv6 и DAD NS-пакеты.
Настройка savi check binding имеет два режима. Simple mode удаляет записи из таблицы, когда порт находится в состоянии DOWN, а время аренды IPv6-адреса истекло. Probe mode дополнительно посылает NS-пакет перед этим для дополнительной проверки состояния клиента. Если NA-пакет не получен в ответ, запись удаляется.
Включим SAVI, аналог IPv6 source guard, на порту e1/0/3 и ограничим максимальное количество привязанных IPv6-адресов на нем 10 штуками. Заносить в биндинг таблицу будем как адреса сформированные dhcp-методом, так и slaac. Порт e1/0/25 назначим доверенным для DHCPv6 и RA-сообщений.
Switch(config)#savi enable
Switch(config)#savi ipv6 dhcp-slaac enable
Switch(config)#savi check binding probe mode
Switch(config)#ipv6 dhcp snooping vlan 10
Switch(config)#int e1/0/3
Switch(config-if-ethernet1/0/3)#switchport access vlan 10
Switch(config-if-ethernet1/0/3)#savi ipv6 check source ip-address mac-address
Switch(config-if-ethernet1/0/3)#savi ipv6 binding num 10
Switch(config)#int e1/0/25
Switch(config-if-ethernet1/0/25)#switchport mode trunk
Switch(config-if-ethernet1/0/25)#ipv6 nd snooping trust
Switch(config-if-ethernet1/0/25)#ipv6 dhcp snooping trust
Switch#sh savi ipv6 check source binding
Static binding count: 0
Dynamic binding count: 4
Binding count: 4
CPS (Control Packet Snooping)
CPS работает совместно с SAVI и анализирует IPv6-пакеты на предмет префикса. Если он не соответствует тому, что задан в CPS, выдаваемый DHCPv6-сервером адрес не попадет в SAVI биндинг-таблицу. Рассмотрим порядок его настройки. Пропишем разрешенный префикс для global-unicast адреса, а затем префикс fe80::/64 под который будут подпадать все link-local адреса:
Switch(config)#ipv6 cps prefix 2001:db8:100:1::/64 vlan 100
Switch(config)#ipv6 cps prefix fe80::/64 vlan 100
Switch(config)#ipv6 cps prefix check enable
Теперь если DHCPv6-сервер во VLAN 100 отдаст на DHCP-SOLICIT-запрос адрес с отличным от 2001:db8:100:1::/64 префиксом, такой адрес не попадет в SAVI биндинг-таблицу.
ND Security
ND Security позволяет влиять на автоматическое изучение neighbor-записей и контролировать их, является полным аналогом ARP Security. Три рассматриваемые далее команды можно применять как глобально, так и из-под VLAN-интерфейса. Тогда они будут применяться только в этом VLAN. Рассмотрим пример использования ND Security. На данный момент имеем в neighbor-таблице две записи, связанные с тестовым ПК1.
Switch#sh ipv6 neighbors
IPv6 neighbour unicast items: 3, valid: 2, matched: 2, incomplete: 0, delayed: 0, manage items: 0
IPv6 Address Hardware Addr Interface Port State Age-time(sec)
2001:db8:100:1::3 38-63-bb-71-d3-00 Vlan1 Ethernet1/0/1 reachable 1136
fe80::f1ed:8839:4a8:13fc 38-63-bb-71-d3-00 Vlan1 Ethernet1/0/1 reachable 1150
IPv6 neighbour table: 2 entries
Теперь рассмотрим команду ‘ipv6 nd-security updateprotect’. Как понятно из названия, она блокирует обновление MAC-адресов в neighbor-записях. Если после ее применения изменить MAC-адрес на тестовом ПК, то его запись в neighbor-таблице не обновится.
На данный момент обе записи в таблице динамические. Сконвертируем их в статические командой ‘ipv6 nd-security convert’. Записи стали статическими и попали в конфигурацию:
Switch(config)#ipv6 nd-security convert
Switch(config)#sh ipv6 neighbors
IPv6 neighbour unicast items: 3, valid: 2, matched: 2, incomplete: 0, delayed: 0, manage items: 0
IPv6 Address Hardware Addr Interface Port State Age-time(sec)
2001:db8:100:1::3 38-63-bb-71-d3-00 Vlan1 Ethernet1/0/1 permanent
fe80::f1ed:8839:4a8:13fc 38-63-bb-71-d3-00 Vlan1 Ethernet1/0/1 permanent
IPv6 neighbour table: 2 entries
Switch(config)#sh run int vlan1
!
interface Vlan1
ipv6 address 2001:db8:100:1::1/64
ipv6 neighbor fe80::f2de:f1ff:fe19:d5eb f0-de-f1-19-d5-eb interface Ethernet1/0/2
ipv6 neighbor 2001:db8:100:1::4 f0-de-f1-19-d5-eb interface Ethernet1/0/2
!
Наконец, запретим автоматическое изучение новых neighbor-записей командой ipv6 nd-security learnprotect‘. ’