Тест IPv6

Чи працює на вашому підключенні IPv6 і який протокол обирає браузер, коли доступні обидва.

IPv4
216.73.216.6
IPv6
Браузер обрав

Опитуємо…

Більшість домашніх мереж досі чудово живуть без IPv6. Він стає важливим, коли сервіс доступний лише через IPv6 або коли провайдер тримає вас за NAT рівня оператора.

Що робить ця перевірка

Вебсервер бачить рівно одну адресу — ту, з якої ви прийшли. Якщо ви під'єдналися через IPv4, у цьому з'єднанні немає нічого, що сказало б, чи працює у вас ще й IPv6: такої інформації там просто немає. Тому єдиний чесний спосіб відповісти на питання «чи є в мене IPv6» — змусити браузер спробувати: узяти щось із вузла, у якого є адреса IPv6 і більше жодної, і подивитися, чи вийде.

Саме це й відбувається на цій сторінці. Ідуть три окремі запити — до вузла, доступного лише через IPv4, до вузла, доступного лише через IPv6, і до вузла з обома адресами, — і результати відповідають на три різні питання: чи працює кожен протокол узагалі і, з третього, який із них обрав ваш браузер, коли вибір був вільним. Остання відповідь найцікавіша, і побачити її більше нізвідки.

Навіщо все це

В IPv4 близько 4,3 мільярда адрес — 1981 року це виглядало марнотратно, а на практиці вони закінчилися вже давно: центральний запас вичерпали у лютому 2011-го, а європейський реєстр видав останній вільно доступний блок у листопаді 2019-го. Виділяти більше нема чого. Замість цього провайдери ділять одну публічну адресу між багатьма клієнтами: для перегляду сайтів це працює, а все, що чекає на вхідне з'єднання, ламається.

В IPv6 замість 32 бітів — 128. Кількість адрес словами не виражається осмислено (це приблизно 340 ундецильйонів), а практичний наслідок такий: кожен пристрій знову може мати справді маршрутизовану глобально адресу без жодної трансляції посередині. Поширення йшло повільно, але маргінальним воно давно не є: великі публічні вимірювання останніх років показують приблизно двох із п'яти користувачів світу, які дістаються служб через IPv6, з величезним розкидом між країнами. Деякі національні мережі перейшли за три чверті; інші лишаються біля нуля.

Як читати ваш результат

Працюють обидва протоколи
У вас dual-stack — саме той стан, який вважається сучасною нормою. Усе досяжне справді досяжне, а браузер обирає між протоколами для кожного з'єднання окремо.
Працює лише IPv4
Цілком звичайна ситуація, і це не поломка. Ваш провайдер, ваш маршрутизатор або VPN, яким ви користуєтесь, не несе IPv6. Нічого не зламано; ви просто не дістанетесь тієї невеликої, але зростаючої кількості служб, які не публікують більше нічого.
Працює лише IPv6
Рідкість, і зазвичай навмисна: мережа тільки з IPv6 і шлюз трансляції для застарілих напрямків. Якщо ви цього не налаштовували свідомо, значить, із трансляцією щось не так.
Не працює жоден
Ви б цього не читали, тож на практиці це означає недосяжність пробних вузлів, а не вашу відсутність у мережі. Корпоративні проксі й фільтрувальне обладнання інколи блокують запити до незнайомих їм вузлів.

Результат про перевагу і чому браузери роблять саме так

Коли в імені є і A-, і AAAA-запис, браузер мусить обрати, — і сучасні браузери роблять дещо акуратніше, ніж просто беруть одне. Алгоритм називається Happy Eyeballs: браузер починає розв'язувати обидва, дає IPv6 невелику фору й невдовзі стартує ще й з'єднання через IPv4, не чекаючи, доки спроба з IPv6 провалиться. Використовується те з'єднання, яке встановилося першим; друге відкидається.

Причина його появи конкретна й історична. У роки, коли IPv6 працював уривками, машина зі зламаним маршрутом IPv6 пробувала його, чекала на довгий TCP-тайм-аут і лише тоді переходила на IPv4, — і робочий сайт перетворювався на сайт, що вантажиться тридцять секунд. Перегони двох протоколів із короткою затримкою зробили ціну зламаного IPv6 мілісекундами замість півхвилини, і це єдина зміна, яка зробила dual-stack безпечним для звичайних людей.

