cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3741
Views
5
Helpful
3
Replies

IPv6 DHCP Issue

petenixon
Level 3
Level 3

Hi all,

Looking for some input on a (possible) IPv6 DHCP issue. I have configured an ASR1001 for IPv6 addressing:

ipv6 unicast-routing
!
ipv6 dhcp pool TEST-POOL
 address prefix 2001:1111:1000::/64 lifetime infinite infinite
 link-address 2001:1111:1000::1/64
 dns-server 2001:4860::8888
 dns-server 2001:4860::8844
 domain-name ph.rc
!
interface GigabitEthernet0/0/0 (connected to a layer 2 switch)
 no ip address
 negotiation auto
 ipv6 address 2001:1111:1000::1/64
 ipv6 enable
 ipv6 dhcp server TEST-POOL

My client machine is able to lease an address and ping the gateway address assigned to Gi0/0/0:

C:\Users\pni1>ipconfig

Windows IP Configuration


Ethernet adapter Local Area Connection:


   IPv6 Address. . . . . . . . . . . : 2001:1111:1000:0:1926:a07a:25c5:a974
   Temporary IPv6 Address. . . . . . : 2001:1111:1000:0:d4b8:8096:700a:bd48
   Link-local IPv6 Address . . . . . : fe80::1926:a07a:25c5:a974%12
   Default Gateway . . . . . . . . . : fe80::fa72:eaff:fe79:f700%12


C:\Users\pni1>ping 2001:1111:1000::1

Pinging 2001:1111:1000::1 with 32 bytes of data:
Reply from 2001:1111:1000::1: time=2ms
Reply from 2001:1111:1000::1: time<1ms
Reply from 2001:1111:1000::1: time<1ms
Reply from 2001:1111:1000::1: time<1ms

Ping statistics for 2001:1111:1000::1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 2ms, Average = 0ms

 

The questions/issues I have are that the router shows no active clients for the TEST DHCP pool, the NIC on the client has a temporary IPv6, and the link-local address and gateway on the client include a modulus in the address (which definitely threw me!).

Any insights would be much appreciated.

Thanks.

 

1 Accepted Solution

Accepted Solutions

What is your windows client?  XP didn't support DHCPv6, for example. 

I haven't played with DHCPv6 much, so I'm not sure where the regular IPv6 address came from, SLAAC or DHCPv6.  It doesn't have the EUI-64 mapped format (ethernet mac, with global/local bit flipped and "fffe" in the middle) one might expect from SLAAC.  The temporary address is windows default behavior in the presence of SLAAC addresses; it defaults to trying to keep the NIC's MAC address private.

The "%12" thing on the link-local fe80::/64 addresses is the so-called "zone" indication; since all interfaces with IPv6 on them have link-local addresses on them, one can't choose an interface for a link-local address based on the routing table.  So it has to be explicitly marked.  Windows numbers the interfaces (compare the output of "route print" with the output of "ipconfig /all").  Linux uses the interface names, e.g. "fe80::fa72:eaff:fe79:f700%eth0".   I'm not sure what Mac OS-X and BSD do.

Don't forget that in IPv6 the client DHCPv6 behaviors are controlled by flags in the ICMPv6 router advertisements.  You might have to set some of those explicitly in addition to defining the DHCP address pool.

-- Jim Leinweber, WI State Lab of Hygiene

View solution in original post

3 Replies 3

petenixon
Level 3
Level 3

The client issues look like a windows thing, as they are no longer showing and the debug output shows a valid lease!

What is your windows client?  XP didn't support DHCPv6, for example. 

I haven't played with DHCPv6 much, so I'm not sure where the regular IPv6 address came from, SLAAC or DHCPv6.  It doesn't have the EUI-64 mapped format (ethernet mac, with global/local bit flipped and "fffe" in the middle) one might expect from SLAAC.  The temporary address is windows default behavior in the presence of SLAAC addresses; it defaults to trying to keep the NIC's MAC address private.

The "%12" thing on the link-local fe80::/64 addresses is the so-called "zone" indication; since all interfaces with IPv6 on them have link-local addresses on them, one can't choose an interface for a link-local address based on the routing table.  So it has to be explicitly marked.  Windows numbers the interfaces (compare the output of "route print" with the output of "ipconfig /all").  Linux uses the interface names, e.g. "fe80::fa72:eaff:fe79:f700%eth0".   I'm not sure what Mac OS-X and BSD do.

Don't forget that in IPv6 the client DHCPv6 behaviors are controlled by flags in the ICMPv6 router advertisements.  You might have to set some of those explicitly in addition to defining the DHCP address pool.

-- Jim Leinweber, WI State Lab of Hygiene

Indeed as Jim points out you'd need to setup the managed and other flags in the ra out your g0/0/0 interface.  Also you probably want to not send out your prefix in the pio option in the ra to avoid slaac altogether. I believe this is 'ipv6 default prefix no-advertise' but I'm on a mobile device so apologies for a fast reply.

hope this is helpful

 

mark