Я не совсем понимаю связь между 4 параметрами, связанными с автоконфигурацией IPv6 с сохранением состояния и без сохранения состояния, используемой в netsh int ipv6 set interface
контекст команды в Windows:
advertise
routerdescovery
managedaddress
otherstateful
Из того, что я смог найти до сих пор, я понимаю, что:
advertise
используется, чтобы указать, что RA должна быть отправлена / должна быть отправлена ОС, содержащей M
и O
флаг настроен как managedaddress
и otherstateful
для этого конкретного интерфейса; это относится к серверу.routerdescovery
используется, чтобы указать, что ОС должна запрашивать / обрабатывать RA на этом интерфейсе и использовать его для настройки на основе того, какие флаги имеет RA; если routerdescovery
включен, managedaddress
и otherstateful
переопределяются флагами RA; это актуально для клиентаМой вопрос в том, что происходит, когда advertise
и routerdescovery
отключены?
Можно подумать, что в этом случае managedaddress
и otherstateful
определяет, включен или нет клиент DHCPv6 на этом интерфейсе. Однако, похоже, это не так. Если все 4 параметра отключены (advertise
, routerdescovery
, managedaddress
и otherstateful
) Клиент Windows по-прежнему будет пытаться связаться с сервером DHCPv6.
После многих экспериментов и множества неоднозначных документов и статей я пришел к выводу, что managedaddress
и otherstateful
актуальны только в сочетании с advertise
(т.е. когда вы включаете RA на своем сервере Windows), и они помогают настроить M
и O
флаги в пакетах RA.
Если routerdescovery
включен и advertise
отключено, вы не можете настроить managedaddress
и otherstateful
параметров через netsh больше, но как только RA поступает на интерфейс, эти два параметра настраиваются автоматически, чтобы они отражали M
и O
флаги пришедшего RA-пакета.
Независимо от того, какая конфигурация используется, сообщения DHCPv6 Solicit всегда отправляются на интерфейсы с поддержкой IPv6, даже при получении пакетов RA с M
флаг НЕ установлен. Мне не удалось найти способ отключить DHCPv6 в Windows (я предполагаю, что Vista и выше; я тестировал на 8.1). Если в сети есть DHCPv6-сервер, вы получите от него IPv6-адрес.
К счастью, в большинстве сетей используется автоконфигурация без сохранения состояния (каждый узел настраивается на основе префикса, объявленного в RA) вместо автоконфигурации с отслеживанием состояния, когда IPv6-адрес согласовывается с сервером DHCPv6. Поскольку большинство сетей не имеют состояния, многие думали, что отключение routerdiscovery
не позволит им получить дополнительные адреса IPv6. Но это неверно, если в сети есть сервер DHCPv6.