Debian IPv6 Project
The purpose of the project is to provide a central place to find out about Internet Protocol version 6 in Debian.
Full IPv6 support was a Release Goal for Squeeze. Please see Full IPv6 Support for more details.
Contents
Native IPv6
If you already have native connectivity, Debian should pick it up automatically from router advertisements, and generate addresses for you. You can also use the "static" method in /etc/network/interfaces to set up addresses manually. PPP users may have to add +ipv6 to /etc/ppp/options, as not all PPP RAS servers advertise IPv6 support, even if they will negotiate it upon request.
If you have both native IPv6 and IPv4 (a dual-stack host), you may still want to use 6to4 addresses as well as your native addresses; IPv6 specifies address selection rules that ensure that native hosts will use your native IPv6 connectivity, but 6to4 hosts will use your 6to4 connectivity (removing public relay routers, and reducing the number of points of failure in your setup).
IPv6 6to4 Configuration
You may not know this, but if you have a public IPv4 address you already have IPv6 addresses reserved. There is a transitional system called 6to4 (sometimes written stf or 6 to 4) that maps any IPv4 address an entire subnet of IPv6 addresses. You can use it to assign a single address to your system, or as the prefix for your local IPv6 network. You can also use the method for making a private IPv6 network by using a private IPv4 (RFC 1918) address instead of the deprecated "site-local" fec0::/10 addresses.
Assuming you have a static IPv4 address, you can enable 6to4 in the following way. Edit /etc/network/interfaces and add an interface stanza like this:
auto 6to4 iface 6to4 inet6 6to4 local 192.0.2.3
where 192.0.2.3 is your IPv4 address. Now run
ifup 6to4
to enable the interface. In this example, the 6to4 interface would get the IPv6 address 2002:c000:0203::1.
See also:
https://github.com/barak/auto6to4 packaged as auto6to4
Setting up a 6to4 relay router using Debian
If you have a dual-stacked host (one with both IPv4 and IPv6 native connectivity), you may wish to offer a relay router for the rest of your network.
A relay router should already be configured to forward IPv6 packets natively for its clients; you then add a sit0 interface without a gateway for the 6to4 relay. In /etc/network/interfaces, this looks like:
auto sit0 iface sit0 inet6 static address 2002:c000:0203::1 netmask 16
Note that this is almost identical to a plain 6to4 setup; the only difference is that as you already have native connectivity, you do not need to use a relay router to act as your gateway.
IPv6 Tunnel Configuration
An IPv6 tunnel can be configured using /etc/network/interfaces on Debian (see the interfaces(5) manual page):
auto 6in4 iface 6in4 inet6 v4tunnel address [Your IPv6 Endpoint] netmask [Prefix Length] endpoint [PoP IPv4 Endpoint] gateway [PoP IPv6 Endpoint] ttl 64
Automated Tunnel Configuration
Try the aiccu, for SixXS or gogoc previously known as 'tspc', for Hexago to automate most of the tunnel configuration. Installing the miredo package should also enable IPv6 connectivity via a tunnel, albeit using a dynamic address.
Manual Tunnel Configuration
Hurricane Electric operates a free tunnel broker, with simple web based registration and forums. Examples configurations for Debian are available in the account control panel.
See Also
Original (since 2001) IPv6 resources page, by CSmall
. There was a http://people.debian.org/~csmall/ipv6/ Debian IPv6 (thanks to archive.org).How to set up IPv6 on Debian, by madduck
. documentation on.debian-ipv6 mailing list: http://lists.debian.org/debian-ipv6/
Debian IPv6 IRC Channel: #debian-ipv6 on irc.debian.org
IPv6 IRC: #ipv6 on irc.libera.chat