8: DHCPv6 (Dynamic Host Configuration Protocol for IPv6) Rick Graziani Cabrillo College Rick.Graziani@cabrillo.edu For more information please check out my Cisco Press book and video series: IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6 • By Rick Graziani • ISBN-10: 1-58714-313-5 IPv6 Fundamentals LiveLessons: A Straightforward Approach to Understanding IPv6 • By Rick Graziani • ISBN-10: 1-58720-457-6 © 8.1: Router Advertisement and DHCPv6 DHCPv6 Global Unicast Manual Dynamic Stateless Static IPv6 unnumbered Stateful SLAAC DHCPv6 SLAAC + DHCPv6 DHCPv6-PD Similar to IPv4 unnumbered Static + EUI 64 © Dynamic IPv4 Address Allocation I need an IPv4 addressing information from a DHCP server. DHCP Server DHCP Client Here is your IPv4 address, subnet mask, default gateway and DNS server addresses. © All Dynamic Addressing Begins with the RA Message ICMPv6 Router Advertisement ICMPv6 Router Solicitation Multicast: To all IPv6 routers, I need IPv6 address information DHCPv6 Server Multicast: To all IPv6 devices, I might not even be let me tell you how needed. to do this … • An ICMPv6 Router Advertisement (RA) suggests to all IPv6 devices on the link how it will receive IPv6 Address Information. • Sent periodically by an IPv6 router or… • … when the router receives a Router Solicitation message from a host. © Option 1 and 2: Stateless Address Autoconfiguration Router Advertisement: 3 Options • DHCPv6 Server does not maintain state of addresses Option 3: Stateful Address Configuration • Address received from DHCPv6 Server Router(config)# ipv6 unicast-routing DHCPv6 Option 1: SLAAC – No DHCPv6 (Default on Cisco routers) DHCPv6 Server “I’m everything you need (Prefix, Prefix-length, Default Gateway)” Option 2: SLAAC + Stateless DHCPv6 for DNS address “Here is my information but you need to get other information such as DNS addresses from a DHCPv6 server.” (DNS can be in RA) RA Option 3: All addressing except default gateway use DHCPv6 “I can’t help you. Ask a DHCPv6 server for all your information.” © RA Message Options ICMPv6 Router Advertisement Option 1, 2, or 3 DHCPv6 Server The type of Router Advertisement option depends on two RA flags: Other Configuration Flag and Managed Configuration Flag • Default: Both flags are set to 0 (Option 1) • Use me (RA) for all your addressing information, no additional information available via DHCPv6. • Other Configuration Flag when set to “1” (Option 2) • Use me (RA) for your address but you need to get OTHER information from a stateless DHCPv6 server. • Managed Configuration Flag when set to “1” (Option 3) • The client needs to get ALL of it’s MANAGED information from a stateful DHCPv6 server, except default gateway. © RA Message Options ICMPv6 Router Advertisement Option 1, 2, or 3 Option Other Configuration (“O”) Flag DHCPv6 Server Managed Configuration (“M”) Flag Option 1: SLAAC – No DHCPv6 (Default on Cisco routers) 0 0 Option 2: SLAAC + Stateless DHCPv6 for DNS address 1 0 Option 3: All addressing except default gateway use DHCPv6 0 1 © Option 3 and the “A” Flag G 0/1 As a Windows host I will still use the RA prefix to create temporary (SLAAC) addresses) ICMPv6 RA M Flag = 1 A Flag = 10 DHCPv6 DHCPv6 Server Option Managed Configuration (“M”) Flag Option 3: All addressing The autonomous except default gateway address use DHCPv6 they can create an address Address Autoconfiguration (“A”) Flag Prefix in RA can be used for SLAAC 1 1 (default) Yes configuration (A) flag tells hosts that for themselves by combining the prefix Option All addressing in the3:RA with an interface identifier. 1 0 No except default gateway use DHCPv6 © Obtaining an IPv6 Address Automatically © 8.2: Stateless DHCPv6 DHCPv6 Global Unicast Manual Dynamic Stateless Static IPv6 unnumbered Stateful SLAAC DHCPv6 SLAAC + DHCPv6 DHCPv6-PD Similar to IPv4 unnumbered Static + EUI 64 • SLAAC was discussed in Lesson 7. © RA Message Option 1 and 2: Stateless Address Autoconfiguration • DHCPv6 Server does not maintain state of addresses Option 3: Stateful Address Configuration • Address received from DHCPv6 Server Router(config)# ipv6 unicast-routing DHCPv6 Option 1: SLAAC – No DHCPv6 (Default on Cisco routers) DHCPv6 Server “I’m everything you need (Prefix, Prefix-length, Default Gateway)” Option 2: SLAAC + Stateless DHCPv6 for DNS address “Here is my information but you need to get other information such as DNS addresses from a DHCPv6 server.” (DNS can be in RA) RA Option 3: All addressing except default gateway use DHCPv6 “I can’t help you. Ask a DHCPv6 server for all your information.” © Router as a Stateless DHCPv6 Server ICMPv6 Router Solicitation IPv6 Router & DHCPv6 Server 2 • Note: Domain name and DNS • ICMPv6 Router Advertisement Option 2: Stateless DHCPv6 O Flag = 1, M Flag = 0 server list may be included if router (and end system) support RFC 6106 IPv6 RA Options for DNS Configuration. 4 6 1 DHCPv6 SOLICIT To all DHCPv6 Servers 3 INFORMATION REQUEST To all DHCPv6 Servers 5 ADVERTISE Unicast I created my own address (Stateless), and have the default gateway, but I need a DNS address… REPLY Unicast © Setting the Other Configuration Flag G 0/0 ICMPv6 Router Advertisement • • Option 2: Stateless DHCPv6 O Flag = 1, M Flag = 0 Router(config)# interface gigabitethernet 0/0 Router(config-if)# ipv6 nd other-config-flag © SLAAC for Addressing & DNS for Other Information MAC: 00-19-D2-8C-E0-4C 2001:DB8:CAFE:1::/64 RA Message: Stateless DHCPv6 To: 1 2 FF02::1 (All-IPv6 devices) From: FE80::1 (Link-local address) Prefix: 2001:DB8:CAFE:1:: Prefix: 2001:DB8:CAFE:1:: RA Prefix-length: /64 Prefix-length: /64 Default Gateway: FE80::1 Other Configuration Flag: 1 Global Unicast Address: 2001:DB8:CAFE:1:6909:cb1c:36a0:a595 2001:DB8:CAFE:1: + Interface ID DHCPv6 For DNS Stateless DHCPv6 Server 3 EUI-64 Process or Random 64-bit value © Configuring Router as a Stateless DHCPv6 Server IPv6 Router & DHCPv6 Server RA 0=1 DHCPv6 Step 1: Enable IPv6 routing to send ICMPv6 Router Advertisement Router(config)# ipv6 unicast-routing Step 2: Configure “stateless” DHCPv6 and parameters Router(config)# ipv6 dhcp pool pool-name Router(config-dhcpv6)# dns-server dns-server-address Router(config-dhcpv6)# domain-name domain-name No client address information. Step 3: Configure interface: RA message and DHCPv6 server Router(config)# interface type number Router(config-if)# ipv6 nd other-config-flag Router(config-if)# ipv6 dhcp server pool-name © Configuring Router as a Stateless DHCPv6 Server IPv6 Router & DHCPv6 Server G0/0 :1 2001:DB8:CAFE:1/64 RA Message O Flag = 1, M Flag = 0 DNS Server 2001:DB8:CAFE:9::99 DHCPv6 I created my own address (Stateless), and now I need to get a DNS address using stateless DHCPv6. © Configuring Router as a Stateless DHCPv6 Server DNS Server 2001:DB8:CAFE:9::99 G0/0 :1 2001:DB8:CAFE:1/64 RA O=1 DHCPv6 Router(config)# ipv6 unicast-routing Router(config)# ipv6 dhcp pool IPV6-STATELESS Router(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 Router(config-dhcpv6)# domain-name www.example.com Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ipv6 address 2001:DB8:CAFE:1::1/64 Router(config-if)# ipv6 address FE80::1 link-local Router(config-if)# ipv6 nd other-config-flag Router(config-if)# ipv6 dhcp server IPV6-STATELESS © Verifying Stateless DHCPv6 Server Configuration DNS Server 2001:DB8:CAFE:9::99 G0/0 :1 2001:DB8:CAFE:1/64 RA O=1 DHCPv6 PC> ipconfig /all Physical Address. . IPv6 Address. . . . Default Gateway . . DNS Servers . . . . Connection-specific . .: 00-21-9B-88-0E-40 Random 64 bits . .: 2001:db8:cafe:1:6909:cb1c:36a0:a595 . .: fe80::1 . .: 2001:db8:cafe:9::99 DNS Suffix Search List: www.example.com © Verifying Stateless DHCPv6 Server Configuration DNS Server 2001:DB8:CAFE:9::99 G0/0 :1 2001:DB8:CAFE:1/64 RA O=1 DHCPv6 Router# show ipv6 interface gigabitethernet 0/0 GigabitEthernet 0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::1 Global unicast address(es): 2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1::/64 <Output omitted> Hosts use stateless autoconfig for addresses. Hosts use DHCP to obtain other configuration. Router# © 8.3: Stateful DHCPv6 RA Message Option 1 and 2: Stateless Address Autoconfiguration • DHCPv6 Server does not maintain state of addresses Option 3: Stateful Address Configuration • Address received from DHCPv6 Server Router(config)# ipv6 unicast-routing DHCPv6 Option 1: SLAAC – No DHCPv6 (Default on Cisco routers) DHCPv6 Server “I’m everything you need (Prefix, Prefix-length, Default Gateway)” Option 2: SLAAC + Stateless DHCPv6 for DNS address “Here is my information but you need to get other information such as DNS addresses from a DHCPv6 server.” (DNS can be in RA) RA Option 3: All addressing except default gateway use DHCPv6 “I can’t help you. Ask a DHCPv6 server for all your information.” © Router as a Stateful DHCPv6 Server ICMPv6 Router Solicitation IPv6 Router & DHCPv6 Server 2 1 ICMPv6 Router Advertisement • • Option 3: Stateful DHCPv6 O Flag = 0, M Flag = 1 DHCPv6 4 6 SOLICIT To all DHCPv6 Servers 3 REQUEST To all DHCPv6 Servers 5 ADVERTISE Unicast I’m only using the default gateway address from the RA. I need to contact a stateful DHCPv6 server for all my addressing. REPLY Unicast © Setting the Managed Configuration Flag G 0/1 ICMPv6 Router Advertisement • • DHCPv6 DHCPv 6 Server Option 3 Stateful DHCPv6 O Flag = 0, M Flag = 1 Router(config)# interface gigabitethernet 0/1 Router(config-if)# ipv6 nd managed-config-flag © Stateful DHCPv6 without SLAAC G 0/1 ICMPv6 Router Advertisement • • • As a Windows host I will still use the RA prefix to create temporary (SLAAC) addresses) DHCPv6 Option 3 Stateful DHCPv6 O Flag = 0, M Flag = 1 No SLAAC: A Flag = 0 DHCPv 6 Server Router(config)# interface gigabitethernet 0/1 Router(config-if)# ipv6 nd managed-config-flag Router(config-if)# ipv6 nd prefix prefix/length no-autoconfig • • no-autoconfig (Optional) Indicates to hosts on the local link that the specified prefix cannot be used for IPv6 autoconfiguration (SLAAC). The prefix will be advertised with the A-bit clear (autonomous addressconfiguration flag). © As a Windows host I will still use the RA prefix to create temporary (SLAAC) addresses) Stateful DHCPv6 2001:DB8:CAFE:2::/64 RA Message: Stateful DHCPv6 To: 1 2 FF02::1 (All-IPv6 devices) From: FE80::1 (Link-local address) Prefix: 2001:DB8:CAFE:2:: Default Gateway: FE80::1 RA Global Unicast Address: DHCPv6 Prefix-length: /64 Managed Configuration Flag: 1 Autonomous Address Flag: 0 DHCPv6 Stateful DHCPv6 Server © Configuring Router as a Stateful DHCPv6 Server IPv6 Router & DHCPv6 Server RA M = 1 A=1 DHCPv6 Step 1: Enable IPv6 routing to send ICMPv6 Router Advertisement Router(config)# ipv6 unicast-routing Step 2: Configure “stateful” DHCPv6 and parameters Router(config)# ipv6 dhcp pool pool-name Router(config-dhcpv6)# address prefix prefix/length Router(config-dhcpv6)# dns-server dns-server-address Router(config-dhcpv6)# domain-name domain-name Client address information. Step 3: Configure interface: RA message and DHCPv6 server Router(config)# interface type number Router(config-if)# ipv6 nd managed-config-flag Router(config-if)# ipv6 nd prefix prefix/prefix-length no-autoconfig © Router(config-if)# ipv6 dhcp server pool-name Configuring Router as a Stateful DHCPv6 Server DNS Server 2001:DB8:CAFE:9::99 G0/1 :1 2001:DB8:CAFE:2/64 RA M=1 DHCPv6 Router(config)# ipv6 unicast-routing Router(config)# ipv6 dhcp pool IPV6-STATEFUL Router(config-dhcpv6)# address prefix 2001:DB8:CAFE:2:DEED::/80 Router(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 Router(config-dhcpv6)# domain-name www.example.com Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ipv6 address 2001:DB8:CAFE:2::1/64 Router(config-if)# ipv6 address FE80::1 link-local Router(config-if)# ipv6 nd managed-config-flag Router(config-if)# ipv6 dhcp server IPV6-STATEFUL © Including Only Valid Addresses to Be Assigned • With IPv4, a router enabled as a DHCPv4 server we specifically EXCLUDE addresses from being assigned. • All other addresses are INCLUDED as possible assigned addresses. Router-IPV4(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.9 • With IPv6, a router enabled as a DHCPv6 server we specifically INCLUDE addresses to be assigned. • All other addresses are EXCLUDED as possible assigned addresses. • Using the prefix length of the LAN may include the router’s address and other statically assigned addresses. Router(config-dhcpv6)# address prefix 2001:DB8:CAFE:2::/64 Router(config-dhcpv6)# address prefix 2001:DB8:CAFE:2:DEED::/80 © Including Specific Addresses Router(config-dhcpv6)# address prefix 2001:DB8:CAFE:2:DEED::/80 2001:DB8:CAFE:2::/64 2001:DB8:CAFE:2:0:0:0:0 2001:DB8:CAFE:2:FFFF:FFFF:FFFF:FFFF /64 Available addresses for this network /80 2001:DB8:CAFE:2:DEED::/80 2001:DB8:CAFE:2:DEED:0:0:0 2001:DB8:CAFE:2:DEED:0:0:1 2001:DB8:CAFE:2:DEED:0:0:2 INCLUDED assigned addresses will have these 80 bits. . . . All other addresses are EXCLUDED © Verifying Stateful DHCPv6 Server Configuration DNS Server 2001:DB8:CAFE:9::99 G0/1 :1 2001:DB8:CAFE:2/64 RA M=1 DHCPv6 PC> ipconfig /all Physical Address. . IPv6 Address. . . . Default Gateway . . DNS Servers . . . . Connection-specific . .: 00-21-9B-88-0E-40 . .: 2001:db8:cafe:2:deed:2de8:cfd8:5 . .: fe80::1 . .: 2001:db8:cafe:9::99 DNS Suffix Search List: www.example.com © Verifying Stateful DHCPv6 Server Configuration DNS Server 2001:DB8:CAFE:9::99 G0/1 :1 2001:DB8:CAFE:2/64 RA M=1 DHCPv6 Router# show ipv6 interface gigabitethernet 0/1 GigabitEthernet 0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::1 Global unicast address(es): 2001:DB8:CAFE:2::1, subnet is 2001:DB8:CAFE:2::/64 <output omitted> Hosts use DHCP to obtain routable addresses. Router# © Router(config)# ipv6 unicast-routing Router(config)# ipv6 dhcp pool IPV6-STATELESS Router(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 Router(config-dhcpv6)# domain-name www.example.com Stateless and Stateful DHCPv6 Server Router(config)# ipv6 dhcp pool IPV6-STATEFUL Router(config-dhcpv6)# address prefix 2001:DB8:CAFE:2:DEED::/80 Router(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 Router(config-dhcpv6)# domain-name www.example.com Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ipv6 address 2001:DB8:CAFE:2::1/64 Router(config-if)# ipv6 address FE80::1 link-local Router(config-if)# ipv6 nd managed-config-flag Router(config-if)# ipv6 dhcp server IPV6-STATEFUL Stateless G0/1 Stateful Router(config)# interface GigabitEthernet 0/0 Router(config-if)# ipv6 address 2001:DB8:CAFE:1::1/64 Router(config-if)# ipv6 address FE80::1 link-local Router(config-if)# ipv6 nd other-config-flag Router(config-if)# ipv6 dhcp server IPV6-STATELESS G0/0 © 8.4: DHCPv6 Relay Forwarding DHCPv6 Messages G0/0 :1 DHCPv6 Server 2001:DB8:CAFE:9::55 RELAY-FORWARD G0/1 :1 2001:DB8:CAFE:2/64 DHCPv6 Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ipv6 dhcp relay destination ipv6-address [exit-int] Relay agent creates a RELAY-FORWARD message containing the original DHCPv6 message from the client and forwards the message to a server. The ipv6-address can be: • Unicast or multicast IPv6 address • Link-scope: The output interface must be specified for this kind of address. © Forwarding DHCPv6 Messages using unicast G0/0 :1 DHCPv6 Server 2001:DB8:CAFE:9::55 G0/1 :1 2001:DB8:CAFE:2/64 RELAY-FORWARD DHCPv6 To: 2001:DB8:CAFE:9::55 Router(config)# ipv6 unicast-routing Only required if link-local unicast is used Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ipv6 nd managed-config-flag Router(config-if)# ipv6 dhcp relay destination 2001:DB8:CAFE:9::55 g0/0 When the destination of the DHCP server is a global unicast address, no multicast routing is required. © Forwarding DHCPv6 Messages using Multicast G0/0 :1 DHCPv6 Server 2001:DB8:CAFE:9::55 G0/1 :1 2001:DB8:CAFE:2/64 RELAY-FORWARD DHCPv6 To FF05::1:3 All-DHCPv6 Servers Router(config)# ipv6 unicast-routing Router(config)# ipv6 multicast-routing Router(config)# interface GigabitEthernet 0/1 Router(config-if)# ipv6 nd managed-config-flag Router(config-if)# ipv6 dhcp relay destination FF05::1:3 When the destination of the DHCP server is FF05::1:3 (All-DHCPv6 Servers) multicast address, then we need multicast routing enabled for IPv6. © 8.5: DHCPv6 Prefix Delegation Process DHCPv4 and Private Addresses for the Home NAT ISP DHCPv4 G0/1 Public IPv4 Address for the interface G0/1 HOME DHCPv4 G0/0 Private IPv4 Address 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 • ISP only has to deliver a public IPv4 address for Home router interface. • DHCPv4 and RFC 1918 private address space is used for home network. • NAT is used for translation – but has its drawbacks! • No NAT between private-public IPv6 (always in debate) © The World of IPv6 and DHCPv6-PD Complete IPv6 Reachability Delegating Router (DR) ISP-DR Requesting Router (RR) G0/1 G0/1 HOME-RR G0/0 Global IPv6 Address Global IPv6 Address • IPv6 end-to-end reachability: • Home network gets its own IPv6 prefix (public address) • No NAT • Uses DHCPv6-PD (Prefix Delegation) • ISP router is known as the Delegating Router (DR) • HOME router is known as the Requesting Router (RR) © HOME Router’s ISP Facing Interface Delegating Router (DR) ISP-DR Requesting Router (RR) G0/1 IPv6 Address for the interface: • SLAAC • DHCPv6 (Stateful or Stateless) G0/1 HOME-RR G0/0 ? • First, HOME’s ISP facing interface needs an IPv6 address. • Similar to any IPv6 client it may dynamically get an address using: • SLAAC - Using prefix in RA • Stateless DHCPv6 – SLAAC but DHCPv6 for DNS address • Stateful DHCPv6 - Like DHCPv4 • What about the address for the HOME LAN? © DHCPv6-PD Steps Overview Delegating Router (DR) ISP-DR Requesting Router (RR) G0/1 G0/1 HOME-RR G0/0 Global IPv6 Address Global IPv6 Address HOME-RR first gets an IPv6 address on its ISP-facing interface, then: • Step 1: Request a Prefix for its LAN(s) • Step 2: Subnet the prefix for its LANs (optional) – Get a /48 but assign /64s • Step 3: Assign an IPv6 address from the prefix to its LAN interface Advertises the prefix in a Router Advertisement to devices on the LAN © DHCPv6 Steps 1 and 2 Delegating Router (DR) ISP-DR Requesting Router (RR) G0/1 G0/1 HOME-RR G0/0 DHCPv6-PD REQUEST 2 1 G0/2 DHCPv6-PD REPLY with /48 prefix Step 1. HOME asks the ISP for an address to allocate for it’s LANs • DHCPv6-PD is initiated by the RR Step 2. ISP delegates an IPv6 prefix for HOME • Example: ISP sends HOME a /48 prefix © DHCPv6 Step 3 Delegating Router (DR) ISP-DR 2 Requesting Router (RR) 3 RA RA with with /64 prefix prefix G0/1 HOME-RR G0/0 3 G0/2 1 DHCPv6-PD REQUEST G0/1 DHCPv6-PD REPLY with /48 prefix Step 3. HOME advertises prefix using SLAAC RA messages (currently only option) • HOME assigns an address from the prefix to its LAN interface and… advertises the prefix out its interface using ICMPv6 RA messages • HOME assigns the prefix or subnets of the prefix to one or more interfaces • Example: HOME interfaces are assigned /64 subnets from the /48 prefix © 8.6: DHCPv6-PD Configuration Example Our Example 2001:DB8:FEED:6::/64 G0/1 ISP-DR SLAAC 2001:DB8:AB00:1::/64 G0/0 G0/1 EUI-64 HOME-RR :1 Router Advertisement 2001:DB8:FEED:6::/64 SLAAC DHCPv6-PD • • • • • Prefix Delegation for the HOME 2001:DB8:AB00:/48 Router Advertisement 2001:DB8:AB00:1::/64 HOME’s G0/1 interface gets an address using SLAAC ISP delegates 2001:DB8:AB00::/48 prefix to HOME for its LANs using DHCP-PD HOME will use the 2001:DB8:AB00:1::/64 subnet for its G0/0 LAN. Assign :1 to the G0/0 interface HOME will send 2001:DB8:AB00:1::/64 prefix and other information in RA. © Another Look at the Process ICMPv6 Router Solicitation ICMPv6 Router Advertisement G0/1 Other options are Stateless and Stateful DHCPv6 G0/0 G0/1 EUI-64 HOME-RR :1 ISP-DR SOLICIT: Prefix Delegation request RR must be enabled with the PD option ADVERTISE DHCPv6-PD REQUEST REPLY: Include Prefix SLAAC ICMPv6 Router Advertisement (RA) © HOME-RR Configuration (1 of 2) G0/1 ISP-DR G0/0 G0/1 EUI-64 HOME-RR Router Solicitation Router Advertisement DHCPv6-PD Request HOME(config)# ipv6 unicast-routing HOME(config)# interface gig 0/1 HOME(config-if)# ipv6 address autoconfig default HOME(config-if)# ipv6 dhcp client pd DHCPV6-PREFIX-FROM-ISP ! Required to send RA ! for LAN (next slide) ! Use RA & add default ! Request DHCPv6-PD HOME(config)# interface gig 0/0 HOME(config-if)# ipv6 address DHCPV6-PREFIX-FROM-ISP 0:0:0:1::1/64 ! Next slide © HOME-RR Configuration (2 of 2) G0/1 ISP-DR 2001:DB8:AB00:1::/64 G0/0 G0/1 EUI-64 HOME-RR ::1 DHCPv6-PD Request Router Advertisement DHCPv6-PD Reply 2001:DB8:AB00:1::/64 2001:DB8:AB00::/48 HOME(config)# ipv6 unicast-routing ! Required to send RA ! for LAN (next slide) HOME(config)# interface gig 0/1 HOME(config-if)# ipv6 address autoconfig default HOME(config-if)# ipv6 dhcp client pd DHCPV6-PREFIX-FROM-ISP ! Use RA & add default ! Request DHCPv6-PD Prefix Length HOME(config)# interface gig 0/0 HOME(config-if)# ipv6 address DHCPV6-PREFIX-FROM-ISP 0:0:0:1::1/64 ! For RA First 48 bits uses prefix in DHCPv6-PD 2001:DB8:AB00:: Subnet-ID Interface ID © ISP-DR Configuration (1 of 2) ISP-DR DNS Server 2001:DB8:FEED:6::/64 G0/1 G0/0 G0/1 RA EUI-64 HOME-RR DHCPv6-PD Request DHCPv6-PD Reply 2001:DB8:AB00::/48 2001:DB8:AB00::/48 ISP(config)# ipv6 unicast-routing ISP(config)# interface gig 0/1 ISP(config-if)# ipv6 address 2001:db8:feed:6::1/64 ISP(config-if)# ipv6 address fe80::feed:1 link-local ISP(config-if)# ipv6 dhcp server DHCPV6-CLIENT-ADDRESS ISP(config)# ipv6 dhcp pool DHCPV6-CLIENT-ADDRESS ISP(config-dhcpv6)# prefix-delegation pool DHCPV6-PD-POOL ISP(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 ISP(config-dhcpv6)# domain-name example.com ISP(config)# ipv6 local pool DHCPV6-PD-POOL 2001:DB8:AB00::/40 48 © ISP-DR Configuration (2 of 2) ISP-DR 2001:DB8:FEED:6::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR 2001:DB8:AB00::/40 2001:DB8:AB00::/48 2001:DB8:AB01::/48 2001:DB8:AB02::/48 … 2001:DB8:ABFF::/48 DHCPv6-PD Reply 2001:DB8:AB00::/48 ISP(config)# ipv6 dhcp pool DHCPV6-CLIENT-ADDRESS ISP(config-dhcpv6)# prefix-delegation pool DHCPV6-PD-POOL ISP(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 ISP(config-dhcpv6)# domain-name example.com From the /40 each DHCPv6PD client will get a /48 ISP(config)# ipv6 local pool DHCPV6-PD-POOL 2001:DB8:AB00::/40 48 Reserve a /40 to allocate addresses for ISP’s DHCPv6-PD clients 2001:DB8:ABxx::/40 ! PD pool © HOME-RR Applies DHCPv6-PD Information on G0/0 ISP-DR 2001:DB8:FEED:6::/64 2001:DB8:AB00:1::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR ::1 DHCPv6-PD Reply 2001:DB8:AB00::/48 Router Advertisement 2001:DB8:AB00:1::/64 Prefix ipv6 address DHCPV6-PREFIX-FROM-ISP 0:0:0:1::1/64 First 48 bits uses prefix in DHCPv6-PD 2001:DB8:AB00:: Subnet-ID Interface ID ISP(config)# ipv6 dhcp pool DHCPV6-CLIENT-ADDRESS ISP(config-dhcpv6)# prefix-delegation pool DHCPV6-PD-POOL ISP(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 ISP(config)# ipv6 local pool DHCPV6-PD-POOL 2001:DB8:AB00::/40 48 ! PD pool © 8.7: Verifying DHCPv6-PD Verifying ISP-DR DHCPv6 Pool ISP-DR 2001:DB8:FEED:6::/64 2001:DB8:AB00:1::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR ::1 ISP# show ipv6 dhcp interface gig 0/1 GigabitEthernet0/1 is in server mode Using pool: DHCPV6-CLIENT-ADDRESS Preference value: 0 Hint from client: ignored Rapid-Commit: disabled ISP# ISP(config)# interface gig 0/1 ISP(config-if)# ipv6 dhcp server DHCPV6-CLIENT-ADDRESS ISP(config)# ipv6 dhcp pool DHCPV6-CLIENT-ADDRESS ISP(config-dhcpv6)# prefix-delegation pool DHCPV6-PD-POOL ISP(config-dhcpv6)# dns-server 2001:DB8:CAFE:9::99 ISP(config)# ipv6 local pool DHCPV6-PD-POOL 2001:DB8:AB00::/40 48 © Verifying ISP-DR DHCPv6 Pool Information ISP-DR 2001:DB8:FEED:6::/64 2001:DB8:AB00:1::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR ::1 ISP# show ipv6 local pool DHCPV6-PD-POOL Prefix is 2001:DB8:AB00::/40 assign /48 prefix 1 entries in use, 255 available, 0 rejected 0 entries cached, 1000 maximum User Prefix Interface 00030001885A923B29E000040001 2001:DB8:AB00::/48 ISP# Reserve a /40 to allocate addresses for ISP’s DHCPv6PD clients 2001:DB8:ABxx::/40 From the /40 each DHCPv6PD client will get a /48 ISP(config)# ipv6 local pool DHCPV6-PD-POOL 2001:DB8:AB00::/40 48 © Verifying HOME-RR Addresses ISP-DR 2001:DB8:FEED:6::/64 2001:DB8:AB00:1::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR ::1 HOME# show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::1 DHCPv6-PD 2001:DB8:AB00:1::1 GigabitEthernet0/1 [up/up] FE80::8A5A:92FF:FE3B:29E1 SLAAC 2001:DB8:FEED:6:8A5A:92FF:FE3B:29E1 HOME-RR# HOME(config)# ipv6 unicast-routing HOME(config)# interface gig 0/1 HOME(config-if)# ipv6 address autoconfig default HOME(config-if)# ipv6 dhcp client pd DHCPV6-PREFIX-FROM-ISP HOME(config)# interface gig 0/0 HOME(config-if)# ipv6 address DHCPV6-PREFIX-FROM-ISP 0:0:0:1::1/64 © Verifying HOME-RR Addresses ISP-DR 2001:DB8:FEED:6::/64 2001:DB8:AB00:1::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR ::1 Router Advertisement HOME# show ipv6 interface gig 0/0 2001:DB8:AB00:1::/64 GigabitEthernet0/0 is up, line protocol is up General-prefix in use for addressing Global unicast address(es): 2001:DB8:AB00:1::1, subnet is 2001:DB8:AB00:1::/64 [CAL/PRE] <Output ommited> Hosts use stateless autoconfig for addresses. HOME# HOME(config)# ipv6 unicast-routing HOME(config)# interface gig 0/1 HOME(config-if)# ipv6 address autoconfig default HOME(config-if)# ipv6 dhcp client pd DHCPV6-PREFIX-FROM-ISP HOME(config)# interface gig 0/0 HOME(config-if)# ipv6 address DHCPV6-PREFIX-FROM-ISP 0:0:0:1::1/64 © Verifying HOME-RR Routing Table 2001:DB8:FEED:6::/64 2001:DB8:AB00:1::/64 G0/1 G0/0 G0/1 EUI-64 HOME-RR ::1 ISP-DR Default Route HOME# show ipv6 route X 2001:DB8:AB00::/48 IPv6 Routing Table - default - 7 entries Codes: ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr – Redirect ND ::/0 [2/0] via FE80::FEED:1, GigabitEthernet0/1 S 2001:DB8:AB00::/48 [1/0] via Null0, directly connected <Output omitted> HOME(config)# ipv6 unicast-routing HOME# HOME(config)# interface gig 0/1 HOME(config-if)# ipv6 address autoconfig default HOME(config-if)# ipv6 dhcp client pd DHCPV6-PREFIX-FROM-ISP HOME(config)# interface gig 0/0 HOME(config-if)# ipv6 address DHCPV6-PREFIX-FROM-ISP 0:0:0:1::1/64 © For more information please check out my Cisco Press book and video series: IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6 • By Rick Graziani • ISBN-10: 1-58714-313-5 IPv6 Fundamentals LiveLessons: A Straightforward Approach to Understanding IPv6 • By Rick Graziani • ISBN-10: 1-58720-457-6 © 8: DHCPv6 (Dynamic Host Configuration Protocol for IPv6) Rick Graziani Cabrillo College Rick.Graziani@cabrillo.edu