Product SiteDocumentation Site

10.6. IPv6

IPv6, преéмник IPv4, является новой версией IP протокола, предназначенный для исправления его недостатков, в первую очередь устранить нехватку доступных IP адресов. Это протокол работает на сетевом уровне; его целью является поддержать способы адресации машин, транспортировка данных к месту их назначения, и для обработки данных фрагментации при необходимости (другими словами, разрезать пакеты на дольки размерами, зависящими от сетевого соединения, используемого на пути, и воссоздать пакет из долек, собрав их в правильном порядке, сразу по прибытии в месте его назначения).
В ядра Debian включена обработка IPv6 внутри самого ядра (за исключением нескольких архитектур устройств, в которых скомпилирован модуль, называемый ipv6). Основные инструменты, такие как ping и traceroute, имеют их IPv6 эквивалентов, называемых ping6 и traceroute6, которые доступны в пакетах с соответствующими именами iputils-ping и iputils-tracepath.
Сеть IPv6 настраивается аналогично тому, как это делается в IPv4, в файле /etc/network/interfaces. Но если вы хотите, чтобы сеть была доступна глобально, вы должны убедиться, что имеете IPv6-совместимый маршрутизатор, перенаправляющий трафик в глобальную IPv6 сеть.

Пример 10.10. Пример настройки IPv6

iface eth0 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 бита. Из этого следует, что внутри подсетей может существовать до 264 различных адресов. Это позволяет делать автонастройку выдачи адресов для машин в подсетях на основе MAC-адреса сетевого интерфейса ("Stateless Address Autoconfiguration" или коротко SLAAC). По умолчанию, если SLAAC активирован в вашей сети и IPv6 есть на вашем компьютере, то ядро автоматически найдёт IPv6 маршрутизаторы и настроит сетевые интерфейсы.
Такое стандартное поведение автоназначения IPv6 адресов может иметь (нежелательные) последствия для вашей личной жизни. Если вы часто переключаетесь между разными сетями, например с ноутбуком (смартфоном, планшетом и так далее), возможно вы не захотите, чтобы ваш MAC адрес становился частью публичного IPv6 адреса. Поскольку становится возможным быстро определить личность клиента с одним и тем же устройством в различных сетях (то есть выполнить идентификацию личности в мировом масштабе, с привязкой её к определённому электронному устройству). Для решения данного вопроса были созданы дополнительные расширения IPv6, разработанные специально для повышения секретности (которые Debian включает по умолчанию если IPv6 соединение было обнаружено в процессе первоначальной установки системы). Эти расширения будут назначать существующим физическим сетевым интерфейсам другие номера адресов, сгенерированные случайным образом, периодически изменяя их в дальнейшем, а также предпочитать их для исходящих соединений. Входящие соединения могут использовать адреса только лишь сгенерированные по правилам SLAAC. В следующем примере, показана активизация секретных расширений в файле /etc/network/interfaces.

Пример 10.11. Расширения секретности IPv6

iface eth0 inet6 auto
    # Предпочитать случайным образом назначенные адреса для исходящих соединений.
    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»).

10.6.1. Туннелирование

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.