Тож якщо перевірка каже, що ваш браузер надав перевагу IPv6, це означає, що ваш маршрут IPv6 не просто існує, а виявився достатньо швидким, щоб виграти перегони. Це сильніше твердження, ніж «IPv6 налаштовано».

Самі адреси

Запис IPv6 виглядає лячно, а тримається на трьох простих правилах: вісім груп по чотири шістнадцяткові цифри, у кожній групі провідні нулі відкидаються, а один суцільний ряд нульових груп замінюється на :: — рівно один раз на адресу, бо другий був би неоднозначним. Тому 2001:0db8:0000:0000:0000:0000:0000:0001 пишеться як 2001:db8::1.

Глобальна юнікаст — усе, що починається на 2 або 3
Справжня адреса, маршрутизована в інтернеті. Саме її показує перевірка.
Link-local — fe80::
Є в кожного інтерфейсу IPv6 і ніколи не покидає локальний сегмент. Якщо це єдина адреса IPv6 на вашій машині, робочого IPv6 у вас немає — у вас є інтерфейс, який налаштував себе сам.
Unique local — fc00::/7
Приблизний відповідник приватного простору IPv4, для внутрішніх мереж, які не мають бути досяжними ззовні.

Одне зазвичай дивує: ваша адреса IPv6 змінюється сама, часто щодня. Оскільки адреса, побудована з апаратного ідентифікатора мережевої карти, ходила б за вами по всіх мережах, до яких ви під'єднуєтесь, операційні системи генерують для вихідних з'єднань тимчасові адреси й ротують їх. Це працює саме так, як задумано, — це не збій налаштувань. Але звідси випливає, що записана вчора адреса IPv6 сьогодні вже, найімовірніше, не ваша, а правила фаєрвола варто писати на префікси, а не на окремі адреси.

NAT немає, і це працює в обидва боки

В IPv4 за домашнім маршрутизатором ваші пристрої недосяжні ззовні, бо адресувати щось крізь трансляцію без явного правила прокидання неможливо. Ця випадковість, породжена дефіцитом адрес, два десятиліття виконувала роль грубого фаєрвола, — і в IPv6 її немає: кожен пристрій тримає адресу, маршрутизовану глобально.

Саме тут фаєрвол із побічного стає несучим. Кожен притомний маршрутизатор постачається з увімкненим фаєрволом IPv6, який за замовчуванням блокує незапитані вхідні з'єднання, — тож на практиці назовні не відкрито нічого нового. Але тепер це рішення в налаштуваннях, а не побічний ефект, і його варто підтвердити, а не припускати. Якщо хочете побачити, що справді досяжне ззовні, на це відповідає перевірка портів — і відповідає саме для тієї адреси, з якої ви прийшли.

Якщо IPv6 у вас немає

За спаданням імовірності:

  1. Провайдер його не надає. Найпоширеніша відповідь із великим відривом, і налаштовувати тут нічого. Спитайте: дехто вмикає за запитом або на новіших тарифах.
  2. У маршрутизаторі його вимкнено або пристрій достатньо старий, щоб підтримувати його погано. Подивіться в налаштуваннях WAN пункт IPv6 і розмір делегованого префікса: провайдери видають /56 або /48, а маршрутизатор, який просить одну-єдину /64, лишить частину мережі без адрес.
  3. Заважає VPN. Багато клієнтів VPN несуть лише IPv4 і або блокують IPv6 повністю, або, що гірше, пускають його повз тунель — а це один зі способів, у які VPN видає вашу справжню адресу, виглядаючи при цьому робочим.
  4. Мережа, у якій ви є, його фільтрує — звична річ у корпоративних і публічних мережах.

Сьогодні відсутність IPv6 коштує небагато: майже нічого в публічному інтернеті не живе лише на IPv6 — саме тому, що оператори знають, скільки людей досі мають тільки IPv4. Коштує вона іншого: спільної з незнайомцями публічної адреси, а разом із нею й можливості приймати вхідні з'єднання. А якщо цікаво, що ще видно про ваше з'єднання, сторінка про браузер перелічує це без театральності, яку зазвичай навколо теми розводять.

