inet-ipv6

IPv6 in de praktijk

Bij Hype Automatisering zijn we al sinds 2012 actief met IPv6. Op dit moment rollen we IPv6 standaard, waar mogelijk, uit. In deze blog post wil ik graag uitwijden waar wij IPv6 nu voor inzetten en waar we tegen aan lopen en liepen.

Internet

Recentelijk hebben we een klant voorzien van een nieuw netwerk en server omgeving. Als internet provider gebruiken we Netlogics en internet wordt geleverd over een (NDIX) VLAN via glasvezel.

IPv6

Cisco ASA 5505

Als firewall is een Cisco ASA 5505 (Security Plus) gekozen. De glasvezel verbinding wordt afgemonteerd op de CPE van NDIX. Vanuit de CPE loopt er een enkele UTP kabel naar ASA.

WAN

De ASA heeft een IPv6 adres gekregen uit een zogenaamd “Koppelsubnet”. Dit is een /64 netwerk uit een reeks van de ISP. Aan de andere kant heeft de ISP ook een IPv6 adres in datzelfde subnet welke ik gebruik als default gateway. Omdat het allemaal vaste adressen zijn en er geen clients op dit netwerk zitten heb ik R(outer) A(dvertisements) uitgeschakeld op het WAN VLAN.

Netlogics geeft elke klant een /48 IPv6 netwerk. Netlogics stuurt al het verkeer bestemd voor dat netwerk via de ASA.

Ik gebruik 2001:DB8:9::/48 als voorbeeld in deze blog post.

Een Cisco ASA kan, op het moment van schrijven, niet overweg met IPv6 over PPPoE. Als je op die locaties toch IPv6 wilt aanbieden zal je er een router voor moeten plaatsen (bijvoorbeeld een Cisco 867VAE-K9).

LAN

Aan de binnenkant van de ASA hebben we meerdere VLANS. Ook VLANS waarop apparatuur van externe leveranciers zitten. Deze VLANS hebben we niet uitgerust met IPv6. Het gasten netwerk en eigen LAN netwerk hebben we wel voorzien van IPv6.

We hebben de volgende VLANS met IPv6:

VLAN ID Omschrijving
1 LAN
50 GUEST
100 MANAGEMENT

 

Elk VLAN heeft een /64 netwerk. De reden dat we /64 gebruiken is zodat clients zelf hun IPv6 adres kunnen samenstellen. Bij een ander subnet grootte gebeurt dit niet automatisch.

De eerste /48 bits van je /64 netwerk staan vast. Deze hebben we gekregen van de ISP. We mogen zelf 16 bits gebruiken om daarin de netwerken onder te verdelen. De notatie is hexadecimaal (4 bits voor een karakter) en we hebben dus 4 hexadecimale karakters.

Ik heb als eerste karakter de beginletter van de plaats van de klant gepakt, de B van Barneveld. De drie andere hexadecimale karakters gebruik ik voor het VLAN nummer.

VLAN 1: 2001:DB8:9:B001::/64
VLAN 50: 2001:DB8:9:B050::/64
VLAN 100: 2001:DB8:9:B100::/64

De ASA heeft 2001:DB8:B<VLANID>::1:1/64 als publiek IPv6 adres. Als link local adres gebruiken wij: FE80::<VLANID>:1/64

De ASA stuurt R(outer) A(dvertisements) met de 2001:DB8:9:B<VLANID>::/64 prefix uit zodat clients zelf hun IPv6 adres kunnen maken. De clients zullen het link local adres van de ASA gebruiken als default gateway!

LET OP: Dit nummerplan specifiek voor deze klant bedacht en het kwam zo uit. Als je zelf aan de slag gaat raad ik aan om de whitepaper over het nummerplan van surfnet te downloaden.

Alle apparaten op het LAN netwerk hebben IPv6 ondersteuning:

  • HP Printers
  • Windows Server 2008 R2 / 2012
  • HP ILO 4

Als IPv6 adres heb ik de laatste octet van het IPv4 adres gepakt en deze gebruikt in de laatste 4 hexadecimale karakters.

De server heeft bijvoorbeeld 192.168.20.1 en 2001:DB8:9:B001::1 en de HP ILO heeft 192.168.20.253 en 2001:DB8:9:B001::253.

Er zijn mensen die aangeven dat met deze manier van nummeren servers van afstand makkelijk zijn te vinden. Dat is waar maar het is een afweging tussen security en gemak. Daarnaast is het belangrijk om de firewall goed in te stellen.

IPv6 only

