caesar

Level 17
  • 4140Posts
  • 70Oplossingen
  • 1327Likes

Een 'beknopte uitleg' van IPv6

Voorwoord.
Ik heb dit artikel indertijd geschreven voor het Ziggo Gebruikersforum (onder een ander pseudoniem), en ik heb het nu wat geactualiseerd voor het Ziggo Community forum.

Inleiding.
Na een niet helemaal gelukte eerste poging, is Ziggo nu opnieuw begonnen met de uitrol van IPv6. Dit document heeft als doel heel globaal duidelijk te maken wat dat is, waarom het moet worden ingevoerd, en wat de gevolgen zijn voor de thuisgebruikers. Het is geen uitgebreide technische verhandeling over IPv6, daarvoor is de nodige informatie te vinden op het internet en zijn diverse handboeken te koop.

Wat is IPv6?
Op het internet maken we gebruik van het Internet Protocol, afgekort IP. Van oudsher maakten we gebruik van IP versie 4, afgekort IPv4. Bij de ontwikkeling van IPv4 heeft men nooit voorzien dat het gebruikt zou worden voor wat vandaag het internet heet. Ieder apparaat dat op het internet wordt aangesloten heeft een eigen uniek adres nodig, en zo'n twintig jaar geleden werd al duidelijk dat het concept van IPv4 niet toereikend is om de toekomstige groei in adressen mogelijk te maken. Men heeft toen besloten een geheel nieuwe versie van IP te ontwikkelen, en die versie heet IPv6. Overigens zijn de IPv4 adressen nu op, Ziggo heeft er nog wel genoeg voor de eigen klanten, maar wereldwijd zijn ze echt op.

De huidige status van IPv6.
Laat er geen enkel misverstand over bestaan, de internet community loopt minstens vijf jaar achterop bij wat de status van IPv6 nu had moeten zijn. Het is het bekende verhaal van iedereen die op iedereen zat te wachten, totdat iemand het initiatief zou nemen om iets te gaan doen.

Wat zijn de gevolgen van de invoering van IPv6 voor mij?
Dat is een beetje afhankelijk van de vraag van wat voor soort gebruiker u bent. Er van uit gaande dat je een doorsnee gebruiker bent die een beetje browst op het internet, wat bestandjes download, en e-mails verstuurt en ontvangt wat zijn dan de consequenties?

  • Je heeft een router nodig die IPv6 ondersteund, de modem/routers die Ziggo al enige tijd uitlevert zullen na een firmware update zeker IPv6 ondersteunen. Heb je een eigen router, dan zult je moeten nagaan of die IPv6 ondersteunt, al dan niet na een firmware upgrade. Is dat niet het geval, dan zul je wellicht een passende modem/router van Ziggo kunnen krijgen of anders zelf een nieuwe router moeten kopen.
  • Ziggo moet IPv6 activeren op het modem of de modem/router (en dat duurt nog ?????)
  • Wat moet je doen om op uw PC IPv6 te installeren? Met 99% waarschijnlijkheid niets, alle PC's met Windows Vista en hoger hebben standaard IPv6 geïnstalleerd.
  • Wat moet je doen om IPv6 te activeren op uw PC? Niets, het staat al aan.
  • Wat moet je doen om uw applicaties (zoals de browser) gebruik te laten maken van IPv6? Niets, ze gaan er automatisch gebruik van maken als ze IPv6 ondersteunen, en alle browsers doen dat.
  • Wat merk je er van als de applicatie gebruik maken van IPv6? Niets, je werkt zoals je altijd werkt.


Conclusie: de meeste gebruikers merken er niets van als IPv6 geactiveerd wordt.


En nu wat meer technische achtergrond.
Het voorafgaande was een hele korte samenvatting van wat IPv6 is, en welke invloed het zal hebben op het werken met internet voor de meeste gebruikers. De volgende paragrafen gaan wat meer op technische details in. Begrijp je het niet helemaal? Lees dan rustig door, verder op staat zeker wel iets dat je wel weer zult begrijpen.

