IPv6 router guide/ru

Основные настройки ядра
Любое из доступных в Gentoo ядер версии 2.6 без проблем поддерживает соединения IPv6. Новый стек IPv6 (USAGI) интегрирован в ядро начиная с версии Linux 2.6.0.

Теперь мы готовы перейти в каталог с исходными кодами ядра и начать его конфигурацию.

Проверка поддержки IPv6
После включения рекомендуемых параметров, скомпилируйте новое ядро с поддержкой IPv6 и перезагрузитесь.

Если программа iproute2 все еще не установлена, мы настоятельно рекомендуем исправить это сейчас. iproute2 — это набор инструментов для конфигурации сети, содержащий ip — замечательную замену для ifconfig, route, iptunnel и другие программы…

Если IPv6 работает, loopback-устройство должно показывать IPv6-адрес:

Перед тем как продолжить, убедитесь, что ipv6 находится в списке USE-флагов в файле, чтобы пакеты, которые будут установлены позже, включали поддержку IPv6.

Основная конфигурация
Большинство провайдеров все еще не предоставляют нативные соединения IPv6. Для обхода этого ограничения есть разбросанные по всему миру провайдеры туннелей (tunnel brokers), предлагающие свободные IPv6-туннели. Благодаря ним можно туннелировать IPv6-соединения через IPv4.

Ниже приведены два примера настройки туннеля с двумя популярными североамериканскими туннелями: Hurricane Electric (также применимо к non-heartbeat туннелям sixxs.net) и Freenet6.

Hurricane Electric
Hurricane Electric (сокращенно — HE) предлагает свободные IPv6-туннели, выделяя адреса блоками /64, а также позволяет настроить обратную DNS-зону. Получение туннеля от HE — простая процедура, сводится к переходу по ссылке https://www.tunnelbroker.net/ и заполнению одностраничной формы.

После выделения туннеля и блока /64 необходимо настроить свою систему Gentoo. HE предоставляет образцы настроек, основанные на утилитах ifconfig и iproute. В двух следующих примерах предполагается следующая конфигурация:

Используя команду  из пакета iproute2, выполните следующее.

Создайте туннель между локальным адресом IPv4 (eth0) и удаленным IPv4-адресом Hurricane Electric:

Выведите издержки туннелирования (tunneling overhead) из MTU:

Откройте туннель:

Назначьте ему IPv6-адрес:

Направьте все глобальные unicast-IPv6-адреса через туннельное устройство 'sixbone':

В следующем примере показано, как создать это во время загрузки:

Сделайте это, чтобы устройство загружалось во время загрузки:

Когда туннель IPv6 поверх IPv4, пакеты сперва попадают в цепочку IPv4, а затем попадают в цепочку IPv6.

Freenet6
Freenet6 — это еще один свободный сервис туннелей. Необязательная регистрация требует только имени пользователя и действующего email-адреса. Управление туннелем сведено к системе клиент-сервер и созданию клиента. Данный клиент доступен в системе Portage. Для его установки выполните:

Теперь при выборе соединения с аутентификацией потребуется настроить, отредактировав файл. Нужно только изменить поля userid и passwd для соответствия полям, назначенным Freenet6, и изменить сетевой шлюз. Ниже приведен пример файла конфигурации.

Проверка соединения
Теперь, когда туннель настроен, необходимо протестировать соединение. Самым легким способом это сделать является использование утилиты  для проверки связи с хостом IPv6.

Ведется дальнейшая работа по добавлению лучшей поддержки IPv6 в сценарии инициализации сети. Чтобы узнать статус разработки или помочь, отправьте сообщение на.

Переустановка пакетов
При отсутствии USE-флага ipv6 в файле, возможно, потребуется переустановить группу пакетов для их компиляции с поддержкой IPv6. Для получения списка всех установленных пакетов, затронутых изменениями USE-флага, используйте параметр Portage  :

При изменении большого количества USE-флагов, этот список будет довольно большим. Предполагается, что система обновляется регулярно, поэтому повторная компиляция всех задействованных пакетов не принесет вреда.

Пакеты для работы с IPv6
Существует несколько пакетов для работы с IPv6. Большинство из них находятся в каталоге.

IPv6 и DNS
Также как DNS для IPv4 использует записи A, DNS для IPv6 использует записи AAAA. (это потому что IPv4 имеет адресное пространство 2^32, в то время как IPv6 имеет адресное пространство 2^128). Для обратных запросов DNS, стандарт INT устарел, но все еще широко поддерживается. ARPA является самым новым стандартом. Поддержка формата ARPA описывается далее в этом руководстве.

Настройка BIND
Последние версии BIND включают поддержку IPv6. Для прочтения этого раздела требуется минимальное знание о конфигурации и использовании BIND. Предполагается, что BIND не запущен в chroot. Если это так, просто добавьте префикс chroot к большинству частей следующего раздела.

Сначала необходимо добавить записи для файлов "прямой" (forward) и "обратной" (reverse) зоны DNS в.

Теперь требуется создать эти файлы зоны и добавить записи для каждого из хостов.

Настройка DJBDNS
Для DJBDNS существует несколько патчей от сторонних разработчиков, доступных по адресу http://www.fefe.de/dns/, которые позволяют выполнение запросов DNS для IPv6. DJBDNS может быть установлен с этими патчами, если в список USE-флагов добавлен ipv6.

После установки djbdns, его нужно настроить, запустив команду  и ответив на несколько вопросов о том, к каким адресам нужно осуществлять привязку, куда устанавливать tinydns, и т. д.

Предположим, мы установили  в. Теперь мы можем отредактировать. Этот файл содержит все данные, необходимые tinydns для обработки DNS для делегирования IPv6.

Для строк с префиксом  будут созданы обе записи: AAAA и PTR. Для строк с префиксом  будет создана только запись AAAA. Помимо редактирования файла вручную, можно использовать сценарии   и   для добавления новых записей. После внесения изменений в файл, необходимо запустить  из. В результате будет создан файл, который будет использоваться tinydns в качестве источника информации для DNS-запросов.

Настройка маршрутизации
Для использования системы в качестве маршрутизатора для других клиентов, которым требуется соединение через IPv6, необходима дальнейшая настройка. Нам потребуется включить переадресацию пакетов IPv6. Это можно сделать двумя способами.

Либо мы установим значение 1 в псевдо-файле переадресации:

Или необходимо использовать команду :

Чтобы включить переадресацию при загрузке, нужно отредактировать файл и добавить в него следующую строчку.

Теперь трафик с этого компьютера должен быть переадресован через туннель, который был установлен ранее с выбранным нами сервисом.

Чтобы назначить клиентам адреса IPv6, в спецификации IPv6 разрешается stateless и stateful назначение IP. Stateless назначение использует процесс с названием Router Advertisement и позволяет клиентам получить IP-адрес и маршрут по умолчанию простым вызовом интерфейса. Этот способ называется "stateless" потому что не имеет записи о назначенных IP-адресах и хосте, которому они назначены. Stateful назначение обрабатывается DHCPv6. Оно называется "stateful" потому что сервер хранит состояние клиентов, запросивших и получивших IP-адреса.

Stateless-конфигурация
Stateless-конфигурация легко выполняется использованием программы Router Advertisement Daemon, или.

После установки, необходимо создать файл , хранящий информацию о том из какой подсети нужно назначать IP. Здесь приведен пример файла, использующий префикс, назначенный нашим сервисом туннелей.

Дальнейшая информация доступна в. Теперь мы можем запустить  и настроить его на запуск при загрузке.

Stateful-конфигурация
Для включения stateful-конфигурации, требуется установить и настроить.

Теперь нужно настроить dibbler-клиент, отредактировав.

Теперь можно запустить клиент dibbler и настроить его на запуск при загрузке.

Использование radvd
Клиенты этого маршрутизатора должны подключаться к сети через IPv6. При использовании radvd, настройка хостов должна быть такой же легкой, как и включение интерфейса. (Это, возможно, уже сделано сценариями инициализации net.ethX).

Should this not work ensure that your IPv6 firewall is allowing ICMPv6 packets through:

Другие источники
В сети имеется большое количество отличных ресурсов по IPv6.

На IRC, можно попробовать канал  на сервере Freenode. К серверам Freenode можно подсоединиться, используя клиент с поддержкой IPv6, установив соединение к irc.ipv6.freenode.net.