Автоконфигурирование IPv6 на Cisco

Есть роутер Cisco, на соответствующем интерфейсе включен ipv6. Надо убедиться, что роутер не позволяет хостам из этой сети автоматически получать адрес ipv6 при помощи механизма SLAAC (Stateless Address Autoconfiguration).

Отключить выдачу адресов ipv6 по запросу на автоконфигурирование:
interface Vlan66
 ipv6 nd prefix default 300 300 no-autoconfig
!


Запретить отправку объявлений о том, что мы роутер (Router Advertisements — RA):
interface Vlan66
 ipv6 nd ra suppress all
!


Если на роутере запрещёна отправка RA, то хост не сможет получить префикс сети от роутера и, соответственно, назначить себе «реальный» адрес, т.е. хост шлёт запросы Router Solicitation, но не получает ответа от роутера, в котором и должен быть передан префикс сети и прочие данные.
Если отправка RA не запрещена, но запрещено автоконфигурирование, то протокол Neighbor Discovery работает, соседи видны, но только по локальным адресам (link-local), например:
cs#sh ipv6 neighbors
IPv6 Address                              Age Link-layer Addr State Interface
FE80::21D:FFF:FEBE:AF12                     1 001d.0fbe.af12  DELAY Vl66


Если хост получил от роутера префикс сети, то он назначает себе адрес на основе полученного префикса и своего MAC-адреса. И мы можем увидеть его на роутере:
cs#sh ipv6 neighbors
IPv6 Address                              Age Link-layer Addr State Interface
FE80::21D:FFF:FEBE:AF12                     0 001d.0fbe.af12  REACH Vl66
2001:db8::21D:FFF:FEBE:AF12                0 001d.0fbe.af12  REACH Vl66


Короче говоря, чтобы работало автоконфигурирование нужно чтобы на циске были разрешены и автоконфигурирование и RA.

Даже если отключить на роутере RA уже после получения хостом адреса, связь через некоторое время пропадает. По крайней мере у меня так происходит между циской и CentOS 6.5. Обнаружение соседей (Neighbor Discovery) при этом работает. CentOS при попытке пингануть роутер ругается «Network is unreachable».

Дополнение

Прочитал где-то, что RA отключать нельзя в любом случае, а отключать SLAAC нужно опциями на интерфейсе, которые указывают хостам получать адреса и прочие настройки по DHCP:
ipv6 nd managed-config-flag
 ipv6 nd other-config-flag


При просмотре информации о IPv6 для этого интерфейса видим:
cs#sh ipv6 int vl66
...
  Hosts use DHCP to obtain routable addresses.
  Hosts use DHCP to obtain other configuration.
...


Однако, у меня при этом хосты всё равно получали адреса по SLAAC.

Дополнение 2

Ещё одна опция в попытке отключить раздачу SLAAC роутером:
interface Vlan66
 ipv6 nd prefix default no-advertise

Роутер будет отправлять RA, но в них не будет указан префикс сети, т.е. хосты не смогут «создать» адрес.

Т.к. мне до сих непонятно можно ли полностью отключать RA, я попытался сохранить эти анонсы и включил три другие опции:
interface Vlan66
 ipv6 nd prefix default no-advertise
 ipv6 nd managed-config-flag
 ipv6 nd other-config-flag


Проверил с Windows 7 и CentOS — адрес не получаю, но при просмотре списка соседей на этом интерфейсе вижу, что появились SLAAC-адреса других хостов:
cs#sh ipv6 neighbors vl66
...
2001:db8:C:0:211:32FF:FE90:7C23          133 0011.3290.7c23  STALE Vl66
2001:db8:C:0:21D:FFF:FEBE:AF12           219 001d.0fbe.af12  STALE Vl66
...

Возможно, хосты просто сохранили полученные ранее через SLAAC адреса.

Кстати, можно удалить всех соседей на интерфейсе или конкретный адрес одного соседа:
cs#clear ipv6 neighbors vlan66
cs#clear ipv6 neighbors vlan66 2001:db8:C:0:211:32FF:FE90:7C23


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