Gaat IPv6 het bestaande IPv4 vervangen?
Het antwoord op deze vraag is heel duidelijk, ja en nee. Om met het laatste te beginnen, als met deze vraag bedoeld wordt of IPv4 uitgezet wordt als IPv6 aan gezet wordt, dan is het antwoord nee. Netwerk programmatuur bestaat uit een vele kleine stukjes programmatuur die bij elkaar horen. Denk bijvoorbeeld aan http dat u gebruikt bij het browsen, of smtp dat u gebruikt bij het verzenden van email. Al die stukjes bij elkaar noemen we een stack. In de IPv4 stack zitten de nodige onvolkomenheden, en daarom heeft men voor IPv6 een volledig nieuwe stack gebouwd. Oppervlakkig gezien lijkt die wel heel sterk op de IPv4 stack, maar onder de motorkap zijn er toch vele verschillen. Hoewel het denkbaar geweest zou zijn dat de IPv6 stack ook met de kleinere IPv4 adressen om zou kunnen gaan, is dat dus daarom niet mogelijk. U gaat dus IPv6 naast IPv4 gebruiken, en dat heet in het jargon in dual stack draaien. Echter op den duur zal IPv4 uitsterven, en houden we alleen IPv6 over. Dus in die zin is het antwoord op de vraag ja, uiteindelijk vervangt IPv6 het oude IPv4.

IPv4 en IPv6 adresruimte en adressen.
De adresruimte van IPv4 is 32 bit. Dat betekent dat er 232 = 4.294.967.295 adressen mogelijk zijn, variërend van 0.0.0.0 tot 255.255.255.255 . Die ca. vier miljard adressen lijken heel veel, maar het zijn er veel te weinig. Neem bijvoorbeeld een gezin met vier personen, hoeveel apparaten met een netwerk aansluiting kun je dan tegenkomen? Laten we eens tellen, drie PC's, vier smartphones, een smart TV, een BluRay speler, een NAS, een printer, een router, en dan zitten we al op twaalf adressen. Als er maar een half miljard van dat soort gezinnen zijn, dan komen we al op zes miljard adressen.

Voor IPv6 heeft men daarom gekozen voor een 128 bit adresruimte, ofwel de astronomische adresruimte van 340.282.366.920.938.463.463.374.607.431.768.211.456 (ca. 4 miljard x 4 miljard x 4 miljard x 4 miljard) adressen. Je kunt daarmee met het grootste gemak iedere zandkorrel op het aardoppervlak van een hele serie adressen voorzien.

Een IPv4 adres wordt meestal geschreven in de zogenaamde dotted decimal notation, ofwel decimale schrijfwijze met puntjes. Eén van de IPv4 adressen van youtube.com is bijvoorbeeld 74.125.235.37. Ieder groepje van cijfers representeert 8 bits, en heeft daarmee de maximale decimale waarde van 255. In de automatiseringswereld is dit feitelijk een heel vreemde manier van weergave, veel gebruikelijker is een hexadecimale notatie. Je zou dat adres dan hebben kunnen schrijven als 4a.7d.eb.25.

Voor IPv6 heeft men daarom wel gekozen voor deze veel gebruikelijker hexadecimale notatie. Het IPv6 adres van youtube is 2404:6800:4001:c01::5d. Ieder groepje van 4 cijfers representeert hier 16 bits, en er zouden dus 8 groepjes moeten zijn (8 x 16 = 128). Hier staan echter maar 5 groepjes, en niet ieder groepje is 4 cijfers groot. Om met het laatste te beginnen, voorloop nullen mogen worden weggelaten, dus 005d mag geschreven worden als 5d. Tussen c01 en 5d staat “::”. Dat betekent dat daar de ontbrekende 3 groepjes staan, en dat ieder groepje als waarde 0000 heeft. Je mag het adres daarom ook schrijven als 2404:6800:4001:0c01:0000:0000:0000:005d. Om begrijpelijke redenen kan die “::” maar op één plaats in het adres voorkomen, als op een andere plaats in het adres ook groepjes van nullen staan dan moet dat geschreven worden als bijvoorbeeld 0:0.

