Stateful DHCPv6 Prefix delegation (Rapid-commit) [4/4]
January 18, 2012 4 Comments
Picture1: DHCPv6 prefix delegation topology
R1 configuration [> 12.4(24) T]:
Prefix delegation gives the possibility to centrally control IPv6 addresses used in remote sites.
Router R1 acts as the primary DHCPv6 server for the client router R2, which in turn acts as DHCP server for final clients.
For example R1 can be a service provider MPLS PE (Provider Edge) router, R2 a client CPE (Customer Premise Equipment) router and final DHCP clients (router R3 in our case).
R1 controls which prefix pools to delegate to a remote router after matching the configured client DUID (in our case 00030001CA02188C0008) present in the SOLLICIT message received from the client.
R1:
ipv6 dhcp pool PDCONF
|
The DHCPv6 server functionality is enabled on the interface fa0/0 facing R2, the intermediate server that will receive the delegated prefix 2001:DB8:23::/48.
interface FastEthernet0/0 ipv6 address 2001:DB8:12::1/64
|
R2 configuration [> 12.4(24) T]:
Router R2 interfacefa0/0, facing the DHCPv6 server R1, acts as DHCPv6 client
interface FastEthernet0/0 ipv6 address 2001:DB8:12::2/64 ipv6 enable
|
Router R2 interface fa0/1, facing the client R3, acts as a gateway router by announcing addresses from the delegated pool after assigning an interface ID to itself first, in this case (::2).
interface FastEthernet0/1
ipv6 enable |
And the client receives a prefix through SLAAC Router Advertisement.
R3:
interface FastEthernet0/0
ipv6 enable |
R3(config-if)#do sh ipv6 interface brief FastEthernet0/0 [up/up] FE80::C800:1AFF:FECC:8
… R3(config-if)# |
Verification:
R1 (Server):
R1#sh ipv6 dhcp pool DHCPv6 pool: PDCONF Static bindings: Binding for client 00030001CA021FF80008 IA PD: IA ID not specified; being used by 00040001
preferred lifetime 604800, valid lifetime 2592000
R1# |
The PDCONF pool is delegated to the client with the id=00030001CA021FF80008
R1#sh ipv6 dhcp interface FastEthernet0/0 is in server mode Using pool: PDCONF Preference value: 0 Hint from client: ignored Rapid-Commit: enabled R1# |
R2 (intermediate client/server) before delegation:
R2#sh ipv6 dhcp interface FastEthernet0/0 is in client mode Prefix State is SOLICIT (7) Retransmission timer expires in 00:00:42 Address State is IDLE Prefix Rapid-Commit: enabled Address Rapid-Commit: disabled FastEthernet0/1 is in server mode Using pool: PDCONF Preference value: 0 Hint from client: ignored Rapid-Commit: enabled R2# |
R2 (intermediate client/server) after delegation:
R2#sh ipv6 dhcp int FastEthernet0/0 is in client mode
Renew will be sent in 3d11h Address State is IDLE List of known servers: Reachable via address: FE80::C803:CFF:FEBC:8
Preference: 0 Configuration parameters: IA PD: IA ID 0x00040001, T1 302400, T2 483840
preferred lifetime 604800, valid lifetime 2592000 expires at Dec 10 2011 02:58 AM (2591829 seconds)
Information refresh time: 0
Prefix Rapid-Commit: enabled Address Rapid-Commit: disabled FastEthernet0/1 is in server mode Using pool: PDCONF Preference value: 0 Hint from client: ignored Rapid-Commit: enabled R2# |
Picture2: DHCP SOLLICIT sent by R2 to R1
DHCPv6 server responding to R2 SOLLICIT
R1(config-dhcpv6)# *Nov 10 02:58:18.579: IPv6 DHCP: Received SOLICIT from FE80::C802:1FFF:FEF8:8 on FastEthernet0/0 *Nov 10 02:58:18.583: IPv6 DHCP: Using interface pool PDCONF *Nov 10 02:58:18.583: IPv6 DHCP: Creating binding for FE80::C802:1FFF:FEF8:8 in pool PDCONF *Nov 10 02:58:18.583: IPv6 DHCP: Allocating IA_PD 00040001 in binding for FE80::C802:1FFF:FEF8:8 *Nov 10 02:58:18.587: IPv6 DHCP: Allocating prefix 2001:DB8:23::/48 in binding for FE80::C802:1FFF:FEF8:8, IAID 00040001 *Nov 10 02:58:18.591: IPv6 DHCP: Sending REPLY to FE80::C802:1FFF:FEF8:8 on FastEthernet0/0 R1(config-dhcpv6)# |
Picture3: DHCP REPLY sent by R1 (the delegating server) to R2
About DUID (DHCP Unique Identifier)
DUID uniquely identifies the pair (client, server), it is based on the client and the server link-local address and the lowest numbered interface MAC.
DUID which remains the same across reboots.
rfc3315:
"DHCP clients use DUIDs to identify a server in messages where a server needs to be identified." "The DUID is designed to be unique across all DHCP clients and servers, and stable for any specific client or |
R1: DUID on DHCPv6 server role
R1#sh ipv6 dhcp This device’s DHCPv6 unique identifier(DUID): 00030001CA030CBC0008 R1# sh ipv6 interface brief FastEthernet0/0 [up/up] FE80::C803:CFF:FEBC:8 2001:DB8:12::1 … R1# |
R2: DUID on DHCPv6 client/server role
R2#sh ipv6 dhcp This device’s DHCPv6 unique identifier(DUID): 00030001CA021FF80008 R2# R2#sh ipv6 interface brief FastEthernet0/0 [up/up] FE80::C802:1FFF:FEF8:8 2001:DB8:12::2 … R2# |
Pingback: IOS DHCPv6 deployment schemes « CCIE, the beginning!
Hey your post are unbelievable!!!!! Please don’ t stop to create them. I think you could do an e-book with all your best sample.
Ale
Thank you Ale for your encouragments, glad to be of help.
Great post, thanks. Does the command: prefix-delegation 2001:DB8:23::/48 00030001CA02188C0008 refer to R1 or the client router?