-
-
-
## 19.16 IPv6
-
-
-
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
-Currently there are four ways to connect to other IPv6 hosts and networks:
-
-
+Currently there are five ways to connect to other IPv6 hosts and networks:
-* Join the experimental 6bone
+* Join the experimental 6bone (Appears to be discontinued)
* Getting an IPv6 network from your upstream provider. Talk to your Internet provider for instructions.
-
* Tunnel via 6-to-4
-
* 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§ion4) tunnel:
-
-
-
-
# ifconfig gif0 create
# ifconfig gif0
# ifconfig gif0 inet6 alias `***MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR***`
-
-
-
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§ion8) '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:
-
-
-
# route add -inet6 default -interface gif0
# ping6 -n `***MY_UPLINK***`
-
-
-
-
-
-
# traceroute6 www.jp.FreeBSD.org
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
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:
+ ifconfig re0 inet6 alias 2001:5c0:1105:1201::1
+### 19.16.4 DNS in the IPv6 World
-To your primary zone DNS file. In case you do not serve your own DNS zones ask your DNS provider. Current versions of **bind** (version 8.3 and 9) support AAAA records.
+
+There are two new types of DNS records for IPv6:
+
+
+* AAAA records,
+
+
+* A6 records
+Using AAAA records is straightforward. Assign your hostname to the new IPv6 address you just got by adding:
+
+
+
+ MYHOSTNAME AAAA MYIPv6ADDR
+
+To your primary zone DNS file. In case you do not serve your own DNS zones ask your DNS provider. Current versions of **bind** (version 8.3 and 9) support AAAA records.
+
CategoryHandbook