Degenen die gewend zijn zelf IPv4 adressen uit te geven zullen zich nu vertwijfeld afvragen hoe ze dit soort adressen moeten bedenken. Dat doe je normaal gesproken ook niet. Bij IPv6 is het gebruikelijk (maar niet verplicht) om de adressen automatisch toe te laten kennen, bijvoorbeeld via DHCPv6. Dit komt later nog aan de orde. Bij sommige apparatuur is dat ook de enige mogelijkheid. Overigens zullen de meeste gebruikers hun IPv4 adressen ook al automatisch via DHCP laten toekennen.

Als laatste hebben we dan nog het masker. Bij IPv4 zijn we gewend het masker op te geven, we hebben dan bijvoorbeeld het IPv4 adres 192.168.112.30 met masker 255.255.255.0 . Bij dit masker zien we dat van de 32 bits de eerste 24 bits op staan. Een modernere notatie van dat adres plus het masker is daarom 192.168.112.30/24 . Het (sub)netwerk waartoe dit adres behoort is 192.168.112.0/24. Deze notatie met “/24” wordt de CIDR notatie genoemd (Classless Inter-Domain Routing), en die notatie wordt gebruikt bij IPv6.

Er bestaan verder meerdere soorten IPv6 adressen, maar ook daarover later meer.

Uw router en IPv6 bij u thuis.
Tenzij je een PC direct op een modem hebt aangesloten, zult je thuis een router gebruiken. Zo'n router heet in het vakjargon een Customer Edge Router, dus vertaald een klant router aan de rand van het internet. Strikt genomen gedraagt zo'n router zich bij IPv4 niet als router maar als end node. Dat behoeft natuurlijk enige uitleg.

Je krijgt van Ziggo maar één IPv4 adres, en dat adres wordt gebruikt door de WAN (Wide Area Network = Ziggo kant) poort van uw router. De apparatuur aan de LAN kant van de router heeft natuurlijk ook IPv4 adressen, maar dat zijn adressen uit de zogenaamde private address ranges. Dat zijn groepjes adressen die niet op het internet gebruikt worden, en die je daarom thuis kunt gebruiken. Die ranges zijn 10.0.0.0/8, 172.16.0.0/12, en 192.168.0.0/16 . Surf je nu met je PC naar bijvoorbeeld Google, dan wordt dat private address van uw PC vervangen door het IPv4 adres van de WAN poort van de router. Dit heet Network Address Translation, afgekort NAT.

Voor Google lijkt het dus alsof de router iets opvraagt, en niet de PC. Zou de PC een echt global IPv4 adres gehad hebben, en zou de router zich gedragen als een 'echte' router, dan zou Google het adres van de PC zien. Het internet heeft dus geen weet van alle apparatuur op je LAN, het internet ziet alleen maar die ene WAN poort van de router bij IPv4 adressen. Vandaar dus dat bij IPv4 de router zich gedraagt als end node.

Bij IPv6 werkt het geheel anders. Je krijgt dan niet slechts één adres, of een paar adressen van Ziggo, nee van Ziggo krijg je een /56 netwerk. Dat betekent dat je zelf 128 – 56 = 72 bit aan adresruimte hebt. Je kunt thuis in je eigen LAN dus 256 x 4 miljard x 4 miljard adressen uitgeven,. Anders gezegd, je krijgt in je privé netwerk 1000 miljard keer de adresruimte van het gehele IPv4 internet, dus dat lijkt voorlopig wel voldoende.

