08 October 2010

Configuring Cisco Routers with IPv6

Basic IPv6 Cisco Router Commands

(config-if)#ipv6 address mask
Configures a router interface with the IPv6 routed protocol

To enable IPv6 on a router, you have to use the ipv6 unicast-routing
global configuration command:
RO(config)#ipv6 unicast-routing

By default, IPv6 traffic forwarding is disabled, so using this command enables it. Also, as you’ve probably guessed, IPv6 isn’t enabled by default on any interfaces either, so we have to go to each interface individually and enable it.

You can do this in a few different ways, but a really easy way is to just add an address to the interface. You use the interface configuration command ipv6 address / [eui-64] to get this done.

Here’s an example:
RO(config-if)#ipv6 address 2001:db8:3c4d:1:0260.d6FF.FE73.1987/64

You can specify the entire 128-bit global IPv6 address, or you can use the eui-64 option. Remember, the eui-64 format allows the device to use its MAC address and pad it to make the interface ID. Check it out:

RO(config-if)#ipv6 address 2001:db8:3c4d:1::/64 eui-64

As an alternative to typing an IPv6 address on a router, you can enable the interface instead to permit the application of an automatic link-local address. To configure a router so that it uses only link-local addresses, use the ipv6 enable interface configuration command:

RO(config-if)#ipv6 enable


Migrating to IPv6

IPv6 Tunnel Commands

(config)#ipv6 unicast-routing
Enables IPv6 on the router

(config)#interface interface
Chooses your first interface

(config-if)#ipv6 address ipv6_address mask
Sets the IPv6 address on the interface

(config-if)#ip address ip_address mask
Sets the IP address on the interface

(config)#int tunnel 0
Chooses the tunnel interface

(config-if)#ipv6 address ipv6_address
Sets the IPv6 address on the tunnel

(config-if)#tunnel source ip address
Sets the source IP address

(config-if)#tunnel destination ip_address
Sets the destination IP address

(config-if)#tunnel mode ipv6ip
Configures the tunnel mode to be used

Here I´ll show you two of the primary transition strategies
available to you:

The first is called dual stacking, which allows a device to have both the IPv4 and IPv6 protocol stack running so it’s capable of continuing with its existing communications and simultaneously run newer IPv6 communications as they’re implemented.

The next strategy is the 6to4 tunneling approach; this is your choice if you have an all-IPv6 network that must communicate over an IPv4 network to reach another IPv6 network.

Dual Stacking

Dual stacking is the most common type of migration strategy because, well, it’s the easiest on you—it allows your devices to communicate using either IPv4 or IPv6.

It’ll look something like this:

RO(config)#ipv6 unicast-routing
RO(config)#interface fastethernet 0/0
RO(config-if)#ipv6 address 2001:db8:3c4d:1::/64 eui-64
RO(config-if)#ip address 192.168.255.1 255.255.255.0

It’s really a good idea to understand the various tunneling techniques because it’ll probably be a while before we all start running IPv6 as a solo routed protocol.

6to4 Tunneling

6to4 tunneling is really useful for carrying IPv6 data over a network that’s still IPv4. It’s quite possible that you’ll have IPv6 subnets or other portions of your network that are all IPv6, and those networks will have to communicate
with each other.














Tunnels are pretty simple—you just have to tell each router where the tunnel begins and where you want it to end. Here’s an example:

Router1(config)#int tunnel 0
Router1(config-if)#ipv6 address 2001:db8:1:1::1/64
Router1(config-if)#tunnel source 192.168.30.1
Router1(config-if)#tunnel destination 192.168.40.1
Router1(config-if)#tunnel mode ipv6ip

and

Router2(config)#int tunnel 0
Router2(config-if)#ipv6 address 2001:db8:2:2::1/64
Router2(config-if)#tunnel source 192.168.40.1
Router2(config-if)#tunnel destination 192.168.30.1
Router2(config-if)#tunnel mode ipv6ip


With this in place, your IPv6 networks can now communicate over the IPv4 network. Now, I have to tell you that this is not meant to be a permanent configuration; your end goal should still be to run a total, complete IPv6 network end to end.

One important note here—if the IPv4 network that you’re traversing in this situation has a NAT translation point, it would absolutely break the tunnel encapsulation you’ve just created! Over the years, NAT has been upgraded a lot so that it can handle specific protocols and dynamic connections, and without one of these upgrades, NAT likes to demolish most connections. And since this transition strategy isn’t present in most NAT implementations, that means trouble.

There is a way around this little problem, and it’s called Teredo, which allows all your tunnel traffic to be placed in UDP packets. NAT doesn’t blast away at UDP packets, so they won’t get broken as other protocols packets do. So with Teredo in place and your packets disguised under their UDP cloak, the packets will easily slip by NAT alive and well!

See Also:


CCNA IOS Commands Survival Guide





biOos

No comments: