Глобальна адреса IPv6 не означає, що трафік обходить тунель
Обсяг говорить, докуди адресу можна маршрутизувати, а не куди пішов цей пакет. Прочитайте інтерфейс, вибраний маршрут і префікс тунелю, перш ніж робити висновок.
Тестова сторінка повідомляє глобальну адресу IPv6, і висновок одразу перескакує до трафіку, що обходить VPN. Цей висновок потребує двох фактів, яких сторінка так і не показала: який застосунок надіслав запит і який маршрут вибрало для нього ядро. Обсяг адреси описує, докуди адресу можна маршрутизувати. Він нічого не каже про те, куди пішов саме цей пакет.
Обсяг і роль — різні питання з різними доказами.
Обсяг відповідає, хто може її маршрутизувати, а не хто це робить
Глобальні unicast-адреси в принципі маршрутизуються в публічному інтернеті, унікальні локальні адреси призначені для внутрішньої топології, а канальні локальні адреси існують лише в одному каналі. Це властивості блоку адрес. Чи пакет до заданого адресата виходить через тунель, вирішують таблиця маршрутизації та політика, прив'язана до інтерфейсу, і обидві можуть указувати в будь-який бік.
Адреса може мати глобальний обсяг і все ж переноситися всередині тунелю, бо тунель — це шлях, а не план адрес.
Читайте всі адреси на інтерфейсі, а не веб-тест
Вивід інтерфейсу показує кілька адрес одразу: зовнішню адресу на фізичному каналі, адресу тунелю та канальну локальну адресу для кожного інтерфейсу. Веб-тест показує лише адресу джерела одного запиту. Почніть з ip -6 addr show і позначте, якому інтерфейсу належить кожна адреса і яку довжину префікса вона несе, а потім запитайте, який інтерфейс запит справді використав.
Порівняйте це з ip -6 route get 2606:4700::1111, який друкує інтерфейс і джерело, які ядро вибрало б для адресата.
Як глобальний префікс опиняється всередині тунелю
Дві схеми дають глобальну адресу на інтерфейсі тунелю. Провайдер може делегувати префікс, що маршрутизується клієнтові через тунель, що робить адресу глобальною, поки шлях лишається тунелем. Або клієнт зберігає власну початкову глобальну адресу, і тунель переносить її як внутрішній трафік, поки зовнішній заголовок виконує роботу. Жодна схема не потребує трансляції, і плутанина починається там, де звички IPv4 NAT сприймають як вимогу IPv6.
Запитайте адміністратора, яка з двох схем застосовується. Відповідь визначає, що сервер на іншому боці бачить як ваше джерело.
Чому адреса, що виглядає приватною, не є сигналом довіри
Унікальна локальна адреса каже, що оператор призначив її для внутрішньої маршрутизації, і не більше. Вона не доводить, що пристрій керований, програмне забезпечення надійне або трафік зашифрований. Навпаки, глобальна адреса не доводить, що трафік утік із тунелю, і саме це припущення вся стаття існує, щоб зруйнувати.
Судіть про довіру за політикою, автентифікацією та шифруванням. Вигляд адреси — слабка евристика, що зазнає невдачі в обидва боки.
Перевіряйте маршрут і політику як два питання
Спершу маршрут: запустіть curl -6 https://ifconfig.me через тунель і знову через фізичний інтерфейс, і порівняйте відповіді. Далі політика: підтвердьте, який префікс тунель справді несе і чи має інший бік зворотний маршрут для нього. Успішний запит до публічного сайту не доводить ні того, ні того, бо до цього адресата можна дістатися звідусіль. Для тесту політики використовуйте внутрішнього адресата.
Запишіть адресу джерела, яку створив кожен шлях. Це і є доказ, який твердженню про обхід справді потрібен.