Standaard IPv6 (sub)netwerken waarop PC's, servers, printers etc. worden aangesloten zijn /64 netwerken. De IPv6 stacks van die apparatuur gaat daar vaak van uit. Je kunt dus thuis maar liefst 256 van die /64 subnetten bouwen met de aangeboden adresruimte. De router krijgt van Ziggo dat /56 netwerk aangeboden, en zal dat onderverdelen. Momenteel zullen van die 256 mogelijk netwerken slechts één of twee direct gebruikt worden met een standaard IPv6 CE router. Dat tweede netwerk kan het zgn. guest WiFi netwerk zijn dat veel routers kennen.

Alle adressen die uitgegeven worden zijn wereldwijd unieke adressen die ook op het internet gebruikt worden. De router functioneert nu dus wel als echte router, en geeft de IPv6 adressen die op het LAN gebruikt worden door aan de web sites etc. op het internet die bezocht worden. Google ziet dus nu wel het (IPv6) adres van de PC. De WAN poort van de router is niet opgenomen in deze adresruimte! Bij IPv6 heeft de WAN poort een adres dat thuis hoort adresruimte van de backbone van Ziggo.

Om IPv6 te kunnen gebruiken heb je dus een router nodig, want alleen die router kan de IPv6 adressen uitdelen. Ziggo zal niet de twaalf individuele IPv6 adressen aan de apparatuur uit het eerdere voorbeeld van het gezin gaan uitdelen, en dat wil je ook niet zoals straks bij de veiligheid ter sprake zal komen.

Veiligheid.
Bij de zojuist besproken IPv4 NAT werking treedt een neveneffect op. Meerdere PC's op het LAN kunnen tegelijkertijd verbindingen opbouwen naar het internet. De router houdt al die verbindingen uit elkaar, en als er data terug gestuurd wordt vanaf het internet, dan weet de router naar welke PC op het LAN die data gestuurd moet worden.

Je kunt echter niet zomaar vanaf het internet een verbinding opzetten naar een PC op het LAN. Immers, je kunt vanaf het internet alleen maar de WAN poort van de router aansturen, en die kan daar zelf niets mee en weet (zonder aanvullende configuraties) ook niet welk apparaat op het LAN wel aangestuurd moet worden.

Het gevolg is dus dat alle apparaten op het LAN niet zonder meer vanaf het internet toegankelijk zijn. Dat biedt dus een grote mate van veiligheid, ook al is dat slechts een neveneffect van NAT. Als je nu toch bijvoorbeeld een webserver wil laten draaien op je LAN, dan moet je gebruik maken van portforwarding. Port 80 is bijvoorbeeld de standaard port van web servers. Je kunt nu op de router opgeven dat een aanvraag voor een verbinding met port 80 op de WAN poort van de router wordt doorgegeven naar port 80 van het adres van één bepaalde PC op de LAN kant van de router. Dit heet portforwarding.

Maar wat als ik nu een tweede webserver wil opzetten op mijn LAN? Dat kun je alleen maar doen door een ander poort nummer te gebruiken aan de WAN kant, bijvoorbeeld port 2080. Dan wordt port 2080 aan de WAN kant doorgegeven aan poort 80 van de tweede PC. In het eerste geval kun je met http://mijnserver naar de webserver van de eerste PC (omdat port 80 de standaard port voor http is), in het tweede geval moet dat met http://mijnserver:2080 , en dan kom je bij de webserver van de tweede PC.

Zou een CE router bij IPv6 net zo functioneren als een normale IPv6 router, dan zou het mogelijk zijn om vanaf het internet toegang te krijgen tot alle IPv6 apparaten op het lokale LAN. Alle IPv6 adressen aan de LAN kant zijn immers echte internet adressen. Toch is dat niet het geval, een goede CE router blokkeert standaard al het binnenkomend IPv6 verkeer vanaf het internet. Als dus beweerd wordt dat bij IPv6 alle apparaten helemaal openstaan voor het internet omdat ze een echt IPv6 internet adres hebben, dan is die bewering onjuist.

Om vanaf het internet toch toegang te krijgen tot apparaten op het LAN moet op de router de toegang tot de betreffende poorten van die apparaten open gezet worden. Sommigen classificeren dit als firewall instellingen, anderen noemen het IPv6 portforwarding. In beide gevallen bedoelt men exact hetzelfde. Al met al lijkt de situatie bij IPv6 heel sterk op de situatie bij IPv4. Het grote verschil is wel dat bij IPv6 altijd de adressen van de PC's op het LAN gebruikt worden in plaats van het adres van de WAN poort van de router. Bij IPv6 wordt in principe geen NAT gebruikt wordt, hoewel IPv6 NAT wel bestaat.

Applicaties kunnen ook zelf de router opdracht geven om poorten open te zetten, dat gaat dan via UPnP (Universal Plug and Play). Dit werkt zowel bij IPv4 als bij IPv6.

Soorten IPv6 adressen.
Bij IPv4 zijn we gewend dat een interface slechts één adres heeft. Dat is het meest gebruikelijk, maar het kunnen er overigens wel meer zijn. Bij IPv6 is het regel dat een interface meerdere adressen heeft.

Zodra het IPv6 protocol aangezet wordt op een interface (er hoeft dus geen IPv6 netwerk actief te zijn!) wordt er meteen een link-local address gegenereerd, en dat adres begint met fe80: . Als je bij Windows in de command prompt, dos box, of hoe je het scherm wilt noemen, het commando ipconfig /all geeft, dan zul je bij alle interfaces zo'n adres zien, zoals bijvoorbeeld een adres als fe80::290:f5ff:fed9:a55f%11 .

Het tweede gedeelte van dit adres (vanaf 290) is het zogenaamde EUI-64 address dat wordt afgeleid van het hardware of MAC adres (in dit geval 00-90-F5-D9-A5-5F) van de interface. De %11 hoort niet bij het adres, het is een zone index in de PC, en dat is hier niet verder van belang.

Twee apparaten die op een switch zijn aangesloten kunnen via deze adressen met elkaar communiceren. Deze adressen zijn niet routeerbaar, twee apparaten kunnen dus niet via een router met elkaar communiceren als ze dit type adressen gebruiken. Denk er aan dat bij een CE router met vier LAN poorten die poorten deel uitmaken van een switch, er vindt tussen die poorten geen routering plaats!

Een tweede type adres dat uitsluitend lokaal op het LAN gebruikt wordt is het Unique Local Address (ULA). Deze adressen vallen binnen het netwerk fc00::/7. Ze kunnen beschouwd worden als de IPv6 vervanger van de private address range bij IPv4. Ze kunnen wel gerouteerd worden, maar uitsluitend binnen het eigen LAN. Deze adressen kunnen dus net zo als bij IPv4 niet gebruikt worden voor verbindingen van en naar het internet. Binnen deze range valt nog Private Administration range fd00::/8. Een voorbeeld van zo'n adres is fd00::290:f5ff:fed9:a55f. Merk op dat het adres sterk lijkt op het voorafgaande link-local address omdat het ook weer het EUI-64 address bevat.

En dan krijgen we tenslotte de global IPv6 adressen zoals ze door Ziggo zullen worden uitgegeven. Ziggo gaat de klanten adressen uitgeven uit de adresreeks 2001:1c00::/23 . Een IPv6 adres van een PC van een Ziggo klant zou er dan bijvoorbeeld zo uit kunnen zien: 2001:1c01:2222:3301:290:f5ff:fed9:a55f. Zoals eerder vermeld is dit een /64 adres, en de eerste 64 bits (2001:1c01:2222:3301:) van dit adres noemen we de prefix.

Ook in dit voorbeeld bestaat het adres weer gedeeltelijk uit het EUI-64 addres. Dat is echter bij Windows niet standaard het geval! Om maximale bescherming en privacy op het internet te waarborgen genereert Windows willekeurige (random) adressen binnen het eigen netwerk. Binnen het netwerk 2001:1c01:2222:3301:/64 zal Windows willekeurige adressen genereren, en dat kunnen er zeer vele zijn! Het kunnen er zelfs zoveel zijn, dat de router er niet mee om kan gaan. Aan het einde van dit artikel vind je daarom instellingen waarmee je deze privacy setting ongedaan kunt maken, waardoor Windows een global adres op basis van het EUI-64 addres gaat gebruiken. Dat kan ook erg handig zijn als IPv6 portforwarding op de router ingesteld moet worden.

