Тестовая страница сообщает глобальный адрес IPv6, и вывод сразу перескакивает к трафику, обходящему VPN. Этому выводу нужны два факта, которые страница так и не показала: какое приложение отправило запрос и какой маршрут выбрало для него ядро. Область действия адреса описывает, докуда адрес может быть маршрутизирован. Она ничего не говорит о том, куда ушёл именно этот пакет.

Область и роль — разные вопросы с разными доказательствами.

Область отвечает, кто может его маршрутизировать, а не кто это делает

Глобальные unicast-адреса в принципе маршрутизируются в публичном интернете, уникальные локальные адреса предназначены для внутренней топологии, а канальные локальные адреса существуют только в одном канале. Это свойства блока адресов. Покидает ли пакет к заданному адресату туннель, решают таблица маршрутизации и политика, привязанная к интерфейсу, и обе могут указывать в любую сторону.

Адрес может иметь глобальную область действия и всё же переноситься внутри туннеля, потому что туннель — это путь, а не план адресов.

Читайте все адреса на интерфейсе, а не веб-тест

Вывод интерфейса показывает несколько адресов сразу: внешний адрес на физическом канале, адрес туннеля и канальный локальный адрес для каждого интерфейса. Веб-тест показывает только адрес источника одного запроса. Начните с ip -6 addr show и отметьте, какому интерфейсу принадлежит каждый адрес и какую длину префикса он несёт, а затем спросите, какой интерфейс запрос действительно использовал.

Сравните это с ip -6 route get 2606:4700::1111, который печатает интерфейс и источник, которые ядро выбрало бы для адресата.

Как глобальный префикс оказывается внутри туннеля

Две схемы создают глобальный адрес на интерфейсе туннеля. Провайдер может делегировать префикс, маршрутизируемый клиенту через туннель, что делает адрес глобальным, пока путь остаётся туннелем. Либо клиент сохраняет свой собственный глобальный адрес, и туннель переносит его как внутренний трафик, пока внешний заголовок выполняет работу. Ни одна схема не требует трансляции, и путаница начинается там, где привычки IPv4 NAT принимают за требование IPv6.

Спросите администратора, какая из двух схем применяется. Ответ определяет, что сервер на другой стороне видит как ваш источник.

Почему адрес, выглядящий частным, не является сигналом доверия

Уникальный локальный адрес говорит, что оператор предназначил его для внутренней маршрутизации, и ничего больше. Он не доказывает, что устройство управляется, программное обеспечение надёжно или трафик зашифрован. Наоборот, глобальный адрес не доказывает, что трафик ушёл из туннеля, и именно это предположение вся статья и существует, чтобы разрушить.

Судите о доверии по политике, аутентификации и шифрованию. Внешний вид адреса — слабая эвристика, которая терпит неудачу в обе стороны.

Проверяйте маршрут и политику как два вопроса

Сначала маршрут: запустите curl -6 https://ifconfig.me через туннель и снова через физический интерфейс, и сравните ответы. Затем политика: подтвердите, какой префикс туннель действительно несёт и есть ли у другой стороны обратный маршрут для него. Успешный запрос к публичному сайту не доказывает ни того, ни другого, потому что до этого адресата можно добраться откуда угодно. Для проверки политики используйте внутренний адресат.

Запишите адрес источника, который создал каждый путь. Это и есть доказательство, которое утверждению об обходе действительно нужно.

Похожие статьи