Monthly Archives: November 2010

AYIYA Tunnel with SIXXS

I discovered SixXS when I was looking for a way to calculate a ULA.  I used their calculator to generate the address I am using in my Lab.

SixXS is tunnel broker which provides access to a network of IPv6 PoPs via tunnels(tunnel servers).  There are a couple of ways to connect to the IPv6 Internet behind the servers, the first being an AYIYA tunnel for individual IPv4 clients generally behind a NAT and the second being 6to4 tunnels for whole subnets.   (for more information see:  www.sixxs.net)

Being an ISP, SixXS provides global IPv6 addresses to their clients based on the ranges they received from their regional address registration authority.

I registered myself with SixXS and requested a AYIYA tunnel.  I also installed the recommended software, the latest AICCU console and the OpenVPN TUN/Tap32 tunnel driver (downloaded from OpenVPN – V 2.1.4).

Once everything was installed, I started AICCU:

c:\aiccu>aiccu-console start
Succesfully retrieved tunnel information for T47241
[warning] Error opening registry key: SYSTEM\CurrentControlSet\Control\Class\{4D
36E972-E325-11CE-BFC1-08002BE10318}\Properties (t1)
[AYIYA-start] : Anything in Anything (draft-02)
[AYIYA-tun->tundev] : (Socket to TUN) started

The tunnel interface shows up under ipconfig as:

