Tunneling IPv6: Manual Tunnels

VN:F [1.9.6_1107]
Rating: 4.8/5 (4 votes cast)
By Marko Milivojevic on October 6th, 2010

The last article in series for IPv6 over IPv4 tunneling will deal with probably the simplest to understand and configure tunneling method – manual tunnels.

Just to keep things familiar, we’ll work with pretty much the same network as we did in the previous two articles. Here is the diagram.

Diagram

Basic IPv4 and IPv6 Configuration

IPv4-only backbone will be represented with BB device. EIGRP routing is configured between border routers, R2, R3, R3 and BB. Loopback0 interfaces of these routers are fully reachable. Let’s take a look.

R2:

R2#show ip route eigrp | begin ^Gateway
Gateway of last resort is not set

      3.0.0.0/32 is subnetted, 1 subnets
D        3.3.3.3 [90/2809856] via 192.168.2.7, 00:07:13, Serial1/1
      5.0.0.0/32 is subnetted, 1 subnets
D        5.5.5.5 [90/2809856] via 192.168.2.7, 00:07:11, Serial1/1
D     192.168.3.0/24 [90/2681856] via 192.168.2.7, 00:07:16, Serial1/1
D     192.168.5.0/24 [90/2681856] via 192.168.2.7, 00:07:11, Serial1/1
R2#ping 2.2.2.2 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/16 ms
R2#ping 3.3.3.3 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/20 ms
R2#ping 5.5.5.5 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/16/20 ms

R3:

R3#show ip route eigrp | begin ^Gateway
Gateway of last resort is not set

      2.0.0.0/32 is subnetted, 1 subnets
D        2.2.2.2 [90/2809856] via 192.168.3.7, 00:07:14, Serial1/0
      5.0.0.0/32 is subnetted, 1 subnets
D        5.5.5.5 [90/2809856] via 192.168.3.7, 00:07:11, Serial1/0
D     192.168.2.0/24 [90/2681856] via 192.168.3.7, 00:07:13, Serial1/0
D     192.168.5.0/24 [90/2681856] via 192.168.3.7, 00:07:13, Serial1/0
R3#ping 2.2.2.2 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/19/28 ms
R3#ping 3.3.3.3 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/8 ms
R3#ping 5.5.5.5 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/17/20 ms

R5:

R5#show ip route eigrp | begin ^Gateway
Gateway of last resort is not set

      2.0.0.0/32 is subnetted, 1 subnets
D        2.2.2.2 [90/2809856] via 192.168.5.7, 00:07:11, Serial1/2
      3.0.0.0/32 is subnetted, 1 subnets
D        3.3.3.3 [90/2809856] via 192.168.5.7, 00:07:11, Serial1/2
D     192.168.2.0/24 [90/2681856] via 192.168.5.7, 00:07:11, Serial1/2
D     192.168.3.0/24 [90/2681856] via 192.168.5.7, 00:07:16, Serial1/2
R5#ping 2.2.2.2 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 5.5.5.5
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/20/32 ms
R5#ping 3.3.3.3 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 5.5.5.5
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/18/24 ms
R5#ping 5.5.5.5 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 5.5.5.5
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms

On top of our IPv4 full reachability, each site has fully operational OSPFv3 routing. Loopback0 interfaces of all site routers are also reachable within the site. This is also true for Ethernet0/0 interfaces of non-edge routers (R1, R4 and R6). We will focus only on the edge routers for the verification.

R2:

R2#show ipv6 route | begin ^(O|L)
O   2001:DB8::1/128 [110/64]
     via FE80::1, Serial1/0
LC  2001:DB8::2/128 [0/0]
     via Loopback0, receive
O   2001:DB8:1::/64 [110/74]
     via FE80::1, Serial1/0
C   2001:DB8:12::/64 [0/0]
     via Serial1/0, directly connected
L   2001:DB8:12::2/128 [0/0]
     via Serial1/0, receive
L   FF00::/8 [0/0]
     via Null0, receive
R2#ping 2001:db8::1 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8::1, timeout is 2 seconds:
Packet sent with a source address of 2001:DB8::2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms
R2#ping 2001:db8:1::1 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:1::1, timeout is 2 seconds:
Packet sent with a source address of 2001:DB8::2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms

R3:

R3#show ipv6 route | begin ^(O|L)
LC  2001:DB8::3/128 [0/0]
     via Loopback0, receive
O   2001:DB8::4/128 [110/64]
     via FE80::4, Serial1/1
O   2001:DB8:4::/64 [110/74]
     via FE80::4, Serial1/1
C   2001:DB8:34::/64 [0/0]
     via Serial1/1, directly connected
L   2001:DB8:34::3/128 [0/0]
     via Serial1/1, receive
L   FF00::/8 [0/0]
     via Null0, receive
R3#ping 2001:db8::4 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8::4, timeout is 2 seconds:
Packet sent with a source address of 2001:DB8::3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms
R3#ping 2001:db8:4::4 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:4::4, timeout is 2 seconds:
Packet sent with a source address of 2001:DB8::3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms

R5:

R5#show ipv6 route | begin ^(O|L)
LC  2001:DB8::5/128 [0/0]
     via Loopback0, receive
O   2001:DB8::6/128 [110/64]
     via FE80::6, Serial1/0
O   2001:DB8:6::/64 [110/74]
     via FE80::6, Serial1/0
C   2001:DB8:56::/64 [0/0]
     via Serial1/0, directly connected
L   2001:DB8:56::5/128 [0/0]
     via Serial1/0, receive
L   FF00::/8 [0/0]
     via Null0, receive
R5#ping 2001:db8::6 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8::6, timeout is 2 seconds:
Packet sent with a source address of 2001:DB8::5
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/8 ms
R5#ping 2001:db8:6::6 source Loopback0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:6::6, timeout is 2 seconds:
Packet sent with a source address of 2001:DB8::5
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms

Now that we’ve seen the fully functional IPv4 backbone and IPv6 islands, let’s build some tunnels.

Connecting the IPv6 Islands

Since we’re be using manual tunnels and those are point-to-point, we’ll need more than one Tunnel interface per router. I will use simple numbering scheme for interface names, as well as IPv6 addressing. Let’s go.

R2:

interface Tunnel23
 no ip address
 ipv6 address fe80::2 link-local
 ipv6 address 2001:db8:23::2/64
 tunnel source Loopback0
 tunnel destination 3.3.3.3
 tunnel mode ipv6ip
!
interface Tunnel25
 no ip address
 ipv6 address fe80::2 link-local
 ipv6 address 2001:db8:25::2/64
 tunnel source Loopback0
 tunnel destination 5.5.5.5
 tunnel mode ipv6ip
!

R3:

interface Tunnel23
 no ip address
 ipv6 address fe80::3 link-local
 ipv6 address 2001:db8:23::3/64
 tunnel source Loopback0
 tunnel destination 2.2.2.2
 tunnel mode ipv6ip
!
interface Tunnel35
 no ip address
 ipv6 address fe80::3 link-local
 ipv6 address 2001:db8:35::3/64
 tunnel source Loopback0
 tunnel destination 5.5.5.5
 tunnel mode ipv6ip
!

R5:

interface Tunnel25
 no ip address
 ipv6 address fe80::5 link-local
 ipv6 address 2001:db8:25::5/64
 tunnel source Loopback0
 tunnel destination 2.2.2.2
 tunnel mode ipv6ip
!
interface Tunnel35
 no ip address
 ipv6 address fe80::5 link-local
 ipv6 address 2001:db8:35::5/64
 tunnel source Loopback0
 tunnel destination 3.3.3.3
 tunnel mode ipv6ip
!

As we can see, compared with automatic tunnels, building manual tunnels is a little bit more work and there is plenty of opportunity for misconfiguration. I deliberately misconfigured something in the configuration above – see if you can spot it!

Routing Over Manual Tunnels

We’re almost done. What’s left now id to enable OSPFv3 over our tunnels and test the reachability.

R2:

interface Tunnel23
 ipv6 ospf 1 area 0
!
interface Tunnel25
 ipv6 ospf 1 area 0
!

R3:

interface Tunnel23
 ipv6 ospf 1 area 0
!
interface Tunnel35
 ipv6 ospf 1 area 0
!

R5:

