Skip to main content

8.2 Konfigurácia globálnej IPv6 adresy

Podsiete v IPv6

Prvých 48 bitov (3 hextety) globálnej IPv6 adresy predstavuje globálny prefix, zbytok prefixu (ďalších 16 bitov, čiže 1 hextet) označuje ID podsiete. Teda organizácii môže byť pridelený celý blok /48 a z neho je možné vytvoriť až 65536 podsietí. Napríklad adresa 2001:470:5a05:100::1/64 má globálny prefix 2001:470:5a05 (pridelený škole), ID podsiete je 100 (pridelené správcom školskej siete) a zariadenie má ID rovné 1.

Adresný blok /48 je vcelku luxusný a ISP ho nezvykne prideľovať koncovým zákazníkom. Vo väčšine prípadov, žiaľ, klientovi pridelí len jediný blok /64. V lepšom prípade môže prideliť kompromisný /56 (umožní 256 podsietí) alebo stále postačujúci /60 (umožní 16 podsietí). Detailnejšie sa týmto budeme zaoberať v kapitole „8.4 Rozdeľovanie IPv6 siete na podsiete“.

Asi každému, kto má skúsenosti s IPv4, sa pri odhaľovaní IPv6 zdá, že sa nehorázne plytvá adresami. Veď kto potrebuje mať v LAN adresný priestor pre 264 zariadení? V skutočnosti to má zmysel - ID zariadenia má byť „neuhádnuteľné“ a nepredvídateľné. Detaily sa dozvieme nižšie.

Teoreticky je možné používať aj iné dĺžky prefixu IPv6 siete, no neodporúča sa to a nebudeme to robiť.

Prideľovanie IPv6 adresy

IPv6 adresy je možné prideliť staticky - sieť pre výučbu sietí má adresu 2001:4118:1c:d100::/64, brána i DNS je 2001:4118:1c:d100::1). Oveľa praktickejšie je však využiť automatickú (dynamickú) konfiguráciu. Situácia sa však oproti IPv4 líši a máme 3 možnosti riešenia:

  • SLAAC využíva správy smerovača, oznámi len prefix siete, prípadne aj bránu a DNS;
  • SLAAC + bezstavový DHCPv6 umožňuje odovzdať aj ďalšie informácie (napríklad o DNS);
  • stavový DHCPv6 funguje podobne ako DHCP pre IPv4, teda na požiadanie poskytne aj adresu a zaeviduje ju (do MikroTik RouterOS bola táto možnosť pridaná až v roku 2025 od verzie 7.17).

SLAAC a EUI-64

Akronym SLAAC znamená Stateless Address Autoconfiguration, teda bezstavová automatická konfigurácia adresy. Ide o preferovaný spôsob získania IPv6 adresy, niektorí ho pokladajú za „jediný správny“. Dôležité je, že SLAAC klientovi neprideľuje konkrétnu adresu. Využívajú sa ICMPv6 správy dvoch typov:

  • RA (Router Advertisement): smerovač posiela každých niekoľko minút automaticky do celej siete,
  • RS (Router Solicitation): posiela klient (zariadenie), ktorý sa práve pripojil do siete a nechce čakať minúty na pravidelné oznámenie od smerovača.

Tieto správy obsahujú prefix adresy a jeho dĺžku, adresu brány, či iné informácie (napríklad DNS server, čo sa označuje ako RDNSS). Klient si adresu vytvorí sám a vlastne neexistuje žiadny (DHCP) server, ktorý by ju mohol centrálne evidovať.

Samotnú adresu, teda konkrétne identifikátor zariadenia, si zariadenie stanoví automaticky z MAC adresy - tento proces sa označuje EUI-64 (Extended Unique Identifier 64-bit) a takto získaná IPv6 adresa má v strede ID časti čísla ff:fe, napríklad zariadenie s MAC adresou 12:34:56:78:9a:bc môže mať IPv6 adresu 2001:470:5a05:100:1234:56ff:fe78:9abc.

Hoci to nie je pre nás teraz podstatné, pre úplnosť treba upresniť, že v skutočnosti sa pri EUI-64 ešte neguje 7. bit MAC adresy, takže IPv6 adresa bude 2001:470:5a05:100:1034:56ff:fe78:9abc.

Trvalá adresa a ochrana súkromia

V súčasnosti majú koncové zariadenia proces EUI-64 štandardne vypnutý a je aktivovaný režim pre ochranu súkromia, kedy sa globálna adresa vytvára náhodne. Nejde o úplne náhodné generovanie (má určité pravidlá), no do procesu generovania ID vstupuje aj náhodne vygenerovaný nemenný kľúč. Okrem neho do procesu vstupuje aj MAC adresa a identifikátor siete, z čoho vyplýva, že takto získané ID zariadenia bude pre dané zariadenie v každej sieti odlišné (zariadenie nebude možné sledovať pri prechode medzi sieťami), no trvalé. Nemalo by sa nám teda stať, že sa náhodná IPv6 adresa zariadenia po čase zmení.

