[IPv6] Dualstack EIGRP Routing on c3560

IPv6.

Everyone is talking about it.

And not too soon, ppl will need it.

As my corporation needs to switch to v6 soon, I'll started to work into this hexadecimal notated nightmare ;-).

I'll got some basic stuff written down already - but I'm not feeling like starting off IPv6 in my blog with too much boring theory.

So lets jump into a full blown network! ^^

 

Tada!

Well - its not too "full blown" - but a working network at last: We got our Routers, Switches, PCs and EIGRP - and an Application thats driven by IPv4 and IPv6 called "ping" and "ping6" - thats something, ain't it?

But first: What is Dual Stack? Well. Thats an easy one: Running your network on Dual Stack does mean using IPv4 and IPv6 in co-existence. Nothing more and nothing less. Your normal Ethernet Switch does Switch IPv4 and IPv6 the same - as Layer 2 does not differ between both. Layer 2 is MAC, IPv4/6 do come in mind on Layer 3 - to the Routers mind, so to say.

Sadly, I don't had any Cisco 1841 or similar machines for this project - and I did wanted to test these settings in an rather small Lab before jumping to our "spare" Cisco VSS Team and hacking that thing to kingdom come. Therefore, I  used serval Catalyst 3560 PC 8, which are small Cisco Layer3+ Switches and could replace the routers.

