И если так, как это должно работать? Должен ли клиент сам прикреплять идентификатор интерфейса на основе интерфейса, через который прошло назначение?
2 ответа
Интересно. В RFC ничего не говорится об использовании link-local. Я только что попробовал его с Juniper SSG5 в качестве сервера DHCPv6 и Mac OS X Lion в качестве клиента, и он, похоже, действительно работал :-) Интерфейс, который получил пакет DHCP, стал исходящим интерфейсом для запроса.
Это может сделать отладку ужасно сложной, хотя ...
RDNSS
В обновленном (март 2017 года) определении RDNSS, RFC 8106, говорится в разделе 5.1:
Примечание. Адреса для RDNSS в параметре RDNSS МОГУТ быть адресами локальной сети. Такие локальные адреса канала ДОЛЖНЫ быть зарегистрированы в репозитории резольвера вместе с соответствующими индексами зоны канала ссылок, которые получают опцию (и) RDNSS для них. Локальные адреса связи МОГУТ быть представлены в репозитории Resolver с их индексами зоны ссылки в текстовом формате для адресов с областью действия, как описано в [RFC4007]. Когда распознаватель отправляет сообщение запроса DNS на RDNSS, идентифицируемый локальным адресом связи, он ДОЛЖЕН использовать соответствующую ссылку.
Предположительно, это было добавлено, чтобы указать, что использование DNS-серверов локальной сети должно быть приемлемым, и, как вы говорите, хост должен гарантировать, что в этом случае он сохраняет свои идентификаторы интерфейса.
Как и все, что связано с новыми стандартами IPv6, поддержка в вашей любимой операционной системе, чтобы иметь возможность фактически использовать то, что было объявлено, будет варьироваться, но, надеюсь, со временем поставщики подпишут и реализуют ее. В Википедии сообщается, что "Обновление для создателей Windows 10 представляет поддержку RFC 8106 RDNSS", хотя на момент написания этой статьи нет ссылок на это, я не проверил это самостоятельно и не знаю, включает ли его поддержка эту функцию.
DHCPv6
Я не нашел подобных обновлений, которые проясняют ситуацию для DNS-серверов, указанных в параметрах DHCPv6. Достаточно сказать, что я не ожидал, что он будет работать последовательно в разных системах.
обходные
Пока не существует стандартного (заданного или де-факто) метода для указания локальных DNS-серверов для сетевых клиентов, в любом не лабораторном сценарии, вероятно, лучше использовать реальные глобальные адреса или, по крайней мере, уникальные локальные адреса, поскольку именно это большинство программного обеспечения. ожидает.