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 бита. Из этого следует, что внутри подсетей может существовать до 2
64 различных адресов. Это позволяет делать автонастройку выдачи адресов для машин в подсетях на основе 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
.
Если родное 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 сеть будет работать.