Адрес, который хост собирает сам
SLAAC — Stateless Address Autoconfiguration. Хост в IPv6-сети может получить глобальный адрес без DHCP-сервера: префикс приносит маршрутизатор, а хвост адреса машина считает у себя.
Зачем отдельная страница
Имя slaac.ru я занял под свои короткие заметки про этот механизм. Здесь нет кабинета, регистрации и сервиса: только текст, который самому удобно держать под рукой, когда в очередной раз всплывает «почему у интерфейса два адреса».
Ниже — рабочая схема, без разбора заголовков пакетов по битам. Подробности и ссылки на RFC лежат на отдельной странице.
Как адрес появляется
- Маршрутизатор периодически шлёт Router Advertisement, либо хост сам просит его сообщением Router Solicitation.
- В объявлении есть префикс, обычно /64, и флаги: можно ли им пользоваться для автоконфигурации и есть ли рядом DHCPv6.
- Хост дописывает к префиксу идентификатор интерфейса. Раньше его часто делали из MAC, сейчас почти везде случайный временный адрес, чтобы хост нельзя было узнать по суффиксу.
- Перед использованием адрес проверяется на занятость: Duplicate Address Detection, несколько Neighbor Solicitation на свой же будущий адрес.
Поэтому у одного интерфейса нормально видеть сразу несколько глобальных адресов: стабильный и временный, плюс link-local fe80::/10, который SLAAC не заменяет. Link-local нужен самой связке «хост — маршрутизатор» и никуда за подсеть не маршрутизируется.
Где это обычно ломается
Если RA не доходят, адрес не появится, даже когда линк «поднят», а пинг до link-local соседа проходит. Частые причины: RA отфильтрованы на мосту или Wi-Fi-точке, префикс короче или длиннее /64 и стек его игнорирует, либо флаг автоконфигурации снят и сеть ждёт только DHCPv6.
Обратная ситуация тоже бывает: префикс приехал, адрес собрался, а наружу трафика нет. Тогда смотреть уже не SLAAC, а маршрут по умолчанию в том же RA и то, отдаёт ли провайдер этот префикс в интернет.
Что на этом хосте
Сайт статический. Сертификат Let’s Encrypt выписан на slaac.ru, порт 80 только перенаправляет на HTTPS. Заметок пока две страницы; если появится третья, она будет в том же оглавлении.