Генератор IPv6 ULA
Технічні деталі
Як працює генератор IPv6 ULA
Що робить інструмент
Генератор IPv6 ULA створює префікс /48 Unique Local Address, який з малою ймовірністю конфліктуватиме з будь-яким іншим сайтом, дотримуючись алгоритму з RFC 4193 §3.2.2. Вкажіть MAC-адресу (або дозвольте інструменту вибрати випадкову), і він виведе 40-бітний Global ID із SHA-1 від EUI-64, конкатенованого з поточною NTP-часовою міткою. Вивід містить префікс /48, Global ID і Subnet ID, а також приклад адреси хоста /64.
Поширені сценарії використання для розробників
Мережеві адміністратори використовують ULA для побудови приватних IPv6-мереж, які не залежать від глобально маршрутизованого адресного простору. Оператори лабораторій і домашніх лабораторій (homelab) обирають ULA-префікс один раз для сайту, а потім повторно використовують його для всіх внутрішніх VLAN і overlay-мереж. Вони також корисні для хмарних VPC, контейнерних мереж і ізольованих середовищ (air-gapped), де глобальний IPv6 недоступний або небажаний.
Формати даних, типи або варіанти
ULA належать до блоку fc00::/7. Якщо біт локального призначення (L) встановлено в 1, практичний префікс стає fd00::/8. Повна структура /48 така: 8-бітний префікс (fd) + 40-бітний Global ID + 16-бітний Subnet ID + 64-бітний Interface ID. Global ID — це наймолодші 40 бітів SHA-1 над EUI-64 ‖ NTP-часовою міткою; цей інструмент отримує EUI-64 із наданого MAC, вставляючи FFFE та інвертуючи біт universal/local.
Поширені помилки та крайові випадки
Не обирайте fd00:0:0::/48 або інший тривіальний префікс — уся суть у рандомізації та зменшенні ймовірності колізій. Половина fc00::/8 (L біт = 0) зарезервована й сьогодні не повинна використовуватися. ULA не маршрутизуються в публічному інтернеті; якщо вам потрібен IPv6, що маршрутизується в інтернеті, натомість запросіть префікс Global Unicast у свого ISP або RIR.
Коли використовувати цей інструмент, а коли — код
Використовуйте браузерний інструмент під час налаштування нового сайту, щоб вибрати одноразовий префікс, який ви використовуватимете назавжди. У коді бібліотеки на кшталт Python ipaddress, Go net/netip або Rust ipnet можуть генерувати чи валідовувати ULA разом із адресами Global Unicast із узгодженою обробкою помилок.