Как читать запись со слэшем
Адрес IPv6 состоит из 128 бит и записывается в виде восьми групп шестнадцатеричных чисел, разделённых двоеточиями. Двойное двоеточие заменяет подряд идущие нулевые группы. Число после косой черты называется длиной префикса: оно говорит, сколько первых бит у всех адресов в этой сети одинаковы.
Префикс /64 означает, что 64 бита описывают сеть, а остальные 64 бита остаются на адрес устройства внутри неё. Это стандартный размер подсети для домашней и офисной локальной сети. Префикс /56 короче: общих бит меньше, а значит, внутри него помещается много подсетей.
По арифметике это легко проверить: между /56 и /64 восемь бит, то есть 2 в восьмой степени, или 256 подсетей размера /64. Между /60 и /64 четыре бита, то есть 16 подсетей. Чем меньше число после слэша, тем больше блок адресов.
Для практической жизни хватит запомнить два числа: /64 — подсеть для устройств, а всё, что короче, — запас адресов для нескольких подсетей. Вручную считать биты придётся редко, обычно роутер делает это сам.
Откуда у роутера берётся префикс
В IPv4 провайдер выдавал вашему роутеру один адрес, а внутри сети работал NAT. В IPv6 всё иначе: провайдер выделяет вашему подключению целый блок, а роутер раздаёт его внутри. Механизм называется делегированием префикса, в документации и меню его встречают как DHCPv6-PD или Prefix Delegation.
Какой длины блок получит клиент, решает провайдер, и единого значения нет. Встречаются варианты с /64, /60, /56 и другие. Если выдан только /64, домашней сети достаточно одной подсети, а вот разделять сеть на несколько сегментов, например для гостей или умного дома, окажется сложнее.
Узнать выданный блок можно в статусе подключения на роутере: рядом с IPv6 обычно показан делегированный префикс и адрес на стороне провайдера. Если данных нет, значит IPv6 у вас не получен либо прошивка не показывает его подробно.
В интерфейсе настройки подключения в разделе IPv6 нередко есть поле «запрашивать префикс» или похожая отметка. Её лучше оставлять включённой, если вы хотите, чтобы роутер получал блок для домашней сети. Если снять отметку, устройства за роутером могут остаться без глобальных адресов.
Адреса, которые встречаются в списке
В сведениях об IPv6 на устройстве обычно сразу несколько адресов. Они играют разные роли.
| Начало адреса | Тип | Для чего нужен |
|---|---|---|
| fe80 | Локальный на канале | Связь внутри одного сегмента, обычно присутствует при включённом IPv6 |
| 2 или 3 в начале | Глобальный | Выход в интернет, берётся из префикса провайдера |
| fd | Локальный уникальный | Внутренняя сеть, в интернет не маршрутизируется |
| Временный глобальный | Из глобального префикса | Для исходящих соединений, периодически меняется |
Если вы видите несколько глобальных адресов у одного устройства, это нормально: один постоянный, другие временные. Адрес fe80 не нужно искать в интернете и вносить в правила: он действует только внутри локального сегмента.
Адреса fd вы можете встретить, если роутер создаёт внутреннюю сеть с собственным префиксом. Это полезно для устройств, которым нужны стабильные локальные адреса независимо от смены префикса провайдера.
Как устройства получают адрес: SLAAC и DHCPv6
В настройках роутера в разделе локальной сети для IPv6 обычно предлагается выбор способа раздачи. Основных вариантов два, и они работают по-разному.
- SLAAC: роутер сообщает устройствам префикс, а они сами составляют адрес. Этот вариант не требует сервера и используется чаще всего. Для него нужна подсеть /64.
- DHCPv6 с учётом состояния: роутер выдаёт адреса из пула, как это делалось в IPv4, и хранит список выданных.
- DHCPv6 без учёта состояния: адрес устройство составляет само, а от сервера получает только дополнительные данные, например адреса DNS.
Некоторые клиенты, в частности мобильные системы, ориентируются на SLAAC и могут не получать адрес по DHCPv6. Поэтому, если у вас смешанный парк устройств, настройки по умолчанию, как правило, безопасный выбор. Менять их без нужды не стоит.
Если префикс меняется
Многие провайдеры выдают динамический префикс: он может измениться после перезагрузки роутера, разрыва соединения или по истечении срока аренды. Для обычного пользования это незаметно, устройства сами получают новый блок и обновляют адреса.
Проблемы возникают в нескольких случаях:
- Вы создали правило входящего доступа к конкретному адресу устройства. После смены префикса адрес стал другим, и правило не работает.
- Вы вписали глобальный адрес устройства в какую-то программу как постоянный.
- Вы используете имя в динамической DNS и не обновляете записи для IPv6.
Для случаев с доступом извне иногда помогает привязка правил к идентификатору интерфейса, если прошивка это умеет, или использование имён вместо адресов. Для локальных нужд подходит адрес из диапазона fd. Точные возможности зависят от прошивки, и стоит уточнить у провайдера, предоставляется ли постоянный префикс.
Если вы заметили, что после перезагрузки роутера доступ к домашнему серверу пропал на некоторое время, подождите: устройствам нужно время, чтобы получить новые адреса, а записи в службе имён — чтобы обновиться. Для критичных задач разумно заранее спросить у провайдера о постоянном префиксе.
Проверка и типичные вопросы к настройкам
Чтобы убедиться, что делегирование работает, выполните несколько проверок.
- На роутере в статусе IPv6 должны быть адрес на стороне провайдера и делегированный префикс.
- На компьютере в сведениях о сети должен быть глобальный адрес, начинающийся с 2 или 3, и адрес шлюза fe80.
- Откройте любой сервис проверки IPv6 в браузере: он покажет адрес и подтвердит, что соединение идёт по новому протоколу.
- Команда ping с ключом для IPv6 до внешнего узла покажет, проходит ли трафик.
Если глобального адреса нет, проверьте, включён ли IPv6 у провайдера и есть ли поддержка на вашей линии: не все подключения получают его сразу. Если провайдер не предоставляет IPv6, префиксов в статусе не будет, и это не неисправность роутера.
Если у вас несколько роутеров, например основной от провайдера и второй для расширения сети, второй может запросить собственный блок у первого. Для этого у первого должен быть достаточно короткий префикс, например /56. При одном только /64 второй роутер, как правило, не сможет раздать адреса собственной подсети.