interface Tunnel25
 ipv6 ospf 1 area 0
!
interface Tunnel35
 ipv6 ospf 1 area 0
!

To test the reachability, I will run the TCL script below from R1. It should work from all other routers, too.

foreach mip {
 2001:DB8::1
 2001:DB8::2
 2001:DB8::3
 2001:DB8::4
 2001:DB8::5
 2001:DB8::6
 2001:DB8:1::1
 2001:DB8:4::4
 2001:DB8:6::6
 2001:DB8:12::1
 2001:DB8:12::2
 2001:DB8:34::3
 2001:DB8:34::4
 2001:DB8:56::5
 2001:DB8:56::6
 2001:DB8:23::2
 2001:DB8:23::3
 2001:DB8:25::2
 2001:DB8:25::5
 2001:DB8:35::3
 2001:DB8:35::5
} { ping $mip source Loopback0 repeat 3 timeout 1 }

R1:

R1#tclsh
R1(tcl)#foreach mip {
+>(tcl)# 2001:DB8::1
+>(tcl)# 2001:DB8::2
+>(tcl)# 2001:DB8::3
+>(tcl)# 2001:DB8::4
+>(tcl)# 2001:DB8::5
+>(tcl)# 2001:DB8::6
+>(tcl)# 2001:DB8:1::1
+>(tcl)# 2001:DB8:4::4
+>(tcl)# 2001:DB8:6::6
+>(tcl)# 2001:DB8:12::1
+>(tcl)# 2001:DB8:12::2
+>(tcl)# 2001:DB8:34::3
+>(tcl)# 2001:DB8:34::4
+>(tcl)# 2001:DB8:56::5
+>(tcl)# 2001:DB8:56::6
+>(tcl)# 2001:DB8:23::2
+>(tcl)# 2001:DB8:23::3
+>(tcl)# 2001:DB8:25::2
+>(tcl)# 2001:DB8:25::5
+>(tcl)# 2001:DB8:35::3
+>(tcl)# 2001:DB8:35::5
+>(tcl)#} { ping $mip source Loopback0 repeat 3 timeout 1 }

Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8::1, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 0/2/4 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8::2, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 8/9/12 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8::3, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 20/25/28 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8::4, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/34/36 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8::5, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 24/26/28 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8::6, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/34/36 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:1::1, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 4/9/20 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:4::4, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/34/36 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:6::6, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/34/36 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:12::1, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 0/4/8 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:12::2, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 8/9/12 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:34::3, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 24/25/28 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:34::4, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/34/36 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:56::5, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 24/25/28 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:56::6, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/36/40 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:23::2, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 8/10/12 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:23::3, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 24/26/28 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:25::2, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 8/9/12 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:25::5, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 24/25/28 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:35::3, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 28/32/36 ms
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 2001:DB8:35::5, timeout is 1 seconds:
Packet sent with a source address of 2001:DB8::1
!!!
Success rate is 100 percent (3/3), round-trip min/avg/max = 32/34/36 ms

That’s it for this series. Happy studying!


Marko Milivojevic – CCIE #18427
Senior Technical Instructor – IPexpert
Join our Online Study List

Tunneling IPv6: Manual Tunnels, 4.8 out of 5 based on 4 ratings
Share and Enjoy:
  • RSS
  • Twitter
  • Facebook
  • Google Bookmarks
  • Digg
  • Print
  • Technorati
  • Slashdot
  • LinkedIn
  • del.icio.us
  • Reddit
  • Sphinn
  • Mixx
  • Blogplay
  • Netvibes
  • NewsVine
  • Live
  • Ping.fm
  • MySpace
  • Yahoo! Bookmarks
  • Yahoo! Buzz

Tags: , , , , ,

3 Responses to “Tunneling IPv6: Manual Tunnels”

  1. najed says:

    Thanks a bunch. That really helped!

    NaJed

    VA:F [1.9.6_1107]
    Rating: 0.0/5 (0 votes cast)
  2. Roland says:

    There’s a typo:
    R3 interface has the same address of R2:

    interface Tunnel23
    no ip address
    ipv6 address fe80::3 link-local
    ipv6 address 2001:db8:23::2/64

    HTH

    VA:F [1.9.6_1107]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply