Saturday, December 1, 2007

Starting with IPv6 on Cisco Routers

Well, for years we have hearing many voices shouting "IPv4 is ending!!!" or "We are gonna run out of IPs next year or year ____" whatever the prediction of that year was.
For the first time, this year, I do believe in their prediction. It has been predicted that by 2010 - 2012 we are going to run out of IPs. Actually, there is a very interesting "count down" at the Take a look at it. At the time of this writing the counter says we have 1357 Days, 00 Hours, 57 Minutes, 27 Seconds to dooms-day. (Well, not in those words.)

The 2008 is the year when the DoD expect to move all their infrastructure to pure IPv6 and they are forcing for all of their subcontractor to do the same. This will be a very good incentive for the further development of IPv6.

In my opinion, carriers will be the first one transitioning to IPv6 and the private enterprises the last ones. There are many reasons for this but I'm not getting into that.

Now, this should be a "Tip" or "Mini HowTo", so lets get started. (I'm not going to explain all the theory of IPv6 numbering or so on, this is a simple how-to.)

Lets say you want to start experimenting with IPv6. I'm pretty sure you won't be able to deploy full IPv6 on your network from day one. Right now, many IPv6 supporters are offering free IPv6 peering options over tunnels. So, the first step is to get IPv6 into your network over a tunnel. Since we are talking about Cisco, we are talking about a GRE type tunnel. These are widely supported at the IPv6 community.

For this particular scenario I will assume the IPv6 will be done over an IPv4 tunnel. The "diagram" of this deployment will look something like this:

[LAN] --- (R1) ----(Internet IPv4 and Internet IPv6)

R1 Loopback0:
v6 Provider:

The first step is to enable IPv6 routing in your router. This is disable by default. The command is quite simple:

ipv6 unicast-routing

Then enable the tunnel interface and assign your IPv6 point-to-point address to it. I will assume a /64 even when you will normally see a /127 or /128 for this.

interface tunnel0
tunnel source
tunnel destination
tunnel mode ipv6ip
ipv6 address 2000:1:1:1::2/64 !Assume this is your assigned address

At this point you should be able to ping the other side over IPv6. The ping command is the same except you have to specify the address family. Here is an actual output from my lab:

R1#ping ipv6 2000:1:1:1::1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2000:1:1:1::1, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

Well, that's it. We have IPv6 to our router. But probably you want IPv6 to your workstations! No? What good is to have IPv6 to the router if we can not use it in our network. So, lets add a network to the LAN and configure static routing. Here we have two options: having a static IPv6 address and/or Local-Link address or have them automatically generated based on our ipv6 network configuration at the interface. Since, both, the Local-Link and the IPv6 address, can be dynamic or static, lets configure one interface with all static and other all dynamic.

interface FastEthernet 0/0
description LAN with static pre-assigned address
ipv6 address 2000:10:10:10::1/64
ipv6 address FE80::100 link-local

interface FastEthernet 0/1
description LAN with automatically generated address
ipv6 address 2000:20:20:20::/64 eui-64

As you may notice, the F0/1 will generate its IPv6 address based on the funny mac-address calculation while F0/0 was pre-assigned an address. The local-link was specified in F0/0 while in F0/1 it was left to be auto-generated based on the eui-64.

Now the last part. Lets route this addresses with static-routing. Meaning, a default. Well, the super command:

ipv6 route ::/0 2000:1:1:1::1

Done. We have a default static route and assuming the other site has a static route to our networks we should have full IPv6 connectivity.

In the next IPv6 posting I will disccuse some dynamic routing options.

Have fun with IPv6.


  1. I learned a lot from the insight you shared here. It's good to learn more about this topic, and if you have some free time or you're curious about some celebrity basic information, you can visit celebrity heights and search for it.

  2. Do you need a Online Essays Help? Hire us and get affordable papers written by experts.