14.1. Общие сведения о SAVI

SAVI (Source Address Validation Improvement) - технология, которая позволяет осуществлять проверку подлинности IP-адресов в пределах локальной сети и контролировать их валидность. Когда устройство начинает передавать данные через порт, где задействован функционал SAVI, протокол SAVI инициирует проверку по таблице доверенных хостов: если данный адрес ранее не был привязан ни к одному порту, SAVI создает запись соответствия. Если информация об этом адресе уже содержится в таблице, SAVI осуществляет проверку присутствия адреса на порту, информация о котором содержится в таблице. Если адрес более не отвечает на запросы, SAVI создает новую запись в таблице взамен старой.

Для корректной работы SAVI необходимо включить функцию ND Snooping, DHCPv6 Snooping или RA Snooping в соответствии с типом протокола обрабатываемого пакета.

14.2. Конфигурация SAVI

  1. Включить функцию SAVI;
  2. Задать метод обнаружения SAVI;
  3. Добавить записи в таблицу SAVI;
  4. Задать время обнаружения в таблице SAVI;
  5. Задать время перезаписи в таблице SAVI;
  6. Задать время жизни для записи SLAAC;
  7. Задать время защиты записи;
  8. Включить функцию проверки префикса;
  9. Задать префикс CPS вручную;
  10. Задать максимальное количество записей с одним MAC;
  11. Настроить метод проверки при обнаружении конфликта записей;
  12. Включить контроль проверки подлинности;
  13. Назначить доверенный порт DHCPv6;
  14. Назначить доверенный порт ND;
  15. Задать максимальное количество записей SAVI для порта.


  1. Включить функцию SAVI:

Команда

Описание

savi enable

no savi enable

!  В режиме глобальной конфигурации

Включить функцию SAVI; Команда no отключает эту функцию.


2. Задать метод обнаружения SAVI:

Команда

Описание

savi ipv6 {dhcp-only | slaac-only | dhcp-slaac} enable

no savi ipv6 {dhcp-only | slaac-only | dhcp-slaac} enable

!  В режиме глобальной конфигурации

Включить метод обнаружения: dhcp-only - коммутатор будет проверять только DHCPv6 пакеты и DAD NS пакеты link-local адреса с назначенным IPv6 адресом; slaac-only - проверять только не link-local DAD NS; dhcp-slaac - проверять DHCPv6 и все типы пакетов DAD NS. Команда no отключает метод обнаружения.


3. Добавить записи в таблицу SAVI

Команда

Описание

savi ipv6 check source binding ip <ipv6-address> mac <mac-address> interface <if-name> {type [slaac | dhcp] lifetime <lifetime> | type static}

no savi ipv6 check source binding ip <ipv6-address> interface <if-name>

!  В режиме глобальной конфигурации

Создать запись в таблице SAVI для IP-адреса <ipv6-address>, MAC-адреса <mac-address> и интерфейса <if-name>. type [slaac | dhcp] lifetime <lifetime> создает динамическую запись выбранного типа с временем жизни в секундах <lifetime>, type static создает статическую запись. Команда no удаляет эту запись.


4. Задать время обнаружения в таблице SAVI:

Команда

Описание

savi max-dad-delay <max-dad-delay>

no savi max-dad-delay

!  В режиме глобальной конфигурации

Настроить время нахождения динамической записи в состоянии DETECTION. Команда no восстанавливает значение по-умолчанию - 1 секунда.


5. Задать время перезаписи в таблице SAVI:

Команда

Описание

savi max-dad-prepare-delay <max-dad-prepare-delay>

no savi max-dad-prepare-delay

!  В режиме глобальной конфигурации

Задать время повторного обнаружения динамической записи в секундах. Команда no восстанавливает значение по-умолчанию - 1 секунда.


6. Задать время жизни для записи SLAAC:

Команда

Описание

savi max-slaac-life <max-slaac-life>

no savi max-slaac-life

!  В режиме глобальной конфигурации

Задать время жизни записи типа SLAAC, в секундах.Команда no восстанавливает значение по-умолчанию - 14400 секунд (4 часа).


7. Задать время защиты записи:

Команда

Описание

savi timeout bind-protect <protect-time>

no savi timeout bind-protect

!  В режиме глобальной конфигурации

Задать время хранения записи в таблице SAVI после обнаружения перехода порта в состояние DOWN. Команда no восстанавливает значение по-умолчанию - 30 секунд.


8. Включить функцию проверки префикса:

Команда

Описание

ipv6 cps prefix check enable

no ipv6 cps prefix check enable

!  В режиме глобальной конфигурации

Включить функцию проверки соответствия префикса адреса заданному префиксу vlan. Команда no отключает эту функцию.


9. Задать префикс CPS вручную:

Команда

Описание

ipv6 cps prefix <ip-address> vlan <vid>

no ipv6 cps prefix <ip-address>

!  В режиме глобальной конфигурации

Задать префикс для vlan вручную. Команда no удаляет эту запись.


10. Задать максимальное количество записей с одним MAC:

Команда

Описание

savi ipv6 mac-binding-limit <limit-num>

no savi ipv6 mac-binding-limit

!  В режиме глобальной конфигурации

Задать максимальное количество записей в таблице SAV c одним MAC адресом. Команда no восстанавливает значение по-умолчанию - 32 записи.


11. Настроить метод проверки при обнаружении конфликта записей:

Команда

Описание

savi check binding <simple | probe> mode

no savi check binding mode

!  В режиме глобальной конфигурации

Задать метод проверки существующей записи если присутствует конфликт в вновь создаваемой: simple - проверить только состояние порта; probe - отправить NS пакет.


12. Включить контроль проверки подлинности для double-stack:

Команда

Описание

savi ipv6 check source [ipv6-address mac-address | ipv4-address | mac-address]

no savi ipv6 check source

!  В режиме конфигурации интерфейса

Включить функцию контроля проверки подлинности пользователя для double-stack сети, создать запись в таблице. Команда no отключает эту функцию. .


13. Назначить доверенный порт DHCPv6:

Команда

Описание

ipv6 dhcp snooping trust

no ipv6 dhcp snooping trust

!  В режиме конфигурации интерфейса

Назначить доверенный порт DHCPv6 Snooping. Команда no назначает порт как недоверенный.


14. Назначить доверенный порт ND:

Команда

Описание

ipv6 nd snooping trust

no ipv6 nd snooping trust

!  В режиме конфигурации интерфейса

Назначить доверенный порт ND Snooping. Команда no назначает порт как недоверенный.


15. Задать максимальное количество записей SAVI для порта:

Команда

Описание

savi ipv6 binding num <limit-num>

no savi ipv6 binding num

!  В режиме конфигурации интерфейса

Задать лимит записей SAVI для порта; Команда no восстанавливает значение по-умолчанию - 65535 записей.

14.3. Пример конфигурации SAVI

На рабочих станциях ПК1 и ПК2, которые подключены к портам коммутатора доступа “Switch” Ethernet1/0/12 и Ethernet1/0/13 соответственно, установлен IPv6 протокол. На коммутаторе включена функция SAVI. Порты Ethernet1/0/1 магистральный порт коммутатора, поэтому него необходимо назначить доверенным для протоколов DHCPv6 и ND. На коммутаторе агрегации “Switch_Aggr” запущен DHCPv6 сервер и включена функция RA.

Конфигурация коммутатора доступа будет выглядеть следующим образом:

Switch(config)#savi enable
Switch(config)#savi ipv6 dhcp-slaac enable
Switch(config)#savi check binding probe mode
Switch(config)#interface ethernet1/0/1
Switch(config-if-ethernet1/0/1)#ipv6 dhcp snooping trust
Switch(config-if-ethernet1/0/1)#ipv6 nd snooping trust
Switch(config-if-ethernet1/0/1)#exit
Switch(config)#interface ethernet1/0/12-13
Switch(config-if-port-range)#savi ipv6 check source ip-address mac-address
Switch(config-if-port-range)#savi ipv6 binding num 4
Switch(config-if-port-range)#exit

14.4. Решение проблем при конфигурации SAVI