Installing a Subnet
From SixXS Wiki
Contents |
Introduction
Once you have installed and have aiccu working for a single computer, you may want to create your own subnet, allowing other computers in your network IPv6 connectivity. The first thing to do is request a subnet from your SixXs home page. Once you have a subnet assigned you will need to configure your aiccu client machine. Some information on this is available in the FAQ, in the section ' Connectivity (Tunnels and Subnets) : How do I give connectivity to other hosts on my subnet'. Further information is documented on this page.
In your SixXS home page you will see a table marked subnet, that looks something like the one below, which you will use as the basis of your configuration.
| Details | Tunnel Endpoint | Subnet Prefix | State |
|---|---|---|---|
| R6428 | 2001:4978:f:49::2 | 2001:4978:18d::/48 | Enabled |
Configuration
Linux
Let us assume that IPv6 tunnel is already running, and that you have been granted a routed subnet. If you are not running routing software, such as Quagga, then you can install the radvd package using your distribution's package management tool.
Say you want to slice off the :0000/64 subnet from the /48 you have been granted. Then:
1. Add an IPv6 address to the chosen interface::
ip addr 2001:4978:18d::1/64 dev eth0
2. Tell radvd to advertise the router on the interface. Write in /etc/radvd.conf:
interface eth0 {};
3. Start radvd:
/etc/init.d/radvd start
4. Make sure that forwarding is on:
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
You're set! Now, you'll probably want to firewall your connection.
MacOS X
The first thing to do is edit the /etc/rtadvd.conf file (which is used by rtadvd). The first value is the interface to which your subnet is connected and the next is your subnet prefix. For example:
en0:\ :addrs#1:addr="2001:4978:18d::":prefixlen#64:
(Please notice that you have not bound the whole 2001:4978:18d::/48 subnet to en0. 2001:4978:18d:: is the same thing as 2001:4978:18d:0000::. If your provider is routing 2001:4978:18d::/48 to you, then you can still assign to network interfaces and route 65535 more subnets, from 2001:4978:18d:1::/64 to 2001:4978:18d:ffff::/64.)
Once you have configured this, open the 'system preferences' and configure your IPv6 address to be the subnet prefix, followed by 1. In this case it would be '2001:4978:18d::1'. The route address can be left blank and will default the local host (::1). The follow shows what you should expect to see if you are using MacOS X 10.4:
On the command line run the following sequence of commands (assuming aiccu is not running):
sudo sysctl -w net.inet6.ip6.forwarding=1 sudo sysctl -w net.inet6.ip6.redirect=1 aiccu start rtadvd -s en0
All the other computers in the subnet the IPv6 settings should be set to automatic.
For the address of the DNS server, which rtadvd does not provide, you will either need to specify it manually or use an IPv4 DHCP server. Note that while DHCPv6 may be an option, it does not come bundled standard with MacOS X and for this reason is not documented here as an option at this time.
The Firewall settings in the "Security" system preferences, in MacOS X 10.5 are IPv6 aware, though if you wish to do more advanced configuration there is ip6fw.
Troubleshooting
The first thing to check, if computers behind your router can't connect to IPv6 sites, is whether you have a firewall running on the the router. If you do then try turning it off and see if makes any difference. If it does then you will need to work out what changes you need to make to allow the hosts to access the internet, without having to turn off the firewall altogether (you should always have a firewall in place).

