Product SiteDocumentation Site

10.6. IPv6

IPv6, преéмник IPv4 - новая версия IP протокола, он предназначен для исправления недостатков IPv4, в первую очередь для устранения нехватки доступных IP адресов. Это протокол работает на сетевом уровне; его цель - поддержка адресации машин, транспортировка данных к месту их назначения и управление фрагментацией данных при необходимости (другими словами, разрезать пакеты на сегменты размерами, зависящими от сетевого соединения, используемого на пути, и воссоздать пакеты из сегментов, собрав их в правильном порядке, сразу по прибытии в месте их назначения).
В ядра Debian включена обработка 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
    # Отключение автоконфигурации
    # autoconf 0
    # router автоконфигурирован и без фиксированного адреса
    # (accept_ra 1). If it had:
    # gateway 2001:db8:1234:5::1
Подсети IPv6 обычно имеют сетевую маску в 64 бита. Из этого следует, что внутри подсетей может существовать до 264 различных адресов. Это позволяет делать автонастройку выдачи адресов для машин в подсетях на основе MAC-адреса сетевого интерфейса ("Stateless Address Autoconfiguration" или коротко SLAAC). По умолчанию, если SLAAC активирован в вашей сети и IPv6 есть на вашем компьютере, то ядро автоматически найдёт IPv6 маршрутизаторы и настроит сетевые интерфейсы.
Такое поведение может иметь последствия для конфиденциальности. Если вы часто переключаете сети, например с ноутбуком вы можете не хотеть, чтобы ваш MAC адрес был частью вашего общедоступного IPv6-адреса. Это позволяет легко идентифицировать одно и то же устройство в различных сетях (то есть идентифицировать личность с привязкой её к определённому электронному устройству). Решением этой проблемы являются расширения конфиденциальности IPv6 (которые Debian включает по умолчанию, если подключение IPv6 обнаружено во время первоначальной установки). Эти расширения будут назначать существующим физическим сетевым интерфейсам другие номера адресов, сгенерированные случайным образом, периодически изменяя их в дальнейшем, а также предпочитать их для исходящих соединений. Входящие соединения по-прежнему могут использовать адрес, сгенерированный SLAAC. Следующий пример для использования в /etc/network/interfaces активирует эти расширения конфиденциальности для интерфейса enp7s0.

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

iface enp7s0 inet6 auto
    # Предпочитать случайным образом назначенные адреса для исходящих соединений.
    privext 2
Соединения IPv6 можно ограничить так же, как и для IPv4. nft может использоваться для создания правил брандмауэра для IPv4 и IPv6 (см. Раздел 14.2.3, «Syntax of nft»).

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

Если родное IPv6 соединение недоступно, метод "fallback" использует туннель поверх IPv4. Одним из (свободных) провайдеров, поддерживающий туннель такого типа является Hurricane Electric:
Чтобы использовать туннель Hurricane Electric, вам необходимо зарегистрировать учётную запись, войти в систему, выбрать бесплатный туннель и отредактировать файл /etc/network/interfaces с сгенерированным кодом.
Вы можете установить и настроить демон radvd (из одноимённого пакета), если хотите использовать настроенный компьютер в качестве маршрутизатора для локальной сети. Этот демон настройки IPv6 имеет роль, аналогичную команде dhcpd в мире IPv4.
Файл настройки /etc/radvd.conf необходимо вначале создать (смотри /usr/share/doc/radvd/examples/simple-radvd.conf в качестве отправной точки для ознакомления). В нашем случае, необходимо изменить только префикс, который надо заменить на тот, что предоставляет Hurricane Electric; его можно найти запустив команду ip a в терминале, в блоке, относящемся к интерфейсу he-ipv6.
Затем запустите systemctl start radvd. После этого IPv6 сеть будет работать.