IPv6 Laborationer

Här ska vi konfigurera de tre metoder för IPv6 dynamiskt adressallokering: SLAAC, SLAAC och DHCP stateless samt DHCP stateful. Det är bra att komma ihåg att en router ger instruktioner till klienter på hur de själva kan konstruera egna IPv6 adresser. Instruktionerna i stateless konfiguration görs via RA-meddelande som svar till klienter som skickar RS-meddelande.

En sådan konfiguration kan göras på två sätt:

  • Rapid-Commit: använder RS- och RA-meddelande
  • Normal-Commit: använder RS, RA, REQUEST, OCH REPLAY meddelande.

I konfigurationer av dynamiskt adressallokering för SLAAC krävs det att man förstår EUI-64 metoden. Denna metod går ut på att klienter bygger upp egna IPv6 adresser med hjälp av deras MAC-adresser.

Laboration: Stateless Autoconfiguratin – SLAAC

Routern R2 konfigureras så att den ska tillhandahålla stateless adresskonfiguration för klienter som skickar RS-meddelande. Stateless innebär inte att R2 allokerar IPv6 GUA adresser, den ger instruktioner hur klienter kan själva bygga upp en IPv6 GUA adress, samt en LLA adress. Med kompletterande adresseringsinformation menas här främst PREFIXEN, prefixlängden, MTU, DNS server adresser, och kanske domännamn (kräver konfigurering).

Bild 1: Stateless autoconfiguration

Router R2 konfigureras med en GUA adress via metoden eui-64. Router R1 konfigureras med IPv6 självkonfiguration, SLAAC.

Konfigurationer

  • Aktivera IPv6 routing på R1
  • R1(config)# ipv6 unicast-routing
  • Aktivera IPv6-adress självkonstruktion på interface g0/0
  • R1(config)# int g0/0
  • R1(config-if)# ipv6 address 2001:db8:cafe:aaaa::1/64
  • R1(config-if)# end
  • R1#
  • Konfigurera interfacet för SLAAC självkonstruktion
  • R2(config)# int g0/0
  • R2(config-if)# ipv6 address autoconfig
  • R2(config-if)#end
  • R2#
  • Starta felsökning för ND
  • R1# debug ipv6 nd
  • Starta interface g0/0
  • R1# conf t
  • R1(config)# int g0/0
  • R1(config-if)# no shut
  • R1(config-if)# end
  • R1#
  • Nu gäller att läsa alla meddelande på R2/R1 som visar RS och RA, tiden, protokoll, etc.
  • Starta felsökning för ND
  • R2# debug ipv6 nd
  • Starta interface g0/0
  • R2# conf t
  • R2(config)# int g0/0
  • R2(config-if)# no shut
  • R2(config-if)# end
  • R2#
  • Nu gäller att läsa alla meddelande på R2/R1 som visar RS och RA, tiden, protokoll, etc.

Laboration: SLAAC och DHCP stateless och Laboration: DHCP stateful

Samma topologi används först för DHCP staless och därefter för DHCP stateful:

Bild 2: DHCP stateless

Konfigurationer

  • Aktivera IPv6 routing
  • R1(config)# ipv6 unicast-routing
  • Konfigurera en DHCPv6 pool
  • R1(config)# ipv6 dhcp pool LESSPOOL
  • R1(config-dhcpv6)# 
  • Konfigurera Pool parametrar
  • R1(config-dhcpv6)# dns-server 2001:db8:cafe:aaaa::5
  • R1(config-dhcpv6)# domain-name diginto.se
  • R1(config-dhcpv6)# exit
  • Konfigurera DHCPv6 interface
  • R1(config)# interface g0/1
  • R1(config-if)# ipv6 address 2001:db8:cafe:1::1/64
  • R1(config-if)# ipv6 dhcp server LESSPOOL
  • R1(config-if)# ipv6 nd other-config-flag
  • R1(config-if)# no shut
  • R1(config-if)# end
  • Router(config)# hostname R2
  • R2(config)# interface g0/1
  • R2(config-if)# ipv6 enable
  • R2(config-if)# ipv6 address autoconfig
  • R2(config-if)# no shut
  • R2(config-if)# end
  • Nollställ R1
  • R1# write erase
  • R1# reload
  • Svara net till att spara konfigurationer och därefter nej till guide-konfigurationen
  • Aktivera IPv6 routing
  • R1(config)# ipv6 unicast-routing
  • Konfigurera en DHCPv6 pool
  • R1(config)# ipv6 dhcp pool FULPOOL
  • R1(config-dhcpv6)# 
  • Konfigurera Pool parametrar
  • R1(config-dhcpv6)# address prefix 2001:db8:cafe:1::/64 lifetime infinite
  • R1(config-dhcpv6)# dns-server 2001:db8:cafe:aaaa::5
  • R1(config-dhcpv6)# domain-name diginto.se
  • R1(config-dhcpv6)# exit
  • Konfigurera DHCPv6 interface
  • R1(config)# interface g0/1
  • R1(config-if)# ipv6 address 2001:db8:cafe:1::1/64
  • R1(config-if)# ipv6 dhcp server FULPOOL
  • R1(config-if)# ipv6 nd managed-config-flag
  • R1(config-if)# no shut
  • R1(config-if)# end
  • Nollställ R1
  • R1# write erase
  • R1# reload
  • Svara net till att spara konfigurationer och därefter nej till guide-konfigurationen
  • Aktivera DHCP-klient funktion
  • R2(config)# interface g0/1
  • R2(config-if)# ipv6 enable
  • R2(config-if)# ipv6 address dhcp
  • R2(config-if)# no shut
  • R2(config-if)# end

