To IPv6 or not: verschil tussen versies
| Regel 158: | Regel 158: | ||
*je vind meer in dit overzicht: https://www.ripe.net/media/documents/ipv6-address-types.pdf | *je vind meer in dit overzicht: https://www.ripe.net/media/documents/ipv6-address-types.pdf | ||
==IPv6 | ==RA Router Advertisment== | ||
Met IPv4 wist een apparaat niets bij het opstarten: een DHCP-server of een fix IP zorgde voor de basisinstellingen. In IPv6 is dit fundamenteel anders dankzij Router Advertisements (RA). | |||
'''De "Hulpvaardige" Router''' | |||
Router Advertisement is een mechanisme binnen het Neighbor Discovery Protocol (NDP). Je kunt het vergelijken met een router die elke paar minuten door de gangen van het netwerk roept: | |||
"Hoi iedereen! Ik ben de router voor dit netwerk. Mijn adres is fe80::1 en de netwerknaam (prefix) waar je op zit is 2001:db8:a::/64. Je mag zelf een adres verzinnen binnen deze reeks!" | |||
'''De kernfuncties van RA''' | |||
Een RA-bericht wordt door een router verstuurd naar de multicast-groep ff02::1 (alle apparaten op het segment) en bevat cruciale informatie: | |||
*De Prefix: Welk netwerkadres moeten de apparaten gebruiken? | |||
*De Default Gateway: Naar welk adres moet het verkeer worden gestuurd om op internet te komen? | |||
*De Configuratiemethode (Flags): De router vertelt de apparaten of ze hun eigen adres mogen verzinnen (SLAAC) of dat ze toch nog even bij een DHCPv6-server moeten aankloppen voor extra details. | |||
*De MTU: De maximale grootte van pakketjes op dit specifieke netwerk. | |||
'''Waarom is dit belangrijk?''' | |||
Dankzij RA kunnen apparaten in een IPv6-netwerk plug-and-play online gaan. Zodra je een laptop inplugt, hoeft deze niet te wachten op een traag DHCP-proces. Hij hoort de RA, combineert de prefix met zijn eigen Host ID, en is binnen een fractie van een seconde verbonden. | |||
===Soorten RA=== | |||
Er zijn drie hoofdvormen van adresconfiguratie in IPv6: | |||
====SLAAC (Stateless Address Autoconfiguration)==== | |||
Dit is de "pure" IPv6-methode en de meest gebruikte modus. Hoe het werkt: De router stuurt een RA met de netwerkprefix (bijv. 2001:db8:1::/64). De host ontvangt dit en plakt er zelf een Host ID achter (op basis van zijn MAC-adres of een willekeurig getal). Kenmerk: Er is geen centrale server die bijhoudt wie welk adres heeft. De router zegt alleen: "Dit is het plein, zoek zelf maar een plekje." | |||
Voordeel: Extreem snel en schaalbaar. | |||
Nadeel: Je moet handmatig je DNS instellen (is ook achterhaald) | |||
====Stateless DHCPv6==== | |||
Dit is een hybride vorm. Hoe het werkt: De host gebruikt SLAAC om zijn eigen IP-adres te genereren (voor de verbinding), maar de router vertelt in de RA: "Vraag voor extra zaken zoals de DNS-server of de domeinnaam even na bij de DHCP-server." Kenmerk: De DHCP-server deelt geen IP-adressen uit, alleen aanvullende informatie. | |||
Voordeel: Je hoeft geen complexe database met IP-adressen bij te houden, maar hebt wel controle over je DNS-instellingen. | |||
====Stateful DHCPv6==== | |||
Dit lijkt het meest op de ouderwetse IPv4-methode. Hoe het werkt: De router vertelt in de RA: "Verzin zelf niets! Ga naar de DHCPv6-server voor je IP-adres en al je andere instellingen." Kenmerk: De DHCP-server deelt de IP-adressen uit en houdt in een database (de state) bij welk adres aan welk apparaat is gegeven. | |||
Voordeel: Maximale controle voor de beheerder (handig voor auditing of strikte firewall-regels). | |||
====Vertaald naar PfSense==== | |||
PfSense heeft dit vertaald naar een aantal instellingen: | |||
*'''Disabled''': RADVD will not be enabled on this interface: De router stuurt geen RA-berichten. Hosts moeten alles handmatig doen (niet aanbevolen). | |||
*'''Router Only''': Will advertise this router: Dit is de "puurste" vorm. pfSense zet de M- en O-vlaggen op 0. Hosts verzinnen hun eigen IP via SLAAC. | |||
*'''Unmanaged''': Will advertise this router with Stateless Address Auto-Configuration (SLAAC): Ook SLAAC, maar pfSense voegt hier automatisch de RDNSS (DNS) informatie toe aan het RA-pakket. Dit is de beste keuze voor simpele netwerken. | |||
*'''Managed''': Will advertise this router with all configuration through a DHCPv6 server: De "Stateful DHCPv6" modus. pfSense zet de M-vlag op 1. De host negeert SLAAC en vraagt alles aan de DHCPv6-server. | |||
*'''Assisted''': Will advertise this router with configuration through a DHCPv6 server and/or SLAAC: De "hybride" modus. pfSense zet de M-vlag op 0 maar de O-vlag op 1. Hosts gebruiken SLAAC voor hun IP, maar kloppen aan bij de DHCPv6-server voor DNS en andere extra's. | |||
*'''Stateless''': DHCP Will advertise this router with SLAAC and other configuration information available via DHCPv6: | |||
==En wat nu?== | ==En wat nu?== | ||
Versie van 28 apr 2026 00:05
IPv6 werd voor het eerst voorgesteld in 1995 en in 1998 werd de eerste versie door de IETF goedgekeurd. Het protocol is dus allesbehalve nieuw. Tijdens mijn studies werd al voorspeld dat het niet lang zou duren voordat IPv6 overal de standaard zou worden. In de praktijk bleef die doorbraak echter uit.
Dankzij technieken zoals NAT en DNAT raakten IPv4-adressen niet meteen uitgeput. IPv6 werd nauwelijks toegepast in LAN netwerken. Ondertussen zijn we twintig jaar verder en rijst de vraag: is de overstap naar IPv6 onvermijdelijk, en riskeren we de trein te missen als we nu niet instappen?
Vanuit die bezorgdheid ben ik mij dit jaar opnieuw gaan verdiepen in IPv6, met als centrale vraag of en in welke mate onze netwerken hier vandaag al op aangepast moeten worden.
Zonder te veel te spoilen, kan alvast meedelen dat de IPv4-adressen effectief opgebruikt zijn. De laatste vrije adressenblokken werden in 2019 verdeeld. Vandaag is het enkel nog mogelijk om IPv4-adressen te herverdelen of over te kopen. Dit gebeurt via een grijze markt die niet schaalbaar of duurzaam is (dit is een eindig verhaal).
In werkelijkheid wordt IPv6 vandaag al veel meer gebruikt dan vaak wordt aangenomen, maar deze evolutie verloopt grotendeels onzichtbaar. In 2025 verliep ongeveer 43% van al het internetverkeer via IPv6 ( ref ). Regionaal lopen de cijfers sterk uiteen. In hetzelfde rapport wordt vermeld dat Frankrijk, Duitsland en India een IPv6-adoptiegraad hebben van respectievelijk 80%, 75% en 74%. In België ligt de IPv6-adoptiegraad rond de 69% ( ref ).
Mobiele netwerken zijn al geruime tijd IPv6-first. Internetproviders zorgen er bovendien voor dat SOHO- en thuisnetwerken meestal als dual-stack functioneren, waarbij IPv4 en IPv6 naast elkaar worden gebruikt. Moderne webbrowsers maken gebruik van het Happy Eyeballs-algoritme om automatisch te bepalen of een website via IPv4 of IPv6 wordt bereikt. Zonder dat gebruikers het expliciet merken, verloopt vandaag dus al een aanzienlijk deel van het netwerkverkeer via IPv6.
De redenen waarom er na meer dan dertig jaar nog steeds IPv4-netwerken bestaan, zijn relatief eenvoudig te verklaren:
- IPv6 is in de eerste plaats een infrastructurele aanpassing. Het biedt geen directe nieuwe functionaliteiten en loste lange tijd geen acuut probleem op.
- Lokale netwerken hadden nooit een tekort aan IP-adressen. Dankzij de private adresruimtes uit RFC 1918 (10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16) beschikten netwerkbeheerders over meer dan voldoende adresruimte.
- NAT wekt de indruk extra veiligheid te bieden doordat interne systemen worden afgeschermd van het internet. Dit gevoel van veiligheid is echter misleidend. Reverse NAT, port forwarding en 'stoute' gebruikers maken duidelijk dat een degelijk geconfigureerde firewall onmisbaar is (en dat NAT mag worden uitgeschakeld).
Laat me je daarom meenemen in de mijn zoektocht naar IPv6:
Waarom IP
Om computers (clients en servers) met elkaar te laten communiceren (webbrowsen, emailen, berichten, meta-data, IoT, ...) hebben ze een unieke identificatie nodig. Een goede manier om dit te begrijpen is door netwerkverkeer te vergelijken met het sturen van brieven. In plaats van een continu gesprek, sturen computers elkaar namelijk "brieven" in de vorm van datapakketjes (van meestal 1500 bytes groot). Zoals een fysieke brief een naam, straat, postcode en land nodig heeft om aan te komen, heeft een datapakketje een IP-adres. Dit adres bevat alle informatie om een pakketje van de ene kant van de wereld naar de andere te sturen.
Van IPv4 (Classful & CIDR) naar IPv6
In de begindagen van IPv4 gebruikten we Classful Networking. Hierbij bepaalde de eerste bit(s) van een adres de klasse (A, B of C) en daarmee de vaste splitsing tussen het netwerk-ID en het host-ID. Dit systeem was echter niet schaalbaar en leidde tot enorme verspilling van adressen. Om dit op te lossen werd CIDR (Classless Inter-Domain Routing) geïntroduceerd, waarbij we een subnetmasker gebruiken om flexibel te bepalen welk deel van het adres bij het netwerk hoort.
Bij IPv6 stappen we af van die variabele complexiteit door volgende zaken:
- De Boundary: In IPv6 is de 64e bit de vaste grens (boundary). De laatste 64 bits (het Interface ID) zijn gereserveerd voor de host.
- Functieherkenning: Aan de hand van de eerste bits (de prefix) herkent een computer direct de functie van het adres, zoals Global Unicast (internet-routeerbaar), Unique-local (niet routeerbaar), Link-Local (alleen voor het eigen segment) of Multicast (het oude broadcast).
- Subnetting: Een ISP deelt meestal een prefix uit van bijvoorbeeld /48 of /56. Dit geeft jou als netwerkbeheerder respectievelijk 16 of 8 bits de ruimte om eigen subnets (VLAN's) te definiëren, terwijl de laatste 64 bits altijd voor de hosts blijven.
Laag 3 van het ISO-OSI model
Waarom hebben we dit dus nodig? IP bevindt zich op Laag 3 van het OSI-model (de Netwerklaag). Waar Laag 2 (Ethernet) zorgt voor communicatie binnen hetzelfde fysieke netwerk, zorgt laag 3 (en IP) ervoor dat data over verschillende netwerken heen gerouteerd kan worden. Zonder een uniek IP-adres is wereldwijde communicatie simpelweg onmogelijk.
Waarom IPv6?
De voorraad IPv4-adressen is officieel uitgeput. Met ongeveer 4,3 miljard adressen voor bijna 8 miljard mensen (die elk een smartphone, laptop, smartwatch en een slimme koelkast bezitten) is er geen toekomst in IPv4. Nu hoor ik je denken: "Wat is het probleem? Met NAT (Network Address Translation) kunnen we toch oneindig veel apparaten achter één publiek IP-adres verbergen?" Maar juist dat is eigenlijk het probleem. NAT was (of is ;-)) een goede tijdelijke oplossing, maar het heeft het de fundamentele end-to-end architectuur van het internet kapotgemaakt. Het internet is ontworpen voor directe punt-tot-punt communicatie. Omdat NAT dit blokkeert, moeten we complexe en onveilige "trucs" uithalen zoals NAT traversal, STUN/TURN-servers of het gebruik van externe tussenstations (relays) om apparaten van buitenaf bereikbaar te maken. Dit zorgt voor extra vertraging, hogere kosten en onnodige beveiligingsrisico's. Bovendien is de wereldwijd verdeling van IPv4-adressen oneerlijk gebeurd. Omdat het Westen als eerste aan tafel zat, bezitten enkele Amerikaanse universiteiten meer IPv4-adressen dan heel China of Afrika. In die regio’s is de noodzaak groter, waardoor de IPv6-adoptie daar vaak veel sneller gaat dan bij ons ref. Het belangrijkste om te beseffen: IPv6 wint gestaag terrein. Er komt een moment dat een cruciale service (bv een nieuwe leerlijn van een uitgever) alleen nog via IPv6 bereikbaar is. Als je wacht tot dat moment, moet je halsoverkop je hele schoolnetwerk omgooien terwijl je waarschijnlijk met andere prioriteiten bezig bent. In een SOHO-omgeving (Small Office/Home Office) is IPv6 vaak een kwestie van één vinkje aanzetten, maar in een gestructureerd bedrijfsnetwerk met VLAN’s, firewalls en routing-protocollen komt er aanzienlijk meer bij kijken. Een goede voorbereiding is dus essentieel. IPv6 heeft 128 bits gerekend voor het IP adres. Hoeveel is dit eigenlijk? Wel 2^128 zijn ongeveer 10^36 adressen. Ter vergelijking:
- Er zijn op aarde ongeveer 10^22 zandkorrels, dit is ongeveer 2^74. We kunnen dus elke zandkorrel een computernetwerk geven waarin je elke zandkorrel zoveel adressen kan geven als er zandkorrels op aarde zijn (ik weet dat ik een fout van 2^20 maak).
- Als een hacker een netwerkscanner zou bouwen die alle IPv6 adressen scant en hij slaagt erin om 1 miljoen adressen per seconde te scannen, heeft hij 10^30 seconden nodig om alles te scannen. Ons heelal is ongeveer 13,8 miljard jaar oud, of 1,38 x 10^10. In 1 jaar zitten ongeveer 3,1 x 10^7 seconden. Dus 10^30 (het aantal seconden nodig om alles te scannen) is ongeveer 10^13 keer het aantal seconden dat het heelal oud is. Dit lijkt absurd, maar met IPv6 ga je geen netwerkscan meer uitvoeren, dit is een onmogelijke taak, meer hierover verderop.
- Astronomen schatten het aantal sterren in het heelal op 10^24. Dus elke ster kan 10^12 aantal adressen krijgen. 10^12 is ongeveer 2^40 of elke ster kan 256 keer een IPv4 range krijgen.
Naast de grotere adresruimte hebben we natuurlijk nog redenen om IPv6 leuk te vinden:
- Geen NAT meer (End-to-End Connectivity): Dit is de grootste verandering voor netwerkarchitectuur. Omdat we genoeg adressen hebben, is Network Address Translation (NAT) technisch gezien niet meer nodig. Elke host kan een echt publiek adres krijgen. Dit herstelt de oorspronkelijke "end-to-end" visie van het internet.
- Efficiëntere Routing (Fixed Header): De IPv6-header heeft een vaste lengte van 40 bytes. Bij IPv4 was de header variabel (20 tot 60 bytes), wat betekende dat routers per pakketje moesten berekenen waar de data begon. Routers kunnen pakketjes veel sneller verwerken in de hardware.
- Geen Checksum van laag 3: IPv6-routers berekenen geen checksum meer op laag 3 (dat laten we over aan laag 2 en laag 4). Dit bespaart kostbare CPU-cycli op elke "hop" die een pakketje maakt.
- Stateless Address Autoconfiguration (SLAAC): In IPv4 heb je bijna altijd een DHCP-server nodig om adressen uit te delen. IPv6-apparaten kunnen zichzelf configureren zonder hulp van een server.
- Geen Broadcasts meer: In IPv4 kan een broadcast-storm een heel VLAN platleggen. IPv6 kent simpelweg geen broadcast meer. Vervanging: Alles wat vroeger broadcast was, gebeurt nu via Multicast. Voordeel: Alleen apparaten die daadwerkelijk geïnteresseerd zijn in een pakketje (bijv. alle routers of alle hosts) verwerken het verkeer. De rest van de netwerkkaarten negeert het pakketje al op hardware-niveau.
- Ingebouwde Beveiliging IPsec: Bij het ontwerp van IPv6 was IPsec een verplicht onderdeel, maar in de praktijk is het nog steeds optioneel. Alles zit wel klaar om alle verkeer in IPv6 te encrypteren.
- Mobility: IPv6 ondersteunt "Mobile IPv6" beter, waardoor als apparaten van netwerk wisselen (bijvoorbeeld van Wi-Fi naar 5G) hun actieve verbindingen/sessies niet verliezen.
theorie IPv6
Adresnotatie
Een IPv6-adres is 128 bits en ziet er bijvoorbeeld zo uit:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Dit lijkt op een MAC adres, maar dit is het niet. IPv4 was decimaal geschreven (elk octet was een getal tussen 0 en 256), een IPv6 adres wordt hexadecimaal geschreven (elk karakter gaat van 0 tot F en stelt 4 bit voor). De getallen worden gegroepeerd per 4, dit komt overeen met 16 bit, en zo'n 4 bit wordt een hextet genoemd. Bovenstaand adres komt in een packet sniffer als volgt tevoorschijn:
0010 0000 0000 0001 0000 1101 1011 1000 1000 0101 1010 0011 0000 0000 0000 0000 0000 0000 0000 0000 1000 1010 0010 1110 0000 0011 0111 0000 0111 0011 0011 0100
Het mag duidelijk zijn dat het onbegonnen werk is om op binair niveau met IPv6 te werken. En zelfs als je er hexadecimaal mee werkt heeft het een aantal uitdagingen. Daarom heeft IPv6 een aantal regels om de adressen leesbaarder te maken.
Schrijfregels
- herhaling: hexadecimale in groepjes van 4: een niet afgekort IPv6 adres bestaat uit 8 hextets.
2001:0db8:85a3:0000:0000:8a2e:0370:7334
- beginnullen in een hextet mogen weglaten worden
2001:db8:85a3:0:0:8a2e:370:7334
- Eén keer mag je een aaneengesloten reeks nullen vervangen door ::
2001:db8:85a3::8a2e:370:7334
Oefening
- schrijf volgende adressen zo eenvoudig mogelijk (oplossingen helemaal onderaan):
1)2001:0db8:0000:0000:0000:ff00:0042:8329 2)fe80:0000:0000:0000:0202:b3ff:fe1e:8329 3)0000:0000:0000:0000:0000:0000:0000:0001 4)2001:0db8:0001:0000:0000:ab00:0000:0001 5)2001:0000:0000:a000:0000:0000:0000:0100
- Schrijf volgende adressen volledig voluit (oplossingen helemaal onderaan):
1) 2001:db8:a::15 2) fe80::215:5dff:fe32:1dec 3) ff02::1:ff32:45 4) 2001:db8:85a3::8a2e:370:7334 5) :: (Ja, dit is een geldig adres!)
- Een IPv6 adres bestaat uit 3 delen:
- Een Netwerk deel (bit 1 tot 48): Global Routing Prefix: Dit bepaalt naar welk bedrijf, locatie op de wereld het pakket moet gestuurd worden.
- Een Subnet deel (bit 49-64): Subnet ID: Als je een gestructureerd netwerk hebt, kan je in dit gedeelte je VLAN'en definiëren.
- Een Host deel (bit 65 - 128): Host ID: De laatste 4 hextets definiëren de host. Er is eigenlijk een oneindig grote adres ruimte voorzien voor de hosts. Dit adres wordt op 4 verschillende manieren worden gedefieërd: EUI-64 (op basis van het mac adres),Privacy Extensions (random adres dat elke 24h veranderd voor privacy), DHCPv6 (voor bedrijfsnetwerken), statisch (voor routers, switchen, servers, ...)
| Global Routing Prefix | Subnet ID | Host ID |
|---|---|---|
| bit 0 -> bit 48 | bit 49 -> bit 64 | bit 65 -> bit 128 |
Global Routing Prefix
De eerste 10 bits worden gebruikt voor een adres een bepaalde functie te geven:
| Wat | Binair | hexadecimaal | uitleg |
|---|---|---|---|
| Global Unicast | 001 | 2000::/3 | Het Global Unicast Adres (GUA) is het IPv6-equivalent van een publiek IPv4-adres. Het is wereldwijd uniek en routeerbaar over het volledige internet. In een ideale IPv6-wereld krijgt elk apparaat (je laptop, je printer, zelfs je slimme thermostaat) zijn eigen GUA, waardoor NAT (Network Address Translation) technisch gezien overbodig wordt. |
| Link-Local Unicast | 1111 1110 10 | fe80::/10 | Zodra een netwerkinterface met IPv6-ondersteuning wordt geactiveerd, genereert deze automatisch een Link-local adres. Dit adres is herkenbaar aan de prefix fe80::/10. In tegenstelling tot IPv4, waarbij een interface meestal maar één IP-adres heeft, heeft een IPv6-interface er vrijwel altijd minstens twee: het Link-local adres voor interne communicatie en (indien geconfigureerd) een Global Unicast Adres voor internettoegang. Het wordt gebruikt voor netwerkfuncties zoals Neighbor Discovery Protocol (NDP, de vervanger van ARP) en voor de communicatie tussen je computer en de router (default gateway). |
| Unique Local (ULA) | 1111 110 | fc00::/7 | Een Unique Local Address (ULA) is bedoeld voor communicatie binnen een organisatie of tussen verschillende locaties van hetzelfde bedrijf (via bijvoorbeeld een VPN). Ze zijn niet routeerbaar op het openbare internet. Als een pakket met een ULA-bestemming bij een internetprovider aankomt, zal deze het onmiddellijk negeren (droppen). Het is de IPv6-tegenhanger van de bekende private IPv4-adressen (zoals 192.168.x.x, 172.16.x.x en 10.x.x.x). |
| Multicast | 1111 1111 | ff00::/8 | Multicast is een verzendmethode waarbij één datapakket gelijktijdig naar een specifieke groep ontvangers wordt gestuurd. In plaats van het bericht naar iedereen te sturen (zoals bij broadcast) of naar elke ontvanger apart (zoals bij unicast), wordt de netwerkbelasting tot een minimum beperkt. In IPv6 vervangt het Broadcast verkeer. Waar IPv4 nog "schreeuwde" naar elk apparaat in het netwerk, gebruikt IPv6 nu multicast. Dit zorgt voor een veel rustiger netwerk, omdat enkel de apparaten die het bericht nodig hebben, het ook daadwerkelijk verwerken. |
| Reserved/Unassigned | 0000 0000 | ::/8 | deze blokken zijn nog niet uitgedeeld |
Subnet ID
Het Subnet ID is het gedeelte van het IPv6-adres dat door netwerkbeheerders wordt gebruikt om de verschillende segmenten (VLAN's) van de school een uniek adres te geven. Omdat elk VLAN een eigen netwerksegment vereist en elk adres in principe Global Unicast (GUA) is, zorgt dit ID voor de juiste routering tussen de interne infrastructuur en het internet. De Prefix van de provideris meestal een /48 of /56 prefix. Dit laat respectievelijk 16 of 8 bits vrij voor het Subnet ID voordat je de /64 grens (de boundary) bereikt. Veel netwerkbeheerders kiezen ervoor om het VLAN ID direct te verwerken in het Subnet ID. Voorbeeld: Als VLAN 10 het administratieve netwerk is, krijgt dit het Subnet ID :0010:. VLAN 20 wordt :0020:, enzovoort. Deze methode zorgt voor enorme transparantie. Als je een IP-adres ziet in een logbestand, kun je aan de hand van het Subnet ID direct zien in welk fysiek of logisch deel van de school het apparaat zich bevindt, zonder in de administratie te hoeven kijken.
Host ID
Het Host ID (officieel de Interface Identifier of IID genoemd) beslaat de laatste 64 bits van een IPv6-adres. Waar de eerste 64 bits bepalen op welk netwerk je zit, bepalen deze laatste 64 bits wie jij bent op dat specifieke netwerk.
Hier zijn de drie belangrijkste dingen die je moet weten over dit gedeelte:
- De vaste lengte van 64 bits: In tegenstelling tot IPv4, waar de scheiding tussen net ID en host ID kan variëren (zoals bij een /24 of /25), is de "Host-ruimte" in IPv6 bijna altijd exact 64 bits. Dit is een bewuste keuze geweest om functies zoals SLAAC (waarbij een apparaat zichzelf een adres geeft) mogelijk te maken.
- Hoe wordt het bepaald? Er zijn drie manieren waarop een host zijn ID kiest:
- EUI-64: Het apparaat gebruikt zijn unieke MAC-adres van de netwerkkaart, knipt dit doormidden en plakt er `ff:fe` tussen.
- Privacy Extensions: De computer verzint een willekeurig getal. Dit verandert regelmatig, zodat je op internet niet te volgen bent aan de hand van een vast hardware-ID.
- Handmatig (Statisch): Voor servers of printers kies je zelf een herkenbaar ID, zoals ::1 of ::53.
- De onvoorstelbare ruimte: Omdat het Host ID 64 bits groot is, heb je per subnet 2^64 unieke adressen beschikbaar. Dat zijn 18.446.744.073.709.551.616 adressen.
- Dit is zo groot dat "scannen" van een netwerk door hackers (zoals in IPv4) onmogelijk is. Het zou honderden jaren duren om alle mogelijke Host ID's in één klein kamertje te pingen.
- Het betekent ook dat we nooit meer hoeven te "zuinig" hoeven te zijn met IP-adressen binnen een VLAN.
Kortom: Het Host ID is de digitale vingerafdruk van een apparaat. Of die vingerafdruk nu gebaseerd is op hardware (EUI-64), willekeur (Privacy) of beheer (Statisch), er is zoveel ruimte dat elk apparaat op aarde miljarden unieke ID's zou kunnen verslijten zonder dat het opraakt.
Speciale adressen:
Net zoals bij IPv4 hebben sommige adressen bepaalde functies:
- loopback (zoals 127.0.0.1 in IPv4):
::1 of 0000:0000:0000:0000:0000:0000:0000:0001
Dit kan je altijd pingen om te testen of je IPv6 stack werkt op je computer.
C:\Users\basis>ping -6 ::1 Pinging ::1 with 32 bytes of data: Reply from ::1: time<1ms Reply from ::1: time<1ms Reply from ::1: time<1ms Reply from ::1: time<1ms
- Unspecified adres (::)
Dit adres bestaat volledig uit nullen. Functie: Het wordt door een apparaat gebruikt als "bronadres" wanneer het nog geen eigen IP-adres heeft, maar wel al een aanvraag over het netwerk wil sturen (bijvoorbeeld tijdens het opstarten).
- je vind meer in dit overzicht: https://www.ripe.net/media/documents/ipv6-address-types.pdf
RA Router Advertisment
Met IPv4 wist een apparaat niets bij het opstarten: een DHCP-server of een fix IP zorgde voor de basisinstellingen. In IPv6 is dit fundamenteel anders dankzij Router Advertisements (RA).
De "Hulpvaardige" Router Router Advertisement is een mechanisme binnen het Neighbor Discovery Protocol (NDP). Je kunt het vergelijken met een router die elke paar minuten door de gangen van het netwerk roept:
"Hoi iedereen! Ik ben de router voor dit netwerk. Mijn adres is fe80::1 en de netwerknaam (prefix) waar je op zit is 2001:db8:a::/64. Je mag zelf een adres verzinnen binnen deze reeks!"
De kernfuncties van RA Een RA-bericht wordt door een router verstuurd naar de multicast-groep ff02::1 (alle apparaten op het segment) en bevat cruciale informatie:
- De Prefix: Welk netwerkadres moeten de apparaten gebruiken?
- De Default Gateway: Naar welk adres moet het verkeer worden gestuurd om op internet te komen?
- De Configuratiemethode (Flags): De router vertelt de apparaten of ze hun eigen adres mogen verzinnen (SLAAC) of dat ze toch nog even bij een DHCPv6-server moeten aankloppen voor extra details.
- De MTU: De maximale grootte van pakketjes op dit specifieke netwerk.
Waarom is dit belangrijk? Dankzij RA kunnen apparaten in een IPv6-netwerk plug-and-play online gaan. Zodra je een laptop inplugt, hoeft deze niet te wachten op een traag DHCP-proces. Hij hoort de RA, combineert de prefix met zijn eigen Host ID, en is binnen een fractie van een seconde verbonden.
Soorten RA
Er zijn drie hoofdvormen van adresconfiguratie in IPv6:
SLAAC (Stateless Address Autoconfiguration)
Dit is de "pure" IPv6-methode en de meest gebruikte modus. Hoe het werkt: De router stuurt een RA met de netwerkprefix (bijv. 2001:db8:1::/64). De host ontvangt dit en plakt er zelf een Host ID achter (op basis van zijn MAC-adres of een willekeurig getal). Kenmerk: Er is geen centrale server die bijhoudt wie welk adres heeft. De router zegt alleen: "Dit is het plein, zoek zelf maar een plekje." Voordeel: Extreem snel en schaalbaar. Nadeel: Je moet handmatig je DNS instellen (is ook achterhaald)
Stateless DHCPv6
Dit is een hybride vorm. Hoe het werkt: De host gebruikt SLAAC om zijn eigen IP-adres te genereren (voor de verbinding), maar de router vertelt in de RA: "Vraag voor extra zaken zoals de DNS-server of de domeinnaam even na bij de DHCP-server." Kenmerk: De DHCP-server deelt geen IP-adressen uit, alleen aanvullende informatie. Voordeel: Je hoeft geen complexe database met IP-adressen bij te houden, maar hebt wel controle over je DNS-instellingen.
Stateful DHCPv6
Dit lijkt het meest op de ouderwetse IPv4-methode. Hoe het werkt: De router vertelt in de RA: "Verzin zelf niets! Ga naar de DHCPv6-server voor je IP-adres en al je andere instellingen." Kenmerk: De DHCP-server deelt de IP-adressen uit en houdt in een database (de state) bij welk adres aan welk apparaat is gegeven. Voordeel: Maximale controle voor de beheerder (handig voor auditing of strikte firewall-regels).
Vertaald naar PfSense
PfSense heeft dit vertaald naar een aantal instellingen:
- Disabled: RADVD will not be enabled on this interface: De router stuurt geen RA-berichten. Hosts moeten alles handmatig doen (niet aanbevolen).
- Router Only: Will advertise this router: Dit is de "puurste" vorm. pfSense zet de M- en O-vlaggen op 0. Hosts verzinnen hun eigen IP via SLAAC.
- Unmanaged: Will advertise this router with Stateless Address Auto-Configuration (SLAAC): Ook SLAAC, maar pfSense voegt hier automatisch de RDNSS (DNS) informatie toe aan het RA-pakket. Dit is de beste keuze voor simpele netwerken.
- Managed: Will advertise this router with all configuration through a DHCPv6 server: De "Stateful DHCPv6" modus. pfSense zet de M-vlag op 1. De host negeert SLAAC en vraagt alles aan de DHCPv6-server.
- Assisted: Will advertise this router with configuration through a DHCPv6 server and/or SLAAC: De "hybride" modus. pfSense zet de M-vlag op 0 maar de O-vlag op 1. Hosts gebruiken SLAAC voor hun IP, maar kloppen aan bij de DHCPv6-server voor DNS en andere extra's.
- Stateless: DHCP Will advertise this router with SLAAC and other configuration information available via DHCPv6:
En wat nu?
We hebben nu erg lang stil gestaan bij het IP adres. Net zoals bij IPv4 gaat het adres zelf niet alles in orde krijgen.
- Dual stack: systemen draaien vaak tegelijk IPv4 én IPv6.
- Stateless Address Autoconfiguration (SLAAC): toestellen kunnen zelf een IPv6-adres genereren.
- NAT is meestal niet nodig: elk toestel kan een uniek adres krijgen.
Oefening
bouw een virtueel netwerk voorbereiding:
- installeer VMware workstation
- pak de machines uit en zet ze op de standaard locatie van VMware
- importeer de machines in VMware
- zet de netwerkinstellingen juist
- start de machines en probeer op de console van pfsense te geraken
oefening 1
- genereer een IPv6 ULA adres https://www.unique-local-ipv6.com/
Praktijk
- Je eigen IP checken:
Probeer eerst na te kijken of je out of de box al
- Linux/macOS: ifconfig of ip addr
- Windows: ipconfig
- Ping in IPv6:
- Linux/macOS: ping6 ipv6.google.com
- Windows: ping -6 ipv6.google.com
- https://www.netacad.com/
- https://dnschecker.org/
- https://www.ipv6speedtest.eu/
- http://speedtestv6.tools.uebi.net/
- https://test-ipv6.run/
- https://knowledge.broadcom.com/external/article/368734
je schoolnetwerk IPv6 configureren
WAN configureren
- Configureer IPv6 op alle WAN verbindingen die je hebt. Deze configuratie is afhankelijk van je provider:
- Eurofiber: zij geven een vast IP adres en je moet ook een IPv6 range aanvragen. Normaal ga je dan 2 adressen krijgen. een /124 adres voor je modem (over deze verbinding gaat enkel het netwerkverkeer van de modem en 1 prefix voor al je netwerken, meestal een /48 waardoor je gemakkelijk al je ip-ranges (vlans) een subnet kan geven.
- proximus/orange/fiberklaar: Alle ISP's die over een GPON verbinding binnenkomen. Hier ga je het IPv4 adres bekomen via een PPPoE verbinding, het IPv6 adres krijg je via DHCPv6. Dit kan een dynamisch of vast IP adres zijn. In beide gevallen krijg je een adres voor de modem en een prefix voor je interne netwerken. Dit is meestal een /56 netwerk waardoor je nog extra vlannen kan configureren.
- Telenet: hier krijgen IPv4 en IPv6 een adres via DHCP. Als je een vast adres wil krijgen, moet je het mac adres voor IPv4 en het DUID adres voor IPv6 registreren op mijn telenet. De rprexif is ook een /56 netwerk
Je weet dat je configuratie werkt als je vanuit de router kan pingen naar een IPv6 adres. Je zal ook altijd een IPv6 adres krijgen voor de modem en een prefix om je netwerk IPv6 connectiviteit te geven. Vergeet niet als je een vast IP adres hebt, de DNS gegevens in te vullen.
- Configureer je LAN-netwerken met een IPv6 adres:
- Als je een prefix hebt gekregen van DHCP, moet/mag je track interface gebruiken. Dit komt omdat de prefix kan veranderen (omdat je dynamisch adres heb). Heb je een vast adres aangevraagd bij telenet, kan je eventueel de interne netwerken handmatig configurern
- Als je een echt vast IP adres hebt zoals bij Eurofiber, moet je alle netwerken intern handmatig configureren. Het gemakkelijkste is dat je je perfix neemt en hier in het laatste hex van de prefix je vlan nummers zet.
- RA configureren
- voor de wifi netwerken kan je best stateless of unmanaged kiezen
- voor de bedraade netwerken assisted of ... kiezen
interessante onderwerpen
- Stap 5: Praktische tools
- Problemen met MTU:
- Pingen (ping6, ping -6).
- Traceroute met IPv6.
- Wireshark: IPv6-pakketten analyseren.
- Oefening: ping naar ipv6.google.com en bekijk het resultaat.
bijlages, referenties en oplossingen
oefeningen
IPv6
Nr.,Volledig Adres,Vereenvoudigde Notatie,Uitleg 1,2001:0db8:0000:0000:0000:ff00:0042:8329,2001:db8::ff00:42:8329,De drie groepen 0000 worden vervangen door ::. 2,fe80:0000:0000:0000:0202:b3ff:fe1e:8329,fe80::202:b3ff:fe1e:8329,Typisch Link-Local adres met veel nullen in het midden. 3,0000:0000:0000:0000:0000:0000:0000:0001,::1,De ultieme verkorting; alle groepen nullen vallen weg. 4,2001:0db8:0001:0000:0000:ab00:0000:0001,2001:db8:1::ab00:0:0:1,"Regel: vervang de langste reeks nullen. :: bij de drie nullen achteraan mag ook, maar is minder efficiënt." 5,2001:0000:0000:a000:0000:0000:0000:0100,2001:0:0:a000::100,De a000 en 100 mogen hun nullen aan de rechterkant niet verliezen!
Nr. Verkorte Notatie Volledig Uitgeschreven Adres Uitleg 1 2001:db8:a::15 2001:0db8:000a:0000:0000:0000:0000:0015 Er zijn 4 groepen zichtbaar, dus de :: bevat 4 groepen nullen. 2 fe80::215:5dff:fe32:1dec fe80:0000:0000:0000:0215:5dff:fe32:1dec Typisch EUI-64 adres. Let op de extra 0 voor 215. 3 ff02::1:ff32:45 ff02:0000:0000:0000:0000:0001:ff32:0045 Belangrijk: 45 wordt 0045, niet 4500. 4 2001:db8:85a3::8a2e:370:7334 2001:0db8:85a3:0000:0000:8a2e:0370:7334 Hier vervangt de :: twee groepen nullen. 5 :: 0000:0000:0000:0000:0000:0000:0000:0000 Het "unspecified address". Wordt vaak gebruikt als bronadres bij het opstarten.
| Header text | Header text | Header text |
|---|---|---|
| Example | Example | Example |
| Example | Example | Example |
| Example | Example | Example |