To get the Switches to become IPv6 Routers, we need to install an new IOS with IP-Services Feature Set or higher. You can do that be erasing the Switch flash and download an new IOS by using the archive sw command from an tftp ( archive download-sw /allow-feature-upgrade /reload tftp://IP/c3560-ipservicesk9-tar.122-55.SE.tar ). As you see, I did use the 12.2(55)SE Firmware, as the new 58 got some really nasty changes in Terms of Smartport Features.

After our Switch(es) did reload, we need to configure an new SDM Template. The Switching Database Manager is not some piece of software, in truth its more some kind of ressource template. By changing this SDM Template, you change the way how the Ternary Content Addressable Memory (TCAM) is seperated. The TCAM is an very small but fast piece of RAM which does save Information like MAC Addresses, Routes, VLANs and so on. If you change the SDM Template, you change the amount of space which is avaiable for an Information. i.e. VLANs. If you choose the "Routing" Template - your Switch will put more memory onto Routes, if you choose the "VLAN" Template, your switch will support more VLANs but disable routing - and if you choose "Default", you get an mix of both. So, SDM Templates can be mission critical. And, they are fixed! You can't change the amount or divison of memory - only which template is used. As we want to use our Switch not only as Layer 2 Device, but DualStack Router, we need to change to an DualStack Routing SDM template - to really support IPv6 and Routing.

 

sdm prefer dual-ipv4-and-ipv6 routing

 

is the right command for this. You need to reload your switch after this change!
After the reload, we got our "router" ready. So, lets start by setting up our SW1 as EIGRPv4 Router. First we go to our Client Interface (f0/3):

 

conf t 

int vlan 3
ip address 192.168.2.1 255.255.255.0
no shut

int f0/3
switchport access vlan 3
spanning-tree portfast
no shut

end

 

So, thats our Gateway Link were we'll connect our Windows XP SP3 PC with IPv4 (192.168.2.2 / 24, GW is 192.168.2.1).
Now to the "Router Link" which does connect to the Core Router (g0/1):

 

conf t
int vlan 1
ip address 192.168.0.1 255.255.255.0
no shut
int g0/1
switchport mode access
switchport access vlan 1
switchport nonegotiate
no shut
end

 

This link is set to nonegotiate because we do not want the Switches to start an trunk - but route our traffic through EIGRPv4.
Now, we enable EIGRPv4:

 

conf t
router eigrp 1
network 192.168.0.0
network 192.168.2.0
end

 

Basically, thats very easy to understand: We start the EIGRPv4 proccess, issuing it the ID "1" (you can choose which you want and need to create EIGRP Borders) and inform it about the direct connected networks on this router (192.168.0.0 on g0/1 and 192.168.2.0 on f0/3). And thats it! If you got EIGRPv4 running on Core and SW2 as well (SW2 with same config as shown here, only different IP Networks, Core is going to have the same configuration as the Uplink Port but with IPv4 192.168.0.2 on the SW1 end and 192.168.4.2 on the SW2 end), you'll have an running EIGRP supported network!
Now that we got EIGRPv4 running, we'll jump up to EIGRPv6!
Actually, its not to different from the old Version but these:
- You do not configure networks in an central EIGRP process, but do configure EIGRPv6 directly on the interfaces
- You do need to "no shut" the central EIGRPv6 process once, otherwise it won't work.
- There are other differences, but not needed to mention here - check google if you're interested.
For our IPv6 Client Network, we'll start off like this (f0/2):

 

conf t
int vlan 2
ipv6 address 2000:2::1/64
ipv6 eigrp 1
no shut
int f0/2
switchport access vlan 2
spanning-tree portfast
no shut
end

 

As you see, there is not much difference: We do configure an IPv6 Global Unicast on the interface and enable the EIGRPv6 Proccess with ID "1" (does not interfere with EIGRPv4! They do not "see" each other as they are IPv4 or IPv6 only!) on that Interface. Connected - to an Windows XP SP3 PC with IPv6(2000:2::2/64, GW is 2000:2::1).
Now to the "Router Link" which does connect to the Core Router (g0/1), we need to add an IPv6 Address for EIGRPv6 to work:

 

conf t
int vlan 1
ipv6 address 2000:1::1/64
ipv6 eigrp 1
end

 

After that, we need to "no shut" the EIGRPv6 Proccess - enabling it with this command:

 

conf t
ipv6 router eigrp 1
no shut
end

 

Yeah, and thats it!
To just give the additional feedback for Win XP SP3:
To install the IPv6 Stack, you can enter ipv6 install in the Commandline.
To add an IPv6 Address to an interface, enter netsh interface ipv6 add address "INTERFACENAME" IPV6ADDRESS in the Commandline ( i.e. netsh interface ipv6 add address "Lan-Verbindung" 2000:2::2 for our IPv6_SW1 PC).
Finally you can check your connection via ping and ping6 for IPv6.
So, I hope you like it.

 

And for further studies, I attach the config files! ^^

 
 

As final job I did attach the interfaces f0/4, which do run Dual Stack as well - got an IPv4 and IPv6 Address. I configured the Windows XP SP3 PCs with both IPv4 and IPv6 Addresses, and now they are ping each other over both protocols at the same time. The Problem you'll come up soon is following: IPv4 and IPv6 are seperated stacks. No connection between both. So if you got an IPv6 PC, it won't be able to access IPv4 Ressources - and vice versa. So you'll need some kind of "Concentrator" or "Proxy" which will translate between both like an oversized NAT. Actually - thats the Name of that Translator: NAT-PT ("Protocol Translator") - its only one feature that can deliever IPv4-IPv6 Translation, but actually I read somewhere its considered "bad" already, so it might not be a good choice (and End2End Connection will suffer the same problems as your VPN on IPv4 with NAT.). I'm not putting an real solution for that problem here, as I'm diving into the Problem myself - but I wanted to just hint to this.
Thanks!

 

c3560 Cheat

Hostname:
hostname test

Image Upgrade:
del /r /f flash:c3560-ipbase-mz.122-35.SE5
copy tftp://192.168.2.1/images/c3560-ipbasek9-mz.122-46.SE.bin flash:

del - File
rm - Folder

Boot with other Image:
boot system c3560-advipservicesk9-mz.122-46.SE.bin

Portfast (on dhcpd Problems):
spanning-tree portfast

Switchport with Vlan 10:
interface FastEthernet0/1
switchport access vlan 10
switchport mode access
description nativ
macro description NATIV
spanning-tree portfast

Description Vlan 10:
vlan 10 name testvlan

Trunkport:
interface GigabitEthernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping trust

DHCP Snooping:
Global Activate:
ip dhcp snooping vlan 1-4094
no ip dhcp snooping information option
ip dhcp snooping

Allow DHCP on Port:
ip dhcp snooping trust

ESXi Trunking:
ip dhcp snooping vlan 1-4094
no ip dhcp snooping information option
ip dhcp snooping

these are the vlans, one main, one “test” for the vm
vlan 1
name main
vlan 999
name test

normal client port
interface FastEthernet0/1
switchport access vlan 1
spanning-tree portfast

vm client port which does access vlan 999
interface FastEthernet0/3
switchport access vlan 999
spanning-tree portfast

vm server port, which does access normal vlan 1, and does trunk the rest
” ip dhcp snooping trust” means, that this port is allowed to answer dhcp requests
interface FastEthernet0/7
switchport trunk encapsulation dot1q
switchport trunk native vlan 1
switchport trunk allowed vlan 1,999
switchport mode trunk
ip dhcp snooping trust
end

Routing with c3560-advipservicesk9-mz.122-46.SE.bin:
( Every Net needs a own Vlan! )
( The Vlan Ip is the Gateway )

ip routing

interface FastEthernet0/1
switchport access vlan 2
switchport mode access

interface FastEthernet0/8
switchport access vlan 3
switchport mode access

interface Vlan2
ip address 134.96.10.1 255.255.255.0

interface Vlan3
ip address 192.168.2.1 255.255.255.0

c3560 Routing with Advanced IP Services

Problem: You got serval networks, you got an c3560 but no Router.
Solution: Get an c65e VSS
Following Problem: Insufficient Money, Power, Space,....
Solution: Get your c3560 to route these Networks with an Advanced IP Services Firmware
YOU DO NEED AN "advipservices" FIRMWARE ON YOUR c3560!

Assumption:
On f0/1 PC with 134.96.10.2 -> We want the Gateway to be 134.96.10.1
On f0/8 PC with 192.168.2.2 -> We want the Gateway to be 192.168.2.1

How to:
Easy Idea - for an normal routing process you need an Interface in the "to be routed" net.
And there for the Solution lies in the usage of vlans.
Every port that uses one net is bound to the vlan of that net.
Every net get its own vlan.
Every vlan gets an ip (the gateway ip thats entered into the pcs of this net).
Activate routing.
Done.

Configuration:

interface FastEthernet0/1
switchport access vlan 2
switchport mode access

interface FastEthernet0/8
switchport access vlan 3
switchport mode access

interface Vlan2
ip address 134.96.10.1 255.255.255.0

interface Vlan3
ip address 192.168.2.1 255.255.255.0

ip routing