Tento režim náhodného generovania adresy je možné v operačnom systéme Windows zrušiť a zmeniť na EUI-64 príkazom:

netsh interface ipv6 set global randomizeidentifiers=disabled

Režim náhodného ID je samozrejme možné zapnúť naspäť (hodnotou enabled).

V čom je riziko narušenia súkromia, ak používame EUI-64 adresy?

Riziko ohrozenie súkromia je vyššie ako pri MAC adresách, pretože MAC adresa neopustí lokálnu sieť (prevádzkovateľ internetovej služby nevidí MAC adresu klienta), no IPv6 adresa sa dostane až k prevádzkovateľovi služby. V praxi to znamená, že prevádzkovateľ služby vie vždy identifikovať klienta, nech pristupuje z ktorejkoľvek siete. Navyše z prefixu siete vidí, v ktorej sieti sa nachádza, často teda vie určiť aj lokalitu.

Prevádzkovateľ služby vie predsa z prefixu siete určiť lokalitu aj v prípade náhodnej adresy, ba dokonca aj pri IPv4 s NAT, tak v čom je problém?

Áno, ale náhodných návštevníkov nevie identifikovať. Vie len, že „niekto neznámy“ prišiel z tejto konkrétnej siete / lokality. Situácia sa samozrejme zásadne mení, pokiaľ sme k jeho službe prihlásení (či v appke smartfónu alebo cez webové rozhranie). Vtedy vie, kto sme a kde sme a náhodná adresa ničomu nepomôže.

Dočasná adresa

Bez ohľadu na to, či má koncové zariadenie identifikátor v globálnej adrese získaný cez EUI-64 alebo náhodne, vytvára sa ešte aj druhá adresa - dočasná globálna adresa. Tá sa priebežne mení (možno ju pokladať za náhodnú) a používa sa vždy, keď toto koncové zariadenie vytvára spojenie. Dá sa teda zjednodušene povedať, že trvalá adresa slúži pre prichádzajúce spojenia (typicky na serveroch) a dočasná adresa pre odchádzajúce spojenia. Používanie dočasnej adresy je možné vo Windows zakázať príkazom:

netsh interface ipv6 set privacy state=disabled

Náhodné a dočasné adresy v Linuxe

V operačnom systéme Linux sa predvolené správanie líši v závislosti od zamerania OS:

  • Linuxové servery (napríklad Ubuntu Server, Debian - bez grafického rozhrania) majú obe funkcie ochrany súkromia štandardne vypnuté. Server vyžaduje stabilnú a predvídateľnú IPv6 adresu.
  • Klientske distribúcie (napríklad Ubuntu Desktop, Linux Mint, Fedora) majú obe funkcie zapnuté, podobne ako Windows.

Ak chceme správanie zmeniť, opäť to môžeme dosiahnuť príkazmi, a to individuálne pre každé sieťové rozhranie:

# zistíme presný názov nášho sieťového pripojenia
nmcli connection show

# zmeníme režim na EUI-64 (založené na MAC adrese)
nmcli connection modify "názov pripojenia" ipv6.addr-gen-mode eui64
# vypneme generovanie dočasných adries
nmcli connection modify "názov pripojenia" ipv6.ip6-privacy 0

# reštartujeme rozhranie, aby sa zmeny prejavili
nmcli connection up "názov pripojenia"

Stavový DHCPv6

Stavový DHCPv6 server sa používa len zriedka, pretože nie je podporovaný všetkými zariadeniami. Jeho podpora bola do MikroTik RouterOS pridaná len nedávno a nie je dokonalá. Klient DHCPv6 v RouterOS síce formálne prevezme IPv6 adresu, ale nepriradí ju rozhraniu (je to možné riešiť len skriptom). Avšak server DHCPv6 je použiteľný.

DUID a IAID

Podstatný rozdiel oproti DHCPv4 je v tom, že DHCPv6 neidentifikuje klienta na základe MAC adresy. Namiesto nej sa používa identifikátor DUID (DHCP Unique Identifier). Tento identifikátor by mal byť nemenný a nezávislý od MAC adresy. Môže byť definovaný výrobcom zariadenia (teda naozaj trvalo nemenný) alebo vygenerovaný operačným systémom (predpokladá sa, že sa vygeneruje len raz a uloží do trvalej pamäte, aby sa nikdy nezmenil). Podstatné je, že DUID je rovnaký na všetkých sieťových rozhraniach a nemal by sa zmeniť ani po výmene sieťovej karty.

Podrobnosti o DUID pre zvedavých

