IPv6, successor to IPv4, is a newer version of the IP protocol designed to fix its flaws, most notably the scarcity of available IP addresses. This protocol handles the network layer; its purpose is to provide a way to address machines, to convey data to their intended destination, and to handle data fragmentation if needed (in other words, to split packets into chunks with a size that depends on the network links to be used on the path and to reassemble the chunks in their proper order on arrival).
Debian カーネルは IPv6 をコアカーネルでサポートします (ipv6
という名前でコンパイルされたモジュールを使って IPv6 をサポートする一部のアーキテクチャを除きます)。ping
、traceroute
などの基本ツールには IPv6 用の ping6
、traceroute6
などの代替品があり、これらはそれぞれ iputils-ping、iputils-tracepath パッケージに含まれます。
IPv6 ネットワークは IPv4 と同様に /etc/network/interfaces
で設定します。しかし、ネットワークをグローバルに利用できるようにしたい場合、グローバル IPv6 ネットワークへのトラフィックを中継するための IPv6 を取り扱うことができるルータを持っていなければいけません。
例 10.10 IPv6 設定の例
iface enp7s0 inet6 static
address 2001:db8:1234:5::1:1/64
# Disabling auto-configuration
# autoconf 0
# The router is auto-configured and has no fixed address
# (accept_ra 1). If it had:
# gateway 2001:db8:1234:5::1
IPv6 サブネットのネットマスクは通常 64 ビットです。これは、サブネットの中に 2
64 個の異なるアドレスが存在することを意味します。この特徴のおかげで、インターフェースの MAC アドレスに基づいたアドレスを選ぶステートレスアドレス自動設定 (
SLAAC) を使うことが可能です。ネットワークで
SLAAC が有効化されコンピュータで IPv6 が有効化された場合、デフォルトでカーネルは自動的に IPv6 ルータを探してネットワークインターフェースを設定します。
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 for the interface
enp7s0.
例 10.11 IPv6 プライバシー拡張
iface enp7s0 inet6 auto
# Prefer the randomly assigned addresses for outgoing connections.
privext 2
IPv6 connections can be restricted, in the same fashion as for IPv4.
nft
can be used to create firewall rules for IPv4 and IPv6 (see
第 14.2.3 節「Syntax of nft
」).
If a native IPv6 connection is not available, the fallback method is to use a tunnel over IPv4. Hurricane Electric is one (free) provider of such tunnels:
To use a Hurricane Electric tunnel, you need to register an account, login, select a free tunnel and edit the file /etc/network/interfaces
with the generated code.
You can install and configure the radvd
daemon (from the similarly-named package) if you want to use the configured computer as a router for a local network. This IPv6 configuration daemon has a role similar to dhcpd
in the IPv4 world.
The /etc/radvd.conf
configuration file must then be created (see /usr/share/doc/radvd/examples/simple-radvd.conf
as a starting point). In our case, the only required change is the prefix, which needs to be replaced with the one provided by Hurricane Electric; it can be found in the output of the ip a
command, in the block concerning the he-ipv6
interface.
Then run systemctl start radvd
. The IPv6 network should now work.