Een IPv6 only client zal in dit netwerk niet goed kunnen werken. De reden daarvoor is dat alleen een IPv6 adres wordt gegenereerd maar dat informatie over IPv6 DNS servers niet wordt verstrekt aan de client. Daar is een DHCPv6 server voor nodig (Bijv. Cisco IOS/Windows Server) die deze informatie aan de client kan verstrekken. Ik heb er bewust voor gekozen om dat hier niet uit te rollen omdat IPv6 only clients nog lang op zich zullen laten wachten.

Dit kan later eenvoudig worden aangezet door DHCPv6 op de Windows Server in te schakelen en de “managed-config-flag” in de ASA aan te zetten.

Management Netwerk

We maken gebruik van Cisco 2960 switches met IOS 15. Deze hebben volledige IPv6 ondersteuning. We hebben deze switches een vast IPv6 adres gegeven. Ook de Cisco SG300-28P op locatie (belangrijk: update naar de laatste firmware!) heeft volledige IPv6 ondersteuning.

De Cisco Aironet 1602-E access points hebben GEEN ondersteuning voor IPv6 en deze kunnen ALLEEN op IPv4 worden beheerd.

Firewall

Met IPv6 hebben we alleen te maken met routeren en met regels wat wel en niet mag. Bij de ASA hebben we eerst aangegeven wat tussen de VLANS mag m.b.t. IPv6 verkeer. Daarna een regel waarin al het verkeer tussen de VLANS wordt geblokkeerd. Daarna pas de regels welke het verkeer toestaan naar het internet.

Met IPv6 gebruiken we steeds vaker /64 netwerken om af te bakenen wat wel en niet mag in plaats van volledige IPv6 adressen. Dit omdat IPv6 adressen van clients steeds wijzigen (soms elk uur vanwege de privacy extension).

Houd er rekening mee dat ICMPv6 (o.a. PING) cruciaal is voor de werking van IPv6. Dit blokkeren is een slecht idee!

Monitoring

In het datacentrum gebruiken wij PRTG Netwerk Monitor om de beschikbaarheid en belasting van apparaten en diensten in de gaten te houden. Door het /64 IPv6 netwerk waarin de server met PRTG staat aan de firewall toe te voegen kan PRTG alle apparaten direct uitlezen.

Beheer op afstand

Met IPv4 voegde je een enkele IPv4 adres toe aan de firewall waar vanaf je de server mocht beheren. En dan kon je via de server bij de andere apparaten in het netwerk.

Met IPv6 voeg je een /64 netwerk toe in plaats van een enkel IP adres. In de firewall hebben we toegang vanaf ons eigen /64 LAN netwerk en /64 VPN netwerk toegestaan. Vanaf de zaak of als we ingelogd zijn op de VPN van de zaak kunnen we dus direct alle apparaten benaderen voor beheer.

LET OP: Omdat alle apparaten direct benaderbaar zijn betekent dit niet dat al het verkeer van de client naar de apparaten gecodeerd is! Wij zorgen ervoor dat we beheren met protocollen die encryptie gebruiken (o.a. SSH, HTTPS, SSL, RDP) zodat iemand die meeluistert niets met de data kan.

Reverse DNS

Met IPv4 werd je meestal naar buiten ge-NAT via een enkel of een paar IPv4 adressen. Het was ook makkelijk om een DNS Pointer Record (PTR) hiervoor aan te maken. Omdat je met IPv6 altijd een wisselend IPv6 adres hebt is het ondoenlijk om daar PTR records voor aan te maken.

Netlogics delegeert de Reverse DNS zone van de /48 netwerken van onze klanten naar onze DNS server. Hier draait een script op die dynamisch een PTR record maakt. Daarnaast wordt de zone ipv6.klantnaam.nl gedelegeerd naar ons toe.

nslookup 2a00:DC8:2:B000:23FC:34AE:2E76:3FAC
Name:    dyn-jp7rpbnyze0c.barneveld.ipv6.hype.nl
Address: 2a00:dc8:2:b000:23fc:34ae:2e76:3fac

nslookup dyn-jp7rpbnyze0c.barneveld.ipv6.hype.nl
Name:    dyn-jp7rpbnyze0c.barneveld.ipv6.hype.nl
Address: 2a00:dc8:2:b000:23fc:34ae:2e76:3fac

Op deze manier hebben servers en clients van de klant altijd een geldig PTR record.

Conclusie

IPv6 is volwassen genoeg in de apparaten die we gebruiken om het standaard uit te rollen. In de komende blog posts zal ik diverse Cisco configuraties doornemen waarin we IPv6 hebben verwerkt.

Leave a comment