- Visit XS4ALL's Self
Service Centrum (click "IPv6 Tunnel", unfortunately no direct link)
to have an IPv6 tunnel configured on their side.
Enter your IPv4 address and enable the tunnel.
- On your FreeBSD machine (running a recent 4.4 or 5.0-CURRENT), add the
following to /etc/rc.conf:
ipv6_enable="YES"
ipv6_defaultrouter="[XS4ALL's tunnel endpoint]"
ipv6_gateway_enable="YES"
ipv6_network_interfaces="de0 gif0"
ipv6_ifconfig_de0="[your IPv6 prefix]::1 prefixlen 64"
ipv6_ifconfig_gif0="[your IPv6 tunnel endpoint] prefixlen 127"
rtadvd_enable="YES"
gif_interfaces="gif0"
gifconfig_gif0="[your IPv4 address] [XS4ALL's endpoint IPv4 address]"
- Edit /etc/rtadvd.conf:
de0:\
:addrs#1:addr="[your prefix]":prefixlen#64:
(Note: the examples above assume that your network card is named
de0. Substitute the appropriate name for yours.
The prefix length has to be 64.)
- On other machines on your LAN, you then only need to add
the following line to /etc/rc.conf:
ipv6_enable="YES"
- To debug router advertisements you can use radvdump
from the net/radvd port.
- Now you're ready to try to use some network diagnostics tools
such as ping6, traceroute6 and telnet -6.
You can run tcpdump -p -n -e -i gif0 to see what packets
are being sent out. Try doing a # make search key=ipv6
in /usr/ports to see what's available.
- If you want to serve DNS on IPv6 sockets as well you will have to
install BIND9. I used the following to run BIND8 and BIND9
concurrently on the same machine:
./configure --with-libtool --enable-shared --disable-static \
--prefix=/usr/local --sysconfdir=/usr/local/etc/namedb --with-openssl\
--localstatedir=/var
And in named.conf (running only primary for some domains
that are shared with BIND8):
options {
directory "/etc/namedb";
pid-file "/var/run/named/bind9";
transfer-format many-answers;
recursion no;
notify yes;
listen-on { none; };
listen-on-v6 { any; };
};
Also, see