Resumerend zul je bij één interface altijd een link-local address adres vinden, mogelijk een Unique Local Address (afhankelijk van de router en zijn instellingen), en zeer waarschijnlijk meerdere global IPv6 adressen. Om het helemaal makkelijk te maken kunnen sommige (niet-Ziggo) routers ook gebruikt worden om aansluitingen te krijgen op twee ISP's. Dan komt er dus nog een reeks global IPv6 adressen (of één) uit een ander netwerk bij.

Als laatste hebben we dan nog het loopback of local host adres. Bij IPv4 is dat 127.0.0.1, bij IPv6 is het ::1.

Hoe worden adressen uitgegeven?
Het is natuurlijk mogelijk om op een apparaat zelf handmatig een IP adres te configureren. Echter meestal zal gebruik gemaakt worden van het Dynamic Host Configuration Protocol. Bij IPv4 is DHCPv4 de enige mogelijkheid om automatisch een adres toegekend te krijgen, bij IPv6 bestaat naast DHCPv6 de mogelijkheid om via het Neighbour Discovery Protocol IPv6 adressen toe te kennen. In feite is die laatste methode de meest gebruikte bij CE routers.

Via DHCP kunnen vele instellingen opgehaald worden, niet alleen maar het IP adres. Die instellingen heten bij DHCP options, en met de options kunnen de instellingen voor DNS servers, de default gateway, de domeinnaam, timeservers en nog vele andere zaken opgehaald worden. De WAN poort van de CE router haalt via DHCPv6 ook de adresrange binnen die de router mag uitgeven op zijn LAN poorten.

Aan de LAN kant van de CE router kunnen IPv6 adressen worden uitgegeven op twee manieren. De eerste is via Stateless Address Autoconfiguration (SLAAC) waarbij gebruik gemaakt wordt van het Neighbour Discovery Protocol. De router stuurt berichten uit met daarin o.a. het prefix gedeelte van zowel de ULA (indien geconfigureerd) als de global adressen. De IPv6 stack van het apparaat dat een adres moet hebben vult die prefix zelf aan, vaak met het EUI-64 adres gedeelte. Ook het adres van de default gateway (router) kan met SLAAC worden geconfigureerd, echter gegevens van DNS servers etc. niet!

De tweede methode is via Statefull Address Autoconfiguration waarbij gebruik gemaakt wordt van DHCPv6. Via DHCP kunnen veel meer instellingen geconfigureerd worden, dus ook de adressen van de DNS servers.

Een combinatie van beide is ook mogelijk, het adres wordt geconfigureerd met SLAAC, en vervolgens worden alle andere relevante instellingen via DHCP geconfigureerd. Dit heet stateless DHCPv6.

Het nog niet opgeloste global DNS probleem.
We komen nu bij onderwerp waar de IP gemeenschap blijkbaar nog niet goed over nagedacht heeft, het lijkt aan de aandacht ontsnapt te zijn. Ik heb daar zelf wat gedachten over ontwikkeld, en dat vind je hier terug. Het is geen eenvoudige kost, dus het is echt iets voor de doorbijters.

Als we een web site op het internet willen bereiken dan doen we dat niet door handmatig een IP adres in te tikken. In plaats daarvan geven we een naam op, bijvoorbeeld www.google.nl. De browser zal dan via DNS bij een DNS server het IPv4 en IPv6 adres van www.google.nl opvragen, en vervolgens met één van die adressen de verbinding opbouwen.

