* Join [Sixxs](http://www.sixxs.net/), a free tunnel broker and use the [`net/aiccu`](http://pkgsrc.se/net/aiccu) package to set up your connection.

+* Join [gogo6](http://gogonet.gogo6.com/page/freenet6-tunnelbroker), another free tunnel broker and use the [[gw6c]] package to set up your connection.

-Here we will talk on how to connect to the 6bone since it currently seems to be the most popular way.

-

+###Connect to 6bone (discontinued)

-First take a look at the [6bone](http://www.6bone.net/) site and find a 6bone connection nearest to you. Write to the responsible person and with a little bit of luck you will be given instructions on how to set up your connection. Usually this involves setting up a GRE (gif) tunnel.

+Here we will talk on how to connect to the 6bone since it currently seems to be the most popular way.

+First take a look at the [6bone](http://www.6bone.net/) site and find a 6bone connection nearest to you. Write to the responsible person and with a little bit of luck you will be given instructions on how to set up your connection. Usually this involves setting up a GRE (gif) tunnel.

Here is a typical example on setting up a [gif(4)](http://leaf.dragonflybsd.org/cgi/web-man?command#gif&section4) tunnel:

-

-

-

-

# ifconfig gif0 create

# ifconfig gif0

@@ -221,37+208,22 @@ Here is a typical example on setting up a [gif(4)](http://leaf.dragonflybsd.org/

Replace the capitalized words by the information you received from the upstream 6bone node.

-

This establishes the tunnel. Check if the tunnel is working by [ping6(8)](http://leaf.dragonflybsd.org/cgi/web-man?command#ping6&section8) 'ing `ff02::1%gif0`. You should receive two ping replies.

-

**Note:** In case you are intrigued by the address `ff02:1%gif0`, this is a multicast address. `%gif0` states that the multicast address at network interface `gif0` is to be used. Since we `ping` a multicast address the other endpoint of the tunnel should reply as well.

-

By now setting up a route to your 6bone uplink should be rather straightforward:

@@ -269,47+241,117 @@ By now setting up a route to your 6bone uplink should be rather straightforward:

6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms

+This output will differ from machine to machine. By now you should be able to reach the IPv6 site [www.kame.net](http://www.kame.net) and see the dancing tortoise -- that is if you have a IPv6 enabled browser such as [`www/mozilla`](http://pkgsrc.se/www/mozilla).

+### Connect to gogo6

+I have not been able to get NAT traversal to work with gogo6. Your machine must have a world-routable IPv4 address to connect. If you are using DSL or Cable internet, this may mean putting your DragonflyBSD machine in the DMZ.

-This output will differ from machine to machine. By now you should be able to reach the IPv6 site [www.kame.net](http://www.kame.net) and see the dancing tortoise -- that is if you have a IPv6 enabled browser such as [`www/mozilla`](http://pkgsrc.se/www/mozilla).

+Create an account on [gogo6](http://gogonet.gogo6.com/page/freenet6-tunnelbroker) if you want a static address or a /56 block

+Compile the [[gw6c]] client

+Edit /usr/local/gw6c/bin/gw6c.conf

-### 19.16.4 DNS in the IPv6 World

+ gwc6 can be configure for anonymous or authenticated access. Authenticated access give you a DNS name, a more stable address and optionally a /56 block of addresses (that is, 256 IPV6 addresses).

+

+ #Set userid and password if you want authenticated access

+ userid=myuserid

+ passwd=mypasswd

+

+ #Set servername to an anonymous or authenticated server

+ server=montreal.freenet6.net

+ #server=anon-montreal.freenet6.net

+

+ #Set auth_method to anonymous or any depending on above

+ auth_method=any

+ #auth_method=anonymous

+ #host_type should be router only if you want a full /56 block. We do in this case so we can give IPs to a jail, or example.

+ host_type=router

+ #host_type=host

+ #prefixlen is either 64 or 56. Set to 56 if you want 256 IPv6 addresses.

+ prefixlen=56

+ #prefixlen=64

-There are two new types of DNS records for IPv6:

+ #if_prefix should be set only if host_type=router. This interface should be connected to your LAN (or in this case to the only interface)

+ if_prefix=re0

+ #if_tunnel_v6v4 should be set to gif0 always

+ if_tunnel_v6v4=gif0

+ #template. We compiled gw6c as if we were on a netbsd system

+ template=netbsd

-* AAAA records,

+Create gif0 interface

+ ifconfig gif0 create

-* A6 records

+Run gw6c

+ cd /usr/local/gw6c/bin

+ ./gw6c

-Using AAAA records is straightforward. Assign your hostname to the new IPv6 address you just got by adding:

+Test

+

+ # ifconfig gif0

+ gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280

+ tunnel inet 99.23.159.141 --> 64.86.88.116

+ inet6 2001:5c0:1000:b::4567 --> 2001:5c0:1000:b::4566 prefixlen 128

+ inet6 fe80::221:70ff:fef6:8ced%gif0 prefixlen 64 scopeid 0x6

+In this case we can see our address is 2001:5c0:1000:b::4567

+ # ping6 ipv6.google.com

+ PING6(56=40+8+8 bytes) 2001:5c0:1000:b::4567 --> 2001:4860:b002::68

+ 16 bytes from 2001:4860:b002::68, icmp_seq=0 hlim=53 time=79.582 ms

+Ifconfig aliases

+ If you have an authenticated connection and a /56 address block, you will see an additional IPv6 address attached to the interface defined in if_prefix= in gw6c.conf.

- MYHOSTNAME AAAA MYIPv6ADDR

+ #ifconfig re0

+ re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

+ options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>

+ inet6 fe80::221:70ff:fef6:8ced%re0 prefixlen 64 scopeid 0x1

+ inet 99.23.159.141 netmask 0xfffffffc broadcast 99.23.159.143

+ inet6 2001:5c0:1105:1200::1 prefixlen 64

+ ether 00:21:70:f6:8c:ed

+ media: Ethernet autoselect (100baseTX <full-duplex>)

+ status: active

+In this case, we have an IPv6 address of 2001:5c0:1105:1200::1. This is the start of the /56 block we have been assigned.

+We can bind to additional addresses in the 2001:5c0:1105:1200::1/56 range. Example: