Debian kernels include IPv6 handling in the core kernel (with the exception of some architectures that have it compiled as a module named ). Basic tools such as ping
and traceroute
have their IPv6 equivalents in ping6
and traceroute6
, available respectively in the iputils-ping and iputils-tracepath packages.
The IPv6 network is configured similarly to IPv4, in /etc/network/interfaces
. But if you want that network to be globally available, you must ensure that you have an IPv6-capable router relaying traffic to the global IPv6 network.
例 10.10. Example of IPv6 configuration
IPv6 subnets usually have a netmask of 64 bits. This means that 264 distinct addresses exist within the subnet. This allows Stateless Address Autoconfiguration (SLAAC) to pick an address based on the network interface’s MAC address. By default, if SLAAC is activated in your network and IPv6 on your computer, the kernel will automatically find IPv6 routers and configure the network interfaces.
This behavior may have privacy implications. If you switch networks frequently, e.g. with a laptop, you might not want your MAC address being a part of your public IPv6 address. This makes it easy to identify the same device across networks. A solution to this are IPv6 privacy extensions (which Debian enables by default if IPv6 connectivity is detected during initial installation), which will assign an additional randomly generated address to the interface, periodically change them and prefer them for outgoing connections. Incoming connections can still use the address generated by SLAAC. The following example, for use in /etc/network/interfaces
, activates these privacy extensions.
TIP Programs built with IPv6
Many pieces of software need to be adapted to handle IPv6. Most of the packages in Debian have been adapted already, but not all. If your favorite package does not work with IPv6 yet, you can ask for help on the debian-ipv6 mailing-list. They might know about an IPv6-aware replacement and could file a bug to get the issue properly tracked.
→
IPv6 connections can be restricted, in the same fashion as for IPv4: the standard Debian kernels include an adaptation of netfilter for IPv6. This IPv6-enabled netfilter is configured in a similar fashion to its IPv4 counterpart, except the program to use is instead of iptables
.
CAUTION IPv6 tunneling and firewalls
If a native IPv6 connection is not available, the fallback method is to use a tunnel over IPv4. Gogo6 is one (free) provider of such tunnels:
→ http://www.gogo6.com/freenet6/tunnelbroker
To use a Freenet6 tunnel, you need to register for a Freenet6 Pro account on the website, then install the gogoc package and configure the tunnel. This requires editing the /etc/gogoc/gogoc.conf
file: userid
and password
lines received by e-mail should be added, and server
should be replaced with authenticated.freenet6.net
.
IPv6 connectivity is proposed to all machines on a local network by adding the three following directives to the file (assuming the local network is connected to the eth0 interface):
The machine then becomes the access router for a subnet with a 56-bit prefix. Once the tunnel is aware of this change, the local network must be told about it; this implies installing the radvd
daemon (from the similarly-named package). This IPv6 configuration daemon has a role similar to dhcpd
in the IPv4 world.
Then run and service radvd start
, and the IPv6 network should work.