Het IPv4 adres van de WAN poort van onze CE routers heeft ook een door Ziggo toegewezen DNS naam, echter die naam is nogal cryptisch en kan net zo als het IPv4 adres zo veranderd worden door Ziggo. Daar hebben de klanten dus weinig aan. Als je nu wel een webserver hebt draaien die vanaf het internet toegankelijk moet zijn, dan kun je bij een externe organisatie een DNS naam registreren. Een heel bekend bedrijf waar dat kan is dyndns.org. Je kunt daar bijvoorbeeld de naam jansen.dyndns.org registreren, en die koppelen aan het IPv4 adres van de WAN poort van je router. Bijna alle routers hebben een stukje software aan boord dat er voor kan zorgen dat jansen.dyndns.org altijd verwijst naar het juiste IPv4 adres, ook als Ziggo dat adres wijzigt. Dit heet dynamische DNS.

Als alle portforwarding ook goed ingesteld staat, dan kan iemand vanaf het internet bij je webserver komen door jansen.dyndns.org op te geven in zijn browser.

Denk er echter wel aan dat jansen.dyndns.org niet de echte DNS naam van de WAN poort is, het is slechts een alias. De echte DNS naam van de WAN poort is nog steeds die cryptische Ziggo naam. Als je een zogenaamde reversed name lookup doet, ofwel een naam zoeken bij het IP adres van de WAN poort, dan komt uitsluitend de Ziggo naam tevoorschijn.

De apparaten op ons LAN krijgen een global IPv6 adres, en moeten dus via dat adres vanaf het internet benaderd worden, en niet via het IPv6 adres van de WAN poort van de router. Het global IPv6 adres van een apparaat op ons LAN moet dus ook voorzien worden van een global DNS naam, zodat je er bij kunt komen vanaf het internet. Natuurlijk spelen er ook veiligheidsaspecten, maar dat is een ander hoofdstuk en staat los van de principiële methode om die apparaten te kunnen bereiken.

Een global DNS naam moet bij voorkeur geregistreerd worden bij de DNS server van de organisatie die eigenaar is van de betreffende adres reeks. De IPv6 adressen die wij krijgen behoren toe aan Ziggo, en dus zouden de global DNS namen met bijbehorende IPv6 adressen bij de DNS servers van Ziggo geregistreerd moeten worden. Je zou dan het IPv6 adres van je NAS daar kunnen registreren met de naam nas.ziggo.nl. Op zich is dat een volledig juiste wijze van werken, maar zo kan het natuurlijk niet.

Mijn buurman zal zijn NAS wellicht ook willen registreren, en misschien ook wel als nas.ziggo.nl. Dat werkt dus niet. Daarnaast wil Ziggo natuurlijk niet dat klanten direct in de namespace van Ziggo namen gaan registreren, dat wordt een rommeltje. Daar zijn twee oplossingen voor, iedere klant kan een sub-domain binnen de Ziggo namespace krijgen, en/of een eigen domain naam.

In het geval van een eigen sub-domain kun je denken aan een naam als caesar.ziggo.nl of caesar.customer.ziggo.nl, en dan kan ik mijn NAS registreren als nas.caesar.ziggo.nl of nas.caesar.customer.ziggo.nl. Vanzelfsprekend moet gewaarborgd zijn dat alleen de betreffende klant bij zijn eigen sub-domain wijzigingen kan uitvoeren.

Een eigen domain-name zou caesar.org kunnen zijn, echter dat houdt wel in dat de betreffende klant zich moet registreren als eigenaar van het domein, en waarschijnlijk ieder jaar een klein bedrag moet betalen om zijn eigen domein naam geregistreerd te houden. Zo'n eigen domain-name met de bijbehorende registraties van IPv6 adressen etc. zou wel geregistreerd moeten worden bij de DNS servers van Ziggo!

Ziggo zou beide methodes kunnen ondersteunen, zodat de klant kan kiezen. De sub-domain methode zou in mijn optiek de standaard methode voor iedere klant moeten zijn.

