Jag vill lära mig IPv6
IPv6 lär du dig bäst genom att köra det. Läs gärna på, men bygg framför allt ett eget nät hemma där du kan prova, göra fel och se vad som händer. Det krävs inte mycket: en router eller brandvägg som du själv styr över, ett par datorer eller virtuella maskiner – och IPv6-adresser som är dina att experimentera med.
Ett stabilt prefix gör stor skillnad
I en hemmalabb är ett prefix som inte ändras guld värt. Många bredbandsoperatörer som levererar IPv6 delar ut ett prefix som kan bytas vid omstart eller efter ett avbrott, och då byter varje enhet i nätet adress. Och det som då går sönder är precis det du vill öva på:
- AAAA-poster i DNS
- brandväggsregler
- adressplanen och uppdelningen i flera nät
- tjänster som ska gå att nå utifrån
Med ett fast prefix kan du bygga något, lämna det och komma tillbaka nästa vecka utan att börja med att felsöka adresserna.
Route64 – fast prefix genom en tunnel
route64.org passar utmärkt för en hemmalabb. Det är en ideell tjänst som helt gratis ger dig ett eget, routat /56 med fast tilldelning genom en tunnel. Ett /56 rymmer 256 nät, så du har gott om plats att dela upp labben i flera delar.
Du kan välja mellan flera tunneltyper, bland annat WireGuard, GRE och IP6IP, och allt sätts upp i en självbetjäningsportal. Det fungerar oavsett om din egen operatör levererar IPv6 eller inte.
Varför inte Hurricane Electric?
Hurricane Electrics tunnlar har hjälpt många att komma igång och fungerar bra om du har en fast, publik IPv4-adress. Men de bygger på att tunneln går direkt mot din IPv4-adress, och det ställer till det i två vanliga fall:
- Du sitter bakom CGNAT. Då har du ingen egen publik IPv4-adress som tunneln kan gå mot, och den kommer inte igenom.
- Din IPv4-adress ändras. Tunneln slutar fungera varje gång adressen byts, tills den nya adressen har registrerats.
Här vinner Route64. WireGuard klarar CGNAT betydligt bättre: tunneln kopplas upp inifrån och ut över UDP, precis som vilken annan trafik som helst, och tål att din adress ändras på vägen.
MikroTik och containrar
En MikroTik-router är en bra grund för labben. RouterOS har fullt stöd för IPv6 och för tunneltyperna ovan, och kostar inte mycket. Från version 7 kan routern dessutom köra containrar, och de fungerar ypperligt med IPv6: varje container får ett eget gränssnitt och en egen adress ur ditt prefix, och går att nå direkt utan portvidarebefordran eller adressöversättning.
Det gör det enkelt att sätta upp små tjänster att öva på, till exempel en namnserver eller en webbserver, utan någon extra hårdvara.
Börja med RIPE Atlas
En container med RIPE Atlas är ett bra första steg. RIPE Atlas är ett världsomspännande mätnät där tusentals små sonder mäter hur internet fungerar, över både IPv4 och IPv6. Sonden finns också som programvara, och RIPE beskriver hur den installeras och länkar till färdiga containeravbilder i sin dokumentation om mjukvarusonder.
Du lär dig hur en container får sin IPv6-adress och når ut, och du får något igång som gör nytta: mätningarna hjälper operatörer och forskare, och du tjänar poäng som du kan använda till egna mätningar mot ditt nät.
464XLAT – ett nät med bara IPv6
Det roligaste du kan prova i labben just nu är ett nät helt utan IPv4. Det som länge satte stopp var program och tjänster som bara kan IPv4. 464XLAT löser det med översättning i två led:
- CLAT i klienten ger IPv4-programmen en adress att prata med och översätter deras trafik till IPv6.
- NAT64 i routern eller hos operatören översätter tillbaka till IPv4 ut mot internet.
Däremellan går allt över IPv6. Klienten får reda på vilket prefix NAT64 använder genom routerns RA (PREF64) eller genom DNS64.
iOS, Android, ChromeOS och macOS har kört CLAT i många år. Den som saknades var Windows – men nu har även Windows 11 fått CLAT, eller WinCLAT som det kallas. Microsoft rullar ut det stegvis efter en öppen förhandsversion. Därmed klarar alla vanliga klienter ett nät med bara IPv6.
NAT64 i din router
Du behöver en NAT64 i labben. Så här ser det ut i några vanliga routrar och brandväggar:
- MikroTik. RouterOS har ingen inbyggd NAT64, men det går att lösa med Tayga i en container.
- OpenWrt. Läs om IPv6 och om NAT64 med Jool eller Tayga.
- pfSense. Läs om IPv6 och om NAT64, med PREF64 och DNS64.
- OPNsense. Läs om IPv6 och om NAT64 med Tayga.
- VyOS. Har NAT64 inbyggt.
- Linux. Jool och Tayga går att köra på en vanlig Linuxmaskin.
Att tänka på
- MTU. En tunnel tar lite plats i varje paket. Med WireGuard är 1420 byte det vanliga värdet. Ställ in det på tunneln och låt routern annonsera det till näten bakom, annars kan vissa sidor och tjänster hänga sig.
- Brandvägg. Med publika adresser på varje enhet finns ingen NAT som döljer ett glömt filter. Börja med att stoppa all trafik utifrån som inte hör till en förbindelse som öppnats inifrån, och öppna sedan bara det du vill prova.
Vad ska jag prova?
- Dela upp ditt /56 i flera /64 och routa mellan dem.
- Låt klienterna få adresser med SLAAC, och prova sedan DHCPv6, till exempel med Kea (se nedan).
- Titta på grannar, RA och DAD med de vanliga verktygen och med en paketsniffare.
- Lägg upp en tjänst, ge den en AAAA-post i DNS och nå den utifrån, till exempel från mobilen.
- Stäng av IPv4 i ett av näten och se vad som fortfarande fungerar.
- Sätt upp NAT64 i samma nät och se hur klienter med CLAT klarar sig helt utan IPv4.
Läs mer
- RIPE NCC:s utbildningar. RIPE NCC Academy har kostnadsfria nätkurser om IPv6, från grunderna till säkerhet. Bilder och övningar från de lärarledda kurserna IPv6 Fundamentals, IPv6 Advanced och IPv6 Security finns att ladda ner bland kursmaterialet, och kommande kurser och webbinarier står i kurskalendern.
- Kea DHCPv6. Kea från ISC är en modern DHCP-server med öppen källkod som passar bra i en labb. Kapitlet om DHCPv6-servern i handboken går igenom adresstilldelning, prefixdelegering och alla inställningar.