Back in 2003, aside from messing with wireless networks, I starting really working with IPv6 in its full form (Watch for NS in the IPv6 server list here soon). At the same time, I was studying for my CCNA, and decided that every piece of hardware in my house needed to be running IPv6. In the process, I came up with another tutorial that was on the old site, teaching how to setup IPv6 on a Cisco router.

Setting up a Cisco for IPv6 is not as hard as most would think. It’s actually quite a simple task.
First off you need a Cisco IOS that supports IPv6. Such Ciscos IOSes include 12.2(14), 12.3,
12.3(4), and 12.3(5).Next we’ll start the IPv6 services.

router(config)# ip cef
router(config)# ipv6 cef
router(config)# ipv6 unicast-routing

Cef, is the Cisco Express Forwarding option that is used with IPv4 and IPv6. If the IPv4 command
is not executed, it will not allow the IPv6 option to work. Unicast-routing allows IPv6 to be sent.

Next, we need to start configuring the interfaces. Let’s use a /48 address of 3ffe:ea2:cf41:: for our
network. We will also use two routers. The link between both routers will be Serial 0, and the
outbound interfaces will br ethernet0/0.

router1(config)# int e0/0
router1(config-if)# ipv6 address 3ffe:ea2:cf41:a1::2/128
router1(config-if)# int s0
router1(config-if)# ipv6 address 3ffe:ea2:cf41:a2::1/128

router2(config)# int e0/0
router2(config-if)# ipv6 address 3ffe:ea2:cf41:a3::1/128
router2(config-if)# int s0
router2(config-if)# ipv6 address 3ffe:ea2:cf41:a2::2/128

Now that we have setup our addresses let’s view the networks we have made.

router1:
ethernet0/0 3ffe:ea2:cf41:a1::2
network 3ffe:ea2:cf41:a1::
serial0: 3ffe:ea2:cf41:a2::1
network 3ffe:ea2:cf41:a2::

router2:
ethernet0/0 3ffe:ea2:cf41:a3::1
network 3ffe:ea2:cf41:a3::
serial0 3ffe:ea2:cf41:a2::2
network 3ffe:ea2:cf41:a2::

As you can see from the 4th word of the IP, each interface is on a seperate network from the
others on each router. Both serial ports are configured on the same network since they are
connected together. Let continue on by making our routes.

router1(config)# ipv6 route 3ffe:ea2:cf41:a3::/64 serial 0

router2(config)# ipv6 route 3ffe:ea2:cf41:a1::/64 serial 0

From this we accomplished giving both routers communication through the serial link. Try
pinging on of the interfaces from the opposing router.

router1# ping 3ffe:ea2:cf41:a3::1

If you cannot ping always check your routes to make sure they are directed correctly.
Remember, the route could be wrong on either end. If both side do not have routes to
each other, they will not communicate.

router# sh ipv6 route

If you cannot ping a certain host, you might have to add a static route to the host.

router1(config)# ipv6 route 3ffe:ea2:cf41:a3::cb3/128 serial 0

If you can ping from one side to the other, you are ready to add hosts, VLANs, and various
other devices.