Generator IPv6 ULA
Szczegóły techniczne
Jak działa generator IPv6 ULA
Co robi narzędzie
Generator IPv6 ULA tworzy prefiks /48 Unique Local Address, który z małym prawdopodobieństwem będzie kolidował z jakąkolwiek inną lokalizacją, zgodnie z algorytmem z RFC 4193 §3.2.2. Podaj adres MAC (albo pozwól narzędziu wylosować go losowo), a ono wyprowadzi 40-bitowy Global ID z SHA-1 obliczonego z EUI-64 skonkatenowanego z bieżącym znacznikiem czasu NTP. Wynik zawiera prefiks /48, Global ID i Subnet ID oraz przykładowy adres hosta /64.
Typowe zastosowania dla programistów
Administratorzy sieci używają ULA do budowy prywatnych sieci IPv6, które nie zależą od globalnie routowalnej przestrzeni adresowej. Operatorzy laboratoriów i homelabów wybierają prefiks ULA raz na lokalizację, a następnie używają go ponownie dla wszystkich wewnętrznych VLAN-ów i sieci overlay. Jest to też przydatne dla chmurowych VPC, sieci kontenerowych i środowisk air-gapped, gdzie globalne IPv6 nie jest dostępne lub nie jest pożądane.
Formaty danych, typy lub warianty
ULA znajdują się w bloku fc00::/7. Przy ustawionym bicie locally-assigned (L) na 1 praktyczny prefiks staje się fd00::/8. Pełny układ /48 to: 8-bitowy prefiks (fd) + 40-bitowy Global ID + 16-bitowy Subnet ID + 64-bitowy Interface ID. Global ID to najniższe 40 bitów SHA-1 z EUI-64 ‖ znacznik czasu NTP; to narzędzie wyprowadza EUI-64 z podanego MAC, wstawiając FFFE i odwracając bit universal/local.
Typowe pułapki i przypadki brzegowe
Nie wybieraj fd00:0:0::/48 ani innego trywialnego prefiksu — cały sens polega na losowaniu i zmniejszeniu prawdopodobieństwa kolizji. Połowa fc00::/8 (bit L = 0) jest zarezerwowana i nie powinna być dziś używana. ULA nie są routowalne w publicznym internecie; jeśli potrzebujesz routowalnego IPv6, zamiast tego poproś swojego ISP lub RIR o prefiks Global Unicast.
Kiedy używać tego narzędzia zamiast kodu
Użyj narzędzia w przeglądarce podczas konfiguracji nowej lokalizacji, aby wybrać jednorazowy prefiks, którego będziesz używać na stałe. W kodzie biblioteki takie jak Python ipaddress, Go net/netip lub Rust ipnet potrafią generować lub walidować ULA obok adresów Global Unicast ze spójną obsługą błędów.