Laboration: DHCPv6 stateless och stateful

Med tre 1941 routrar utforskar vi dessa två konfigurationer på DHCPv6. Här kommer att hanteras flaggor A, O och M. Till en början routern R2 ska agera som en DHCPv6 stateless server till routern R1 och då kommer att hända följande:

  • Flagga A = 1 vilket betyder att R1 får skapa själv IPv6 adresser men med hjälp av routern R2
  • Flagga O = 1 vilket betyder att R1 får information från R2 (prefix, dns och domännam)
  • Flaga M = 0 ingen stateful DHCPv6 server ska kontaktas.

Därefter ska konfigurationer raderas och R2 kommer att agera som DHCPv6 relay agent. En sådan server hjälper till att distribuera vidare DHCPv6 konfigurationer från servern som i detta fall blir routern R3. Följande händer:

  • R3 skickar ut RA meddelande och ger sig till känna.
  • Meddelandet kan inte komma fram till R1 som är klient. Det är då som routern R2 hjälper till och vidarebefordrar R3:s meddelande till R1.
  • RA ska innehålla flaggor:
    • A = 0
    • O = 0
    • M = 1
Bild 3: DHCPv6 stateless och stateful

Konfigurationer

  • Router> enable
  • Router# configure terminal
  • Router(config)# hostname R2
  • R2(config)# ipv6 unicast-routing
  • R2(config)# int G0/0
  • R2(config-if)# ipv6 address fe80::1 link-local
  • R2(config-if)# ipv6 address 2001:db8:acad:1::c/64
  • R2(config-if)# no shut
  • R2(config-if)# int G0/1
  • R2(config-if)# ipv6 address fe80::1 link-local
  • R2(config-if)# ipv6 address 2001:db8:acad:2::b/64
  • R2(config-if)# no shut
  • R2(config-if)# exit
  • R2(config)#
  • En pool skapas med DNS och domännamn information
  • R2(config)# ipv6 dhcp pool DIGINTOLESS
  • R2(config-dhcpv6)# dns-server 1::1
  • R2(config-dhcpv6)# domain-name diginto.se
  • R2(config-dhcpv6)# exit
  • DHCP pool associeras med interfacet samt sätts O = 1
  • R2(config)# int G0/0
  • R2(config-if)# ipv6 dhcp server DIGINTOLESS
  • R2(config-if)# ipv6 nd other-config-flag
  • R2(config-if)# no shut
  • R2(config-if)# end
  • R2# show ipv6 dhcp
  • R2# show ipv6 dhcp binding
  • R2# show ipv6 dhcp pool
  • Router> enable
  • Router# configure terminal
  • Router(config)# hostname R1
  • Konstruerar egna IPv6 adresser med information i RA
  • R1(config)# int G0/0
  • R1(config-if)# ipv6 address autoconfig
  • R1(config-if)# no shut
  • R1(config-if)# end
  • R1# show ipv6 int
  • R1# show ipv6 dhcp interface
  • Nollställ routern R1
  • R1(config)# int G0/0
  • R1(config-if)# do show run int fa0/0
  • R1(config-if)# shut
  • R1(config-if)# no ipv6 address autoconfig
  • R1(config-if)# do show ipv6 int br
  • R1(config-if)# no shut
  • R1(config-if)# do show ipv6 int br
  • Nollställ routern R2
  • Ta fram DHCPv6 klienter, finns inte just nu
  • R2# show ipv6 dhcp binding
  • R2# config t
  • Ta fram DHCPv6 konfigurationer
  • R2(config)# do show run | inc dhcp
  • Ta bort DHCPv6 pool DIGINTOLESS
  • R2(config)# no ipv6 dhcp pool DIGINTOLESS
  • R2(config)# int G0/0
  • Ta bort flaggan O
  • R2(config-if)# no ipv6 nd other-config-flag
  • Ta bort associationen mellan DHCPv6 pool DIGINTOLESS och interface G0/0
  • R2(config-if)# no ipv6 dhcp server DIGINTOLESS
  • Sätt flaggan M = 1
  • R2(config-if)# ipv6 nd managed-config-flag
  • Tilldela rollen RELAY till interfacet g0/0
  • R2(config-if)# ipv6 dhcp relay destination fe80::2 gigabitEthernet 1/0
  • R2(config-if)# end
  • R2#
  • Router> enable
  • Router# configure terminal
  • Router(config)# hostname R3
  • R3(config)# ipv6 unicast-routing
  • R3(config)# int G0/1
  • R3(config-if)# ipv6 address fe80::2 link-local
  • R3(config-if)# ipv6 address 2001:db8:acad:2::a/64
  • R3(config-if)# no shut
  • Router R3 konfigureras som DHCPv6 Stateful server
  • R3(config)# ipv6 unicast-routing
  • R3(config)# ipv6 dhcp pool DIGINTOFUL
  • R3(config-dhcpv6)# address prefix 2001:db8:acad:1::/64
  • R3(config-dhcpv6)# dns-server 1::1
  • R3(config-dhcpv6)# domain-name jensen.se
  • R3(config-dhcpv6)# exit
  • Associeras interface och DHCPv6 pool
  • R3(config)# int G0/1
  • R3(config-if)# ipv6 dhcp server DIGINTOFUL
  • Sätts flaggan M = 1
  • R3(config-if)# ipv6 nd managed-config-flag
  • Definieras prefixet, adress-lånetider och sätts flaggan A = 0
  • R3(config-if)# ipv6 nd prefix 2001:db8:dad:1::/64 28800 14400 no autoconfig
  • R3(config-if)# exit