Product SiteDocumentation Site

10.5. 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
    netmask 64
    # Отключить автоконфигурирование
    # autoconf 0
    # Маршрутизатор автоконфигурирован и не имеет статичных адресов
    # (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 могут быть ограниченны подобно тому, как это делается в IPv4: стандартные ядра Debian включают адаптированный netfilter для IPv6. Такое ограниченное IPv6 соединение в netfilter настраивается аналогично его двойника IPv4, за исключением программ, использующих в своей работе ip6tables, а не команду iptables.

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

Если родное IPv6 соединение недоступно, метод "fallback" использует туннель поверх IPv4. Одним из (свободных) провайдеров, поддерживающий туннель такого типа является Gogo6:
Для использования туннеля Freenet6 Pro, вам необходимо зарегистрироваться и получить учётную запись (аккаунт) на их вэбсайте, далее установить пакет gogoc и настроить туннель. Для этого необходимо отредактировать файл /etc/gogoc/gogoc.conf: в строки userid и password надо добавить данные, полученные по e-mail, а server надо изменить на authenticated.freenet6.net.
IPv6 соединение предлагается для всех машин локальной сети путём добавления трёх пунктов в файл /etc/gogoc/gogoc.conf (в данном примере предполагается, что локальная сеть имеет соединение через интерфейс eth0):
host_type=router
prefixlen=56
if_prefix=eth0
Далее эта машина становится маршрутизатором доступа для подсети с 56-битным префиксом. Один туннель осведомлён об этих изменениях, а локальной сети необходимо рассказать об этом; что означает установку демона radvd (из пакета с похожим именем). Этот демон настройки IPv6 выполняет роль аналогичную той роли, что dhcpd делает в мире IPv4.
Файл настройки /etc/radvd.conf необходимо вначале создать (смотри /usr/share/doc/radvd/examples/simple-radvd.conf в качестве отправной точки для ознакомления). В нашем случае, необходимо изменить только префикс, который надо заменить на тот, что предоставляет Freenet6; его можно найти запустив команду ifconfig в терминале, в блоке, относящемся к интерфейсу tun.
Затем запустите service gogoc restart и service radvd start, и после этого IPv6 сеть будет работать.