slaac.ru

Адрес, который хост собирает сам

SLAAC — Stateless Address Autoconfiguration. Хост в IPv6-сети может получить глобальный адрес без DHCP-сервера: префикс приносит маршрутизатор, а хвост адреса машина считает у себя.

Зачем отдельная страница

Имя slaac.ru я занял под свои короткие заметки про этот механизм. Здесь нет кабинета, регистрации и сервиса: только текст, который самому удобно держать под рукой, когда в очередной раз всплывает «почему у интерфейса два адреса».

Ниже — рабочая схема, без разбора заголовков пакетов по битам. Подробности и ссылки на RFC лежат на отдельной странице.

Как адрес появляется

  1. Маршрутизатор периодически шлёт Router Advertisement, либо хост сам просит его сообщением Router Solicitation.
  2. В объявлении есть префикс, обычно /64, и флаги: можно ли им пользоваться для автоконфигурации и есть ли рядом DHCPv6.
  3. Хост дописывает к префиксу идентификатор интерфейса. Раньше его часто делали из MAC, сейчас почти везде случайный временный адрес, чтобы хост нельзя было узнать по суффиксу.
  4. Перед использованием адрес проверяется на занятость: 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. Заметок пока две страницы; если появится третья, она будет в том же оглавлении.