Oct
15

This post helps to celebrate the upcoming 3-Day IPv6 Bootcamp here at INE.

We always hear much excitement regarding the stateless address autoconfiguration capability in IPv6, but we never seem to get to see it in action. And also, we realize that one router can provide another with the address information it needs, but what about things like DNS server information? In this demonstration I will show how the stateless autoconfiguration can be setup, as well as a nifty stateless DHCPv6 implementation that can assist with the other configuration information.

For this demonstration, I just fired up two routers in Dynamips (R1 and R2) and connected them via their respective Fa0/0 interfaces. R1 will be our "server" and R2 will be our dependent little "client". Let us start at the server and ensure it is configured for the IPv6 stateless address autoconfiguration part.

R1# conf t
R1(config)# ipv6 unicast-routing
R1(config)# int fa0/0
R1(config-if)# no shut
R1(config-if)# ipv6 address 2001:1212::/64 eui-64
R1(config-if)# ipv6 nd prefix 2001:1212::/64
R1(config-if)# no ipv6 nd suppress-ra

Simple stuff - notice that we are leveraging the Neighbor Discovery process of IPv6 in order to provide the prefix for autoconfiguration to the link. Notice also how we have to unsuppress the sending of Router Advertisements on the link.

Now we head over to the client device:

R2# conf t
R2(config)# int fa0/0
R2(config-if)# no shut
R2(config-if)# ipv6 address autoconfig
R2(config-if)# do show ipv6 int fa0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C001:7FF:FEDA:0
Global unicast address(es):
2001:1212::C001:7FF:FEDA:0, subnet is 2001:1212::/64 [PRE]
valid lifetime 2591911 preferred lifetime 604711
Joined group address(es):
FF02::1
FF02::2
FF02::1:FFDA:0
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
Default router is FE80::C000:7FF:FEDA:0 on FastEthernet0/0

How about that! One command - ipv6 address autoconfig - and the client autoconfigures its link-local and global unicast addresses. But now we want to have R1 provide R2 with its DNS server address and domain name. To do this, we will configure stateless DHCPv6.

R1# conf t
R1(config)# ipv6 dhcp pool DHCP_POOL
R1(config-dhcp)# dns-server 2001:1212::100
R1(config-dhcp)# domain-name ine.com
R1(config-dhcp)# int fa0/0
R1(config-if)# ipv6 dhcp server DHCP_POOL
R1(config-if)# ipv6 nd other-config-flag

Notice the key ND command here instructing that autoconfiguration process that there is additional configuration to obtain. What is there to do on the client device? Nothing! That is the whole point. :-) Let's verify this actually worked at the client, however:

R2# show ipv6 dhcp int fa0/0
FastEthernet0/0 is in client mode
State is IDLE
List of known servers:
Reachable via address: 2001:1212::C000:7FF:FEDA:0
DUID: 00030001C20007DA0000
Preference: 0
Configuration parameters:
DNS server: 2001:1212::100
Domain name: ine.com
Rapid-Commit: disabled

I hope you enjoyed this preview from the course.

R1(config-if)#R1(config-if)#no ipv6 nd suppress-raEnter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int fa0/0
R1(config-if)#ipv6 address 2001:1212::/64 eui-R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int fa0/0
R1(config-if)#ipv6 address 2001:1212::/64 eui-64
INE Instructor
About INE Instructor

Subscribe to INE Blog Updates

New Blog Posts!