Расширения конфиденциальности IPv6 определены в RFC 4941. Исходя из этого, я понимаю, что идентификатор временного интерфейса выбирается не только заново, когда истекает временное время жизни, но также и при изменении ссылки. RFC 4941 говорит:
3.3. Генерация временных адресов
[...] 3. Когда новый публичный адрес создается, как описано в [ADDRCONF], узел ДОЛЖЕН также создать новый временный адрес.
а также
3.5. Регенерация рандомизированных идентификаторов интерфейса
[...] Наконец, когда интерфейс подключается к новой ссылке, новый случайный идентификатор интерфейса ДОЛЖЕН быть сгенерирован немедленно вместе с новым набором временных адресов.
Он говорит "должен", но по сути "должен" = "должен", если только у вас нет веских причин не подчиняться.
Теперь, играя с THC IPv6 Toolkit и, в частности, с fake_router26
, я ожидаю, что если вы сбросите интерфейс и объявите другой префикс, то это - более или менее - новая ссылка. Тем не менее, ни Windows 7, ни Linux, кажется, не сдвинулись с места, и оба хранят свой временный идентификатор интерфейса.
Я что-то упустил, или я должен устроить эксперимент по-другому? Сохранение одного и того же идентификатора интерфейса для различных префиксов делает расширения конфиденциальности довольно бесполезными ...