IPv6 tunneling over IPv4 Configuration

Since IPv4 and IPv6 are not compatible with each other, we need some migration strategies. One technique that we can use is tunneling. Basically, it means that we encapsulate IPv6 packets into IPv4 packets (or the other way around) so they can be routed. In this lesson, I’ll show you how to configure IPv6 static tunneling over an IPv4 network. There are two methods:

  • Manual tunnels
  • GRE (Generic Routing Encapsulation) tunnels

Both tunnel types are very similar, with just minor differences. Both support IPv6 IGPs through the tunnel interface and forwarding of multicast traffic. The manual tunnels refer to RFC 4213, which defines how to encapsulate IPv6 packets in IPv4. GRE is a generic encapsulation type that rides on top of IPv4 and isn’t only for IPv6. It can carry many different protocols and if you ever configured an IPSEC VPN with IGPs running through it you had to use GRE.


Let’s continue by looking at some examples and how to configure the static point-to-point IPv6 tunnels.

ipv6 static tunneling

This is the topology we’ll be using. Three routers are running IPv4. R1 and R3 also run IPv6, and we want connectivity between them without adding IPv6 support on R2. Let’s configure all IPv4 and IPv6 addresses:

R1(config)#interface loopback 0
R1(config-if)#ipv6 address 2001::1/128
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip address
R2(config)#interface fastEthernet 1/0
R2(config-if)#ip address
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip address
R3(config)#interface loopback 0
R3(config-if)#ipv6 address 2001::3/128

Our next step is to create a tunnel interface between R1 and R3. They need to be able to reach each other through IPv4. I’ll create a new loopback interface on R1 and R3, advertise them in EIGRP, and use these addresses for the tunnel:

R1(config)#interface loopback 1
R1(config-if)#ip address
R1(config)#router eigrp 123
R1(config-router)#no auto-summary 
R2(config)#router eigrp 123
R2(config-router)#no auto-summary 
R3(config)#interface loopback 1
R3(config-if)#ip address
R3(config)#router eigrp 123
R3(config-router)#no auto-summary 

I could also use physical interfaces, but they can go down. Whenever a physical interface goes down, our IGP (EIGRP in this example) could find another path to the loopback interfaces (if there is one).

R1(config)#interface tunnel 0
R1(config-if)#tunnel source loopback 1
R1(config-if)#tunnel destination
R1(config-if)#tunnel mode ipv6ip
R3(config)#interface tunnel 0
R3(config-if)#tunnel source loopback 1
R3(config-if)#tunnel destination
R3(config-if)#tunnel mode ipv6ip

This is how we configure a tunnel interface. By default, a tunnel interface is always GRE, so with the tunnel mode ipv6ip command, I changed it to a “manual” tunnel. Let’s check the tunnel:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You’ve Ever Spent on Your Cisco Career!
  • Full Access to our 791 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

1641 Sign Ups in the last 30 days

100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Tags: ,

Forum Replies

  1. Tunnel interface ip is not required.is it not necessary?

  2. IPv6 uses the link-local addresses as the next-hop for routing entries so there is no need to configure a “global” IPv6 address.

  3. Hello,
    I see that you are using multiple interfaces, but our router is only base license… which means we can only have up to 2 interfaces(that are not psychical).

    Will it be possible with only 2 interfaces and(loopback 0&1) and have the tunnel psychical? I see that you write that it can be psychical, but what kind of changes would we need to do if so?

  4. Hi Tor,

    The tunnel0 interface is using the source IP addresses of my loopback interfaces. You can also build the tunnel between the IP addresses on the FastEthernet0/0 interfaces. Just use those as the source and destination and you are ready to go.


  5. Hello Rene, and thanks for previous answer. We got it fixed, we changed two of the routers to cisco 1812, and the one running ipv4 only is a asa 5505. we are kinda stuck again though. I want all the other fastethernet ports(1-9) behind lets say destiny(cisco 1812), to access the servers behind cryo. Whatever I do, it wont work…

    Thanks again,

20 more replies! Ask a question or join the discussion by visiting our Community Forum