Ethernet adapter tunO:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : TAP-Win32 Adapter V9
Physical Address. . . . . . . . . : 00-FF-ED-4F-3C-A4
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2001:1620:f00:c7::2(Preferred)
Link-local IPv6 Address . . . . . : fe80::172:291b:56d3:dc47%25(Preferred)
Autoconfiguration IPv4 Address. . : 169.254.220.71(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 2001:1620:f00:c7::1
DHCPv6 IAID . . . . . . . . . . . : 721485805
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-13-41-B4-A0-18-A9-05-29-EC-7B
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled

There was a problem with browsers when accessing IPv6 enabled web sites.  Apparently in Windows7, the tunnel interface shown above is not considered a real IPv6 enabled interface.  To fix this, I assigned a static IP address to the physical WLAN interface:

Wireless LAN adapter Wireless Network Connection 2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Linksys WMP600N Wireless-N PCI Adapter wi
th Dual-Band
Physical Address. . . . . . . . . : 00-25-9C-EB-AC-3B
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : fdc1:e1f2:425d:5::1(Preferred)
Link-local IPv6 Address . . . . . : fe80::f5b3:d8cf:9af:c0db%13(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.1.103(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : 29 November 2010 13:22:06
Lease Expires . . . . . . . . . . : 30 November 2010 13:23:45
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DHCPv6 IAID . . . . . . . . . . . : 335553948
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-13-41-B4-A0-18-A9-05-29-EC-7B
DNS Servers . . . . . . . . . . . : 195.186.1.162
195.186.4.162
NetBIOS over Tcpip. . . . . . . . : Enabled

Once this was done, access to the IPv6 Internet was possible:

C:\Users\cbroccoli>ping -6 ipv6.google.com
Pinging ipv6.l.google.com [2a00:1450:8002::93] with 32 bytes of data:
Reply from 2a00:1450:8002::93: time=93ms
Reply from 2a00:1450:8002::93: time=95ms
Reply from 2a00:1450:8002::93: time=97ms
Reply from 2a00:1450:8002::93: time=95ms
Ping statistics for 2a00:1450:8002::93:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 93ms, Maximum = 97ms, Average = 95ms
C:\Users\cbroccoli>tracert -6 www.kame.net
Tracing route to orange.kame.net [2001:200:dff:fff1:216:3eff:feb1:44d7]
over a maximum of 30 hops:/p>
1 74 ms 74 ms 76 ms gw-200.zrh-02.ch.sixxs.net [2001:1620:f00:c7::1]
2 74 ms 74 ms 74 ms 2001:1620:2005:4::1
3 69 ms 70 ms 73 ms r1zur1.core.init7.net [2001:1620:2::49]
4 74 ms 74 ms 75 ms r1fra1.core.init7.net [2001:1620:2::6]
5 83 ms 87 ms 83 ms r1ams1.core.init7.net [2001:1620:2::66]
6 89 ms 89 ms 91 ms ge-0.ams-ix.amstnl02.nl.bb.gin.ntt.net [2001:7f8:1::a500:2914:1]
7 373 ms 371 ms 453 ms as-4.r21.tokyjp01.jp.bb.gin.ntt.net [2001:418:0:2000::16]
8 368 ms 371 ms 369 ms po-2.a15.tokyjp01.jp.ra.gin.ntt.net [2001:218:0:6000::116]
9 376 ms 376 ms 377 ms ge-8-2.a15.tokyjp01.jp.ra.gin.ntt.net [2001:218:2000:5000::82]
10 376 ms 372 ms 371 ms ve44.foundry6.otemachi.wide.ad.jp [2001:200:0:10::141]
11 374 ms 375 ms 374 ms ve42.foundry4.nezu.wide.ad.jp [2001:200:0:11::66]
12 372 ms 373 ms 371 ms cloud-net1.wide.ad.jp [2001:200:0:1c0a:218:8bff:fe43:d1d0]
13 368 ms 369 ms 367 ms 2001:200:dff:fff1:216:3eff:feb1:44d7
Trace complete.

Also, access to web sites via IE, Chrome and Firefox worked just fine.

When sniffing a tunneled http packet, the IPv6 data is encapsulated as follows:

[ethernet]
[ipv4 headder] – ipv4 source and destination for the tunnel
[udp] – ayiya port 5072
[ayiya headder]-here ipv6 ip address of the tunnel source of the packet is included as the ID
[ipv6 headder] – with theactual source and destination for the http session
[tcp]
[http]
[data]

IPv6 access to IPv4 Internet

Now that IPv6 is working in a closed environment, I decided to see how users in an IPv6 only network could still use the IPv4 Internet.  This type of functionality will be key to migrating enterprises to IPv6 since they will need to continue to work in the IPv4 world until the IPv6 Internet gets some content.  The squid proxy is capable of running dual stack and could support access to both Internets simultaneously.

As a first step, I installed Squid 3.1.6 on a new Ubuntu 10.10 server in VBox.  One interface is running IPv6 only and is on the host internal network.  The other interface is a dual-stack bridged to the external WLAN.  For the client I am using an Ubuntu Desktop 10.04.1 also running in VBox.

The squid configuration is as follows –

In the acl section I uncommented the line:

acl localnet src fc00::/7  #RFC 4193 local private network range

since I am using the ULA network fdc1:e1f2:425d::/48 in my lab. I also modified the http_port just to see it change in netstat:

http_port 8080

Finally I uncommented the http_access line (local net being set in the acl above):

http_access allow localnet

Once the squid.conf file was configured, I restarted squid:

cbroccoli@squid-proxy:/etc/squid3   sudo /etc/init.d/squid3 restart

The client is using Firefox, so under Edit-Preferences, I added the IPv6 address of the squid proxy and the port 8080.  I enabled this for all protocols as well.  Once this was configured I was able to access all IPv4 Internet pages.  The following Wireshark trace shows the IPv6 addresses in the IP headder and the request to the proxy for www.yahoo.com.

 

GNS3 Network Access Tips

Have been having problems with consistently accessing the Microsoft Loopback adapter from R2.  If the PC goes into sleep mode, then connectivity does not come back when it restarts.  To get it running, I go through the following hoops to get it back up:

  • run GNS3 as admin
  • delete the ethernet interface between R2 and the WLAN cloud
  • remove the loopback interface from the cloud
  • Disable and enable the MS Loopback adapter in windows
  • add the loopback interface to the cloud
  • add the ethernet interface between R2 and the WLAN cloud