DUID nemá pevne definovaný formát a ani dĺžku. Prvých 16 bitov však určuje typ a zvyšok je identifikátor klienta (až do 128 bitov). Používajú sa 4 typy DUID:

  1. DUID-LLT (0x0001): nasleduje 16-bitový kód pre typ hardvéru, 32-bitový časový údaj vytvorenia adresy (T = Time) a maximálne 128-bitová L2 adresa (LL = Link Layer), ktorou je obvykle 48-bitová MAC adresa jedného zo sieťových rozhraní. Tento typ používa OS Windows.
    • Príklad identifikátora pre Ethernet zariadenie s MAC adresou 112233445566, vytvorený 2. 6. 2026 o 14:20: 0x0001 0001 31b1870e 112233445566
  2. DUID-EN (0x0002): nasleduje 32-bitový identifikátor výrobcu / softvéru (z registra IANA) a obvykle 64-bitové číslo ním vygenerované (EN = Enterprise Number). Tento typ používajú Linux servery.
    • Príklad z Linux servera, využívajúci systemd (0xab11 = 43793): 0x0002 0000ab11 e36b89d971b4bfe7
  3. DUID-LL (0x0003): nasleduje 16-bitový kód pre typ hardvéru a maximálne 128-bitová L2 adresa (LL = Link Layer), teda sa podobá na DHCPv4 a MAC adresu.
    • Príklad pre Wi-Fi zariadenie s MAC adresou 1122334455660x0003 0006 112233445566
  4. DUID-UUID (0x0004): v tomto najnovšom type nasleduje 128-bitový univerzálny unikátny identifikátor (UUID), ktorý je vygenerovaný náhodne. Tento typ používajú moderné desktopové distribúcie OS Linux.
    • Príklad: 0x0004 05bc43f0db77614a1a51b1348069481b.

Pre typ hardvéru sa používajú rôzne identifikátory od IANA, najčastejšie sa stretneme s 0x0001 (Ethernet) a 0x0006 (IEEE 802, teda aj Wi-Fi). Časový údaj je 32-bitové počítadlo sekúnd od 1. 1. 2000.

Praktickým problémom je zistenie DUID. Obvykle ho nevieme zistiť skôr ako nainštalujeme operačný systém - nestačí odpísať MAC adresu zo štítku od výrobcu. A pokiaľ máme v zariadení viaceré operačné systémy, každý z nich môže používať iné DUID. Pokiaľ máme prístup ku koncovému zariadeniu, DUID môžeme zistiť z neho - v OS Windows známym príkazom:

ipconfig -all

V Linuxe je postup odlišný podľa distribúcie / typu (desktop / server bez GUI), na serveri by mal stačiť príkaz:

networkctl status {rozhranie}

Aby toho málo nebolo, okrem DUID sa klient identifikuje aj ďalším identifikátorom: IAID (Identity Association Identifier). Kým DUID označuje celé zariadenie bez ohľadu na sieťové rozhranie, IAID identifikuje konkrétne sieťové rozhrania. Tiež má ísť o nemenný identifikátor, jeho dĺžka je stanovená na 32 bitov. V Linuxe sa generuje hašovaním názvu sieťového rozhrania, teda zostane rovnaký aj po výmene sieťovej karty. Vo Windows sa generuje hašovaním posledných 4 bajtov MAC adresy, a teda sa zmení po výmene sieťovej karty.

Praktické poznámky

  • Pri nasadení SLAAC bez DHCP môžu nastať komplikácie s DNS: Informácie o DNS serveri odosielané cez RA síce súčasné zariadenia s aktuálnym OS prijímajú, no niektoré staršie nie (čo môže byť problém napríklad pri starých sieťových tlačiarňach, kamerách a podobne). Preto môže byť v praxi niekedy potrebné zapnúť režim SLAAC + bezstavový DHCPv6, čiže posielať informácie o DNS serveri aj cez DHCPv6. Dúfajme, že sa s tým už stretávať v praxi nebudeme.
  • Google odmieta v operačnom systéme Android implementovať stavový DHCPv6 a presadzuje len režim SLAAC.
  • Pokiaľ prevádzkujeme stavový DHCPv6 server a zároveň aj SLAAC (čo v bežnej LAN musíme, napríklad kvôli Android zariadeniam), klienti akceptujúci adresu z DHCPv6 si vytvoria zároveň aj SLAAC adresu a tú budú používať prednostne. Adresa z DHCPv6 má význam pre oslovenie zariadenia (servera).
  • Ďalšou komplikáciou môže byť zapnutá funkcia pre riadenie multicast na prepínači - IGMP / MLD Snooping: Pre šírenie RA sa na L2 využíva multicast MAC adresa, tá je vo všeobecnosti pri používaní IPv6 v tvare 33:33:XX:XX:XX:XX. Pri využívaní IGMP Snooping treba na to myslieť - zakázanie „Unknown Multicast Flood“ môže spôsobiť nefunkčnosť tohto procesu.