Часті запитання

У мене немає IPv6. Це проблема?

Для щоденного користування — майже ніяка. Практично ніщо в публічному інтернеті не доступне виключно через IPv6, саме тому, що оператори знають, скільки людей досі мають тільки IPv4. Коштує це іншого: провайдер, найімовірніше, ділить одну публічну адресу між багатьма клієнтами, а отже, вхідні з'єднання до вас не доходять узагалі — ані прокидання портів, ані власний сервер, ані частина однорангових застосунків.

Чому сайт не може просто сказати, чи є в мене IPv6?

Бо сервер бачить лише ту адресу, з якої ви під'єдналися. Якщо ви прийшли через IPv4, у цьому з'єднанні немає жодної інформації про те, чи працює у вас іще й IPv6. Дізнатися це можна лише одним способом — змусити браузер спробувати з'єднатися з вузлом, у якого є адреса IPv6 і більше жодної, чим ця сторінка і займається.

Чому моя адреса IPv6 постійно змінюється?

Бо так задумано. Адреса, побудована з апаратного ідентифікатора мережевої карти, була б постійною міткою стеження, яка ходить за вами в кожну мережу, тому операційні системи генерують для вихідних з'єднань тимчасові адреси й ротують їх, зазвичай щодня. Префікс вашої мережі лишається; друга половина адреси навмисно одноразова. Правила фаєрвола пишіть на префікс, а не на окрему адресу.

Браузер обрав IPv6, хоча IPv4 теж працює. Чому?

Сучасні браузери користуються алгоритмом Happy Eyeballs: вони починають обидва з'єднання, дають IPv6 невелику фору й беруть те, яке встановиться першим. Він з'явився тому, що в перші роки зламаний маршрут IPv6 змушував сайти зависати на тридцять секунд до переходу на IPv4. Перегони роблять ціну зламаного маршруту мілісекундами — і означають, що якщо переміг IPv6, то ваш маршрут IPv6 справді був швидшим.

Чи менш безпечний IPv6 через відсутність NAT?

Ні, але захист перетворюється з випадковості на рішення. В IPv4 ваші пристрої були недосяжні тому, що трансляції адрес не було куди відправляти незапитаний трафік; в IPv6 кожен пристрій має маршрутизовану адресу, і незапитані вхідні з'єднання блокує фаєрвол маршрутизатора. Кожен притомний маршрутизатор робить це за замовчуванням, тож фактична відкритість не змінилася, — просто це варто підтвердити, а не припускати.

Моя адреса починається з fe80. Це рахується за IPv6?

Для виходу в інтернет — ні. Адреси, що починаються з fe80, є link-local: кожен інтерфейс IPv6 налаштовує собі таку сам, і вона ніколи не покидає локальний сегмент мережі. Якщо це єдина адреса IPv6 на вашій машині, у вас є інтерфейс, який налаштував себе сам, і немає зв'язності — маршрутизатор не делегує справжнього префікса.

Увімкнув VPN — IPv6 перестав працювати. Так і має бути?

Дуже часто так. Багато клієнтів VPN несуть лише IPv4 і блокують IPv6, щоб той не пішов повз тунель. Це саме безпечна поведінка. Небезпечна — коли клієнт лишає IPv6 працювати поза тунелем: тоді частина вашого трафіку йде до сайтів з вашої справжньої адреси, а VPN при цьому виглядає робочим. Це один із класичних витоків.

Як отримати IPv6, якщо він потрібен?

Починайте з провайдера — у більшості випадків відповідь саме там, і обійти це налаштуваннями неможливо. Якщо він IPv6 таки несе, перевірте, що в маршрутизаторі IPv6 увімкнено на боці WAN і що той просить префікс того розміру, який делегує провайдер, — зазвичай /56 або /48. Маршрутизатор, який просить одну-єдину /64, лишить частину вашої мережі без адрес, хоча провайдер дає з запасом.

Пов'язані перевірки