Het local DNS probleem.
De global IPv6 adressen en DNS namen moeten dus bij Ziggo worden geregistreerd. Maar wat nu als je op je eigen LAN contact wilt leggen met een ander apparaat, en de verbinding met Ziggo ligt er uit. Dan heb je een fiks probleem, want de DNS server is ook niet bereikbaar.

Hiervoor zijn de ULA adressen feitelijk bedoeld. Dat zijn immers private adressen die alleen binnen je eigen LAN gebruikt kunnen worden. Als de router nu ook een local domain aanbiedt met een bijbehorende DNS server, dan is het probleem opgelost.

De router zou dan bijvoorbeeld het lokale domein my.router kunnen aanbieden, en de NAS zou daarmet zijn ULA adres geregistreerd kunnen worden als nas.my.router. Ook de private IPv4 adressen op het LAN kunnen in die DNS geregistreerd worden, zodat ook apparaten zonder IPv6 adres in in de lokale DNS staan.

Als je nu vanuit bijvoorbeeld je browser contact wilt leggen met je NAS, dan kun je volstaan met nas in de adresbalk in te tikken. De DNS server in de router zal dan het ULA adres terug sturen naar de browser, en de browser zal daarmee aan de slag gaan om de verbinding op te bouwen.

Maar wat nu als ik in mijn browser opgeef dat ik naar nas.caesar.customer.ziggo.nl wil? Dan krijgt de browser het global IPv6 adres aangeleverd om te gebruiken. Dan zou het geheel eigenlijk zodanig moeten functioneren dat de NAS niet direct aangesproken wordt, maar via de router. Daarbij zou de router dit als verkeer vanaf het internet moeten beschouwen, zodat de gebruiker kan controleren of alle beveiligingen tegen inbraak vanaf het internet actief zijn. Hetzelfde gebeurt ook als we via het IPv4 WAN adres van de router verbinding zouden zoeken met de NAS.

Overigens dient de router er voor te zorgen dat zowel de lokale als de globale DNS server bijgehouden wordt.

Afsluiting DNS bespreking.
Het voorafgaande zijn mijn eigen ideeën over hoe DNS zou moeten werken voor de apparaten op ons LAN. Er zijn echter ook een aantal RFC's van de IETF die dezelfde kant opgaan. Het lijkt er op dat de internet community meer bezig geweest is met het nadenken over netwerken in datacenters etc., en niet veel aandacht geschonken heeft aan de specifieke problemen van CE routers en het administreren van apparaten op thuis LAN's. De ISP's zagen IPv6 vooral als kostenpost, en besteedden ook weinig aandacht aan de gewenste functionaliteit. En nu moet dit alles nog ingevuld worden.

Nawoord.
Het voorafgaande is bedoeld om een geïnteresseerde gebruiker zoveel informatie te geven dat hij een globaal idee heeft van de werking van IPv6 op zijn thuisnetwerk. De informatie is zeker niet volledig, daarvoor bestaan boeken over IPv6. Ik hoop dat de informatie echter wel voldoende is om alles wat aan IPv6 informatie te zien is op routers en PC's te kunnen begrijpen.

Addendum.
Windows genereert standaard zeer vele IPv6 global adressen, dit is de zogenaamde privacy setting. Je router kan daar problemen mee krijgen, en om die settings ongedaan te maken moet je met de rechter muisknop de command prompt in administrator mode starten. Geef dan de volgende settings in:

• netsh interface ipv6 set global randomizeidentifiers=disabled store=active
• netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent
• netsh interface ipv6 set privacy state=disabled store=active
• netsh interface ipv6 set privacy state=disabled store=persistent

Om de IPv6 tunnel protocollen ook uit te schakelen (die gebruik je niet) kun je deze opdrachten ook nog toevoegen:
• netsh interface ipv6 set teredo state disabled
• netsh interface ipv6 6to4 set state disabled
• netsh interface ipv6 isatap set state disabled

39 Reacties
E-mail notificaties
Aan Uit

Ontvang een update bij nieuwe reacties op dit artikel.

Uitgelicht topic