Разное

Включить ipv6 cp: Как я настроил IPv6 6to4 на Keenetic / Хабр

13.12.1981

Содержание

Как я настроил IPv6 6to4 на Keenetic / Хабр

Так случилось, что мой провайдер Ростелеком не хочет или пока еще не может предоставить мне IPv6. А попробовать-то сильно хочется. Сразу оговорюсь: для нормальной работы требуется статический IPv4.

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

Итак, опробовав всевозможных бесплатных брокеров, я бросил эту затею, но не бросил изучение вопроса. Так я наткнулся на 6to4. Там всё конечно интересно, но настраивать на каждом устройстве в доме слегка ленивое дело. Ну а раз вопрос я изучил, к чему пришел? IPv6 6to4 — это тот же самый IPv6 6in4, что предоставляют нам брокеры. Осталось дело за малым — попытаться все это скормить ЗуХЕЛю.

Не забываем проверить раздел «Системные требования» вышеуказанного сайта.

Там написано: Проверьте, есть ли у вас доступ к IPv4-адресу 192.88.99.1 (например с помощью ping). Если этот адрес не пингуется, вероятнее всего у вашего интернет-провайдера что-то всерьёз «не так» настроено, и в этом случае 6to4 с автоматическим выбором шлюза работать не будет.

Чтобы не сидеть с калькулятором и блокнотом, воспользуемся сайтом 6to4.ru и узнаем IPv6 адрес для своего статического IPv4. Написан он в правом верхнем углу после слов: Your 6to4 prefix is.

На сайте произвели изменения и добавили калькулятор. Вводим IPv4 жмем Get config и получаем IPv6.

И вот почему статического: если будем все это настраивать для динамического адреса, то после каждой смены IP нам надо будет возвращаться в настройки роутера и менять там адрес.

Адрес мы узнали, теперь переходим к роутеру.

На странице настройки IPv6 в поле Адрес сервера вводим адрес 192.88.99.1. В поле Адрес IPv6 указываем адрес, «посчитанный» на сайте без префикса, но с добавлением 1 в конце. Т.к. это будет адрес нашего маршрутизатора. В поле Адрес маршрутизации IPv6 указываем адрес вместе с префиксом.

Все вроде бы настроено, но не тут-то было. Остается проблема с DNS-серверами.
Т.к. сервер имен неизвестен, сайты у нас открываться не будут.

Воспользуемся DNS серверами любимого Google: 2001:4860:4860::8888 и 2001:4860:4860::8844.
Указывать на каждой машине вручную? Тоже не интересно.

Веб-морда не дает нам указать эти адреса, ругается на синтаксис.

Порывшись на сайте ZyXEL, выясняем, что DNS сервер можно задать командой через терминал. Но я пошел по пути наименьшего сопротивления и все через ту же веб скачал конфигурационный файл startup-config, отредактировал и загрузил его обратно.

Почти в самом конце файла, после строки: ipv6 local-prefix default, добавил строки:

ipv6 name-server 2001:4860:4860::8888
ipv6 name-server 2001:4860:4860::8844

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

Теперь мы имеем быстро работающий интернет по IPv6 и маленький ping без зависимости от тунyельных брокеров.

UPD:
После статьи, поддержка ZyXEL решила добавить IPv6 6to4 в прошивку.
Теперь достаточно в консоли выполнить команды:
interface TunnelSixToFour0
ipv6 force-default
up
system config-save

Либо в конфигурационном файле после всех ваших интерфейсов добавить эти же строки:

interface Bridge2
name Home2
-//-
!
interface PPPoE0
description inet
-//-
!

interface TunnelSixToFour0
ipv6 force-default
up
!

Страница не найдена – Information Security Squad

  • 🕵️‍♂️ Знакомимся с Maltego 29.10.2021

    Что такое Maltego ? Maltego – один из самых известных OSINT-фреймворков для персональной и корпоративной разведки. Это инструмент с графическим интерфейсом, который обеспечивает возможность сбора информации о любых лицах путем извлечения информации, общедоступной в Интернете, различными методами. Maltego также способен составлять списки DNS и собирать данные из социальных сетей в легко читаемом формате. Как мы […]

  • 🖧 Бесплатный и платный VPN – в чем разница? 29.10.2021

    Если вы уже узнали о преимуществах использования VPN, пришло время выбрать подходящий сервис. У вас может возникнуть соблазн выбрать бесплатный VPN, который не требует абонентской платы. На бумаге это выглядит просто. Казалось бы, вы просто скачиваете приложение или устанавливаете плагин в браузер, и все ваши проблемы с конфиденциальностью решены? Не так быстро! Бесплатный VPN может […]

  • 🔐 Как установить сервер OpenSSH на Alpine Linux (включая Docker) 27.10.2021

    В этом кратком руководстве объясняется, как установить и настроить сервер и клиент OpenSSH (SSHD) в системе Alpine Linux. Кроме того, вы узнаете, как создать контейнер Docker Linux с сервером sshd на основе образа Alpine Linux. Установка сервера OpenSSH в Alpine Linux Процедура установки ssh-сервера выглядит следующим образом: Найдите пакет ssh, запустите: apk search openssh Установите […]

  • 🐉 Отключение блокировки экрана в Kali Linux 27. 10.2021

    Проблема Kali Linux продолжает блокировать экран, если он не используется в течение короткого периода времени Решение Вам необходимо настроить “Light Locker”, чтобы прекратить автоматическую блокировку сессии. Шаги Нажмите на иконку в левом верхнем углу экрана (логотип Kali Linux) Во всплывающем меню нажмите “Настройки”. В следующем всплывающем меню нажмите “Менеджер питания”. Убедитесь, что открылось окно “XfcePower […]

  • 👀 Terra – инструмент OSINT для Twitter и Instagram 27.10.2021

    Установка Клонируйте репозиторий c github: $ git clone https://github.com/xadhrit/terra.git Сменим каталог: $ cd terra Требования Для установки зависимостей выполните следующие команды: $ python3 -m pip install -r requirements.txt Примечание Для учетных данных Twitter : Для использования terra вам нужны учетные данные, которые перечислены в файле twitter.yml в папке creds. Вы можете узнать больше о Twitter […]

  • Получите IPv6 по PPPoE в Ubuntu

    У меня здесь странная ситуация. Если кто-то может помочь, сделайте это.

    Мы говорим о Linux Box, работающем как маршрутизатор с использованием Ubuntu 18.04.3 LTS, с двумя интерфейсами: «lan», который подключается к моей внутренней локальной сети, и «wan», который подключается к моему интернет-провайдеру.

    Однако моему интернет-провайдеру требуется соединение PPPoE, так что, в основном, интерфейс «wan» используется только в качестве стартера для интерфейса ppp0.

    Моя проблема в том, что я не могу получить глобальный адрес IPv6 на этом сервере.

    Я могу успешно подключиться к своему интернет-провайдеру. Я уже следовал руководству отсюда: http://gruffi.be/mediawiki/index.php/Ipv6_with_PPPoE_on_Ubuntu, но у меня это не работает.

    Итак, вот что я сделал:

    1. / etc / ppp / options:

      +ipv6 ipv6cp-use-ipaddr
      
    2. /etc/sysctl.conf:

      net.ipv6.conf.all.forwarding=1
      
      net.ipv6.conf.ppp0.accept_ra=2
      
    3. /etc/wide-dhcpv6/dhcp6c.

      conf:

      interface ppp0 {
      
          send ia-pd 2;
          send ia-na 1;
      };
      
      # Use subnets from the prefix with id 0
      id-assoc pd 2 {
          prefix-interface lan {
              # Assign subnet 1 to eth0
              sla-len 8; # <----- BELANGRIJK: 8 omdat ons klein net 64 en ons groot 56 is en dat het verschil is
              sla-id 2;
          };
      };
      
      id-assoc na 1 { };
      
    4. /etc/radvd.conf:

      interface lan
      {
          AdvSendAdvert on;
          prefix ::/64
          {
              AdvOnLink on;
              AdvAutonomous on;
              AdvRouterAddr on;
          };
      RDNSS 2001:4860:4860::8888  2001:4860:4860::8844
              {
                      # AdvRDNSSLifetime 3600;
              };
      };
      

    Мой интернет-провайдер сказал мне, что он не использует объявление маршрутизатора, но использует делегирование префикса DHCPv6 и предлагает подсети /64.

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

    Когда я «ifconfig ppp0», он говорит:

    inet 1. 2.3.4 ...
    inet6 fe80::xxxx:yyyy
    

    Никаких признаков глобального IPv6-адреса.

    Если я включаю отладку на широком DHCP-клиенте и просматриваю / var / log / syslog, я вижу, что он пытается отправить сообщения Solicit на ff02::1:2%ppp0, и таймеры сбрасываются. Я не получаю ответа.

    Однако реклама маршрутизатора работает как на «ppp0», так и на моей внутренней локальной сети, потому что у меня есть маршрут по умолчанию: «default via fe80::1», когда я «ip -6 r». Однако нет глобального IPv6-адреса.

    Я подозреваю, что это как-то связано с DHCP. Адрес получен неверно.

    Я могу пинговать:

    ping6 fe80::1%ppp0
    64 bytes from...
    

    Но при попытке «ping6 google.com» он говорит: «За пределами исходного адреса»

    В конечном итоге мне нужно сделать две вещи:

    1. Попытайтесь получить глобальный IPv6-адрес на «ppp0», чтобы мои сайты были доступны с IPv6-адресов (DNS уже позаботился)

    2. Мне нужно переслать любой префикс /64, который дает мне мой интернет-провайдер, скажем: «2001:abcd:dead:beef::/64», на мои внутренние компьютеры, но с использованием фиксированной части для внутренних компьютеров. [/COLOR]

    Например:

    Computer 1: 2001:abcd:dead:beef::1/64
    Computer 2: 2001:abcd:dead:beef::2/64
    Computer 3: 2001:abcd:dead:beef::3/64
    

    Мне НЕ нужны адреса EUI-64, ИЛИ частные адреса. Я хочу, чтобы моим компьютерам был назначен ORDERly IPv6-адрес с заданным префиксом, независимо от динамического префикса.

    Например, после перезагрузки я могу получить «2001:1234:beef:dead::/64». Я хочу такое же распределение хост-части с использованием «:: 1″, «::2″ и так далее…

    Спасибо!

    Настройка сети в CentOS 7

    T-Rex

    Тираннозавр Рекс

    Сетевые настройки — первое, что нужно сделать после создания сервера для его взаимодействия с внешним миром. В этой статье детально рассмотрим как настраивать сеть в CentOS 7.

    Сетевые настройки в CentOS могут выполняться как в графическом интерфейсе, так и через командную строку. Ниже разберем настройку сетевых компонентов путем ввода команд в терминале.

    Для примера используем выделенный сервер. Выделенные серверы заказываются в представлении «Серверы и оборудование».

    После нажатия на кнопку «Заказать сервер» появится представление с характеристиками заказываемого сервера. Можно настроить свои параметры или выбрать готовую конфигурацию. Для демонстрации выберем готовую конфигурацию.

    После выбора готового сервера останется выбрать устанавливаемую операционную систему. Настройку сети будем выполнять в CentOS 7.

    О включении сервера можно узнать при получении письма с параметрами доступа или в интерфейсе веб-консоли управления Selectel. Созданный сервер имеет приведенные ниже характеристики.

    Теперь можно подключиться к серверу по SSH и просмотреть сетевые интерфейсы, созданные по умолчанию. В выводе команды ip address получим нумерованный список интерфейсов.

    # ip address
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127. 0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82.148.21.49/24 brd 82.148.21.255 scope global noprefixroute eno1
           valid_lft forever preferred_lft forever
        inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
           valid_lft forever preferred_lft forever
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff
    

    Внешний сетевой интерфейс, через который было выполнено текущее SSH-подключение, имеет порядковый номер 2 и называется eno1. Интерфейсу для примера был присвоен статический ip-адрес 82.148.21.49.

    Далее мы расскажем об изменении конфигурации сети в CentOS 7.

    Статический IP-адрес в CentOS 7

    Конфигурация сетевого интерфейса хранится в /etc/sysconfig/network-scripts в соответствующем файле с префиксом ifcfg (там же конфигурационные файлы других интерфейсов). Посмотрим на него.

    # cat /etc/sysconfig/network-scripts/ifcfg-eno1 
    NAME="eno1"
    ONBOOT=yes
    BOOTPROTO=static
    HWADDR="ac:1f:6b:f6:3b:7e"
    IPADDR="82.148.21.49"
    NETMASK="255.255.255.0"
    GATEWAY="82.148.21.1"
    TYPE=Ethernet

    Что можно понять из этих характеристик? Ниже расскажем о каждом параметре.

    • NAME — имя сетевого адаптера, оно такое же, как и имя в операционной системе.
    • ONBOOT — указание на тип запуска сетевого интерфейса. При текущих настройках сетевой интерфейс запускается автоматически. В случае со значением no интерфейс нужно будет запускать вручную.
    • BOOTPROTO — указание на тип назначения IP-адреса. В текущих настройках static, но возможны опции dhcp, none или пустое значение.
    • HWADDR — переменная, хранящая MAC-адрес.
    • IPADDR — установленный на интерфейсе IP-адрес.
    • NETMASK — установленная на интерфейсе маска подсети.
    • GATEWAY — указание на шлюз.
    • TYPE — тип интерфейса. В нашем случае — Ethernet.

    Отредактируем значение поля IPADDR:

    # vi /etc/sysconfig/network-scripts/ifcfg-eno1 
    NAME="eno1"
    ONBOOT=yes
    BOOTPROTO=static
    HWADDR="ac:1f:6b:f6:3b:7e"
    IPADDR="82.148.21.50"
    NETMASK="255.255.255.0"
    GATEWAY="82.148.21.1"
    TYPE=Ethernet

    После внесения изменений перезагрузим сетевой сервис. Иначе изменения применятся только после рестарта сервера.

    # systemctl restart network

    После выполнения этой команды сетевое подключение отключится. Снова выполняем подключение по SSH по новому IP-адресу и проверяем новые настройки:

    # ip address
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82. 148.21.50/24 brd 82.148.21.255 scope global noprefixroute eno1
           valid_lft forever preferred_lft forever
        inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
           valid_lft forever preferred_lft forever
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

    Статический IP-адрес настроен, сервер доступен по новому адресу.

    Настройки DHCP в CentOS 7

    Чтобы настроить получение анонсов по DHCP, в /etc/sysconfig/network-scripts/ifcfg-eno1 необходимо удалить переменные IPADDR, NETMASK, GATEWAY, а в BOOTPROTO указать значение «dhcp».

    # vi /etc/sysconfig/network-scripts/ifcfg-eno1 
    NAME="eno1"
    ONBOOT=yes
    BOOTPROTO=dhcp
    HWADDR="ac:1f:6b:f6:3b:7e"
    TYPE=Ethernet

    Перезагружаем сетевой сервис:

    # systemctl restart network

    Сетевое соединение по SSH отключится. Чтобы посмотреть новый IP-адрес сервера, подключимся к нему через веб-консоль KVM Selectel. Нажимаем на иконку консоли.

    В новой вкладке браузера вводим учетные данные сервера и выполняем уже знакомую команду ip address. В выводе команды напротив интерфейса eno1 будет его динамический IP-адрес.

    Теперь можно подключаться по SSH по новому IP-адресу.

    Настройки DNS в CentOS 7

    Чтобы настроить DNS, изменим /etc/sysconfig/network-scripts/ifcfg-eno1 и пропишем туда переменную DNS1 (если нужно добавить дополнительные DNS-серверы, допускается добавление переменных DNS2, DNS3 и т.д.)

    # vi /etc/sysconfig/network-scripts/ifcfg-eno1 
    NAME="eno1"
    ONBOOT=yes
    BOOTPROTO=static
    HWADDR="ac:1f:6b:f6:3b:7e"
    IPADDR="82.148.21.50"
    NETMASK="255.255.255.0"
    GATEWAY="82.148.21.1"
    TYPE=Ethernet
    DNS1="82.148.21.1"

    Следом перезагрузим сеть:

    # systemctl restart network

    По итогам перезагрузки адрес DNS-сервера должен автоматически оказаться в /etc/resolv. conf:

    # grep "nameserver" /etc/resolv.conf
    nameserver ”82.148.21.1”

    Наличие в файле заданного DNS-сервера говорит о корректности его настройки.

    Перезапуск сетевого сервиса в CentOS 7

    Перезапуск сети выполняется одной командой:

    # systemctl restart network

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

    Изменение имени сервера (hostname) в CentOS 7

    После создания сервера через панель управления Selectel ему присваивается имя localhost.localdomain, при аренде выделенного сервера в Selectel имя ему присвоено автоматически:

    # hostname
    Einstein

    Отредактируем /etc/hostname:

    # vi /etc/hostname
    Curie

    Сверим примененные настройки:

    # hostname
    Curie

    Имя хоста изменено.

    Настройки шлюза в CentOS 7

    За соответствующие настройки отвечает переменная GATEWAY в /etc/sysconfig/network-scripts/ifcfg-eno1. Чтобы изменить адрес шлюза, достаточно изменить значение этой переменной и перезагрузить сетевую службу:

    # vi /etc/sysconfig/network-scripts/ifcfg-eno1 
    NAME="eno1"
    ONBOOT=yes
    BOOTPROTO=static
    HWADDR="ac:1f:6b:f6:3b:7e"
    IPADDR="82.148.21.49"
    NETMASK="255.255.255.0"
    GATEWAY="82.148.21.1"
    TYPE=Ethernet
    # systemctl restart network

    Вызов команды netstat -nr вернет актуальный адрес используемого шлюза:

    # netstat -nr
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         82.148.21.1     0.0.0.0         UG        0 0          0 eno1
    82.148.21.0     0.0.0.0         255.255.255.0   U         0 0          0 eno1
    169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eno1

    Таким образом, мы задали адрес сетевого шлюза.

    Настройки сети из консоли

    Кроме модификации файлов с конфигурацией, настройки сети могут быть изменены командами в консоли. Консольные настройки выполняются для проведения тестов и будут работать только до перезагрузки системы. Для выполнения всех консольных сетевых настроек используется уже известная команда ip address (или ее сокращенная версия ip a).

    Применим к eno2 новый IP-адрес и проверим:

    # ip a add 10.128.106.173 dev eno2
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
           valid_lft forever preferred_lft forever
        inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
           valid_lft forever preferred_lft forever
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff
        inet 10. 128.106.173/32 scope global eno2
           valid_lft forever preferred_lft forever

    Изменим маску подсети и снова проверим:

    # ip a change 10.128.106.173/24 dev eno2
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
           valid_lft forever preferred_lft forever
        inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
           valid_lft forever preferred_lft forever
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff
        inet 10. 128.106.173/32 scope global eno2
           valid_lft forever preferred_lft forever
        inet 10.128.106.173/24 scope global eno2
           valid_lft forever preferred_lft forever

    Добавим маршрут по умолчанию:

    # ip r add default via 10.128.106.1

    Удалим маршрут по умолчанию:

    # ip r del default via 10.128.106.1

    Удалим привязанный ранее IP-адрес и проверим:

    # ip a del 10.128.106.173/32 dev eno2
    # ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82.148.21.49/24 brd 82. 148.21.255 scope global eno1
           valid_lft forever preferred_lft forever
        inet6 fe80::ae1f:6bff:fef6:3b7e/64 scope link 
           valid_lft forever preferred_lft forever
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

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

    Исключение IPv6 в CentOS 7

    IPv6-адресация на текущий момент используется редко, хотя и было много разговоров об исчерпании емкостей адресов IPv4. Отключение IPv6 помогает экономить ресурсы и избежать путаницы. В этом разделе расскажем, как отключить на сервере поддержку этого протокола.

    Начнем настройку с изменений в файле /etc/sysctl.conf. Внесем в него две дополнительных строки:

    # vi /etc/sysctl.conf
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1

    Следующий шаг — применение конфигурационных изменений:

    # sysctl -p
    net. ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1

    В /etc/sysconfig/network прибавим 2 строки:

    # vi /etc/sysconfig/network
    NETWORKING_IPV6=no
    IPV6INIT=no

    В конфигурационный файл /etc/default/grub к концу строки GRUB_CMDLINE_LINUX нужно добавить ipv6.disable=1

    # vi /etc/default/grub
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.md.uuid=f93e0283:1b54bb6c:881c4df1:a3b5cf93 rd.lvm.lv=vg0/vol-root rd.md.uuid=b3ba35a4:4f4150fb:0d1464e1:d5ab4bff rd.lvm.lv=vg0/swap nodmraid nomodeset rhgb quiet ipv6.disable=1"
    GRUB_DISABLE_RECOVERY="true"

    После выполнения изменений нужно сохранить файл и обновить GRUB:

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file . ..
    Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-8586236d5c0348d98a7b4f186d904d62
    Found initrd image: /boot/initramfs-0-rescue-8586236d5c0348d98a7b4f186d904d62.img
    done

    Далее — перезагрузка сервера:

    # reboot

    После перезагрузки проверим конфигурацию, значения с префиксом inet6 должны пропасть:

    # ip address
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
           valid_lft forever preferred_lft forever
        inet 10. 128.106.173/24 brd 10.128.106.255 scope global noprefixroute dynamic eno1
           valid_lft 3419sec preferred_lft 3419sec
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

    Протокол IPv6 успешно отключен.

    Несколько IP адресов на одном интерфейсе в CentOS 7

    Для настройки нескольких IP-адресов на одном интерфейсе внесем изменения в /etc/sysconfig/network-scripts/ifcfg-eno1, добавив переменные IPADDR1 и IPADDR2 и удалив IPADDR:

    # vi /etc/sysconfig/network-scripts/ifcfg-eno1 
    NAME="eno1"
    ONBOOT=yes
    BOOTPROTO=static
    HWADDR="ac:1f:6b:f6:3b:7e"
    IPADDR1="82.148.21.49"
    IPADDR2="82.148.21.50"
    NETMASK="255.255.255.0"
    GATEWAY="82.148.21.1"
    TYPE=Ethernet

    После перезагрузки сетевого сервиса изменения вступят в силу:

    # systemctl restart network

    Еще один IP-адрес может понадобиться для поддержки нескольких сервисов в рамках одного сервера.

    Настройки нескольких сетевых интерфейсов в CentOS 7

    Команда ip a вернет состояние всех имеющихся сетевых интерфейсов:

    # ip address
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7e brd ff:ff:ff:ff:ff:ff
        inet 82.148.21.49/24 brd 82.148.21.255 scope global eno1
           valid_lft forever preferred_lft forever
        inet 10.128.106.173/24 brd 10.128.106.255 scope global noprefixroute dynamic eno1
           valid_lft 3419sec preferred_lft 3419sec
    3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether ac:1f:6b:f6:3b:7f brd ff:ff:ff:ff:ff:ff

    В этом выводе можно видеть три интерфейса: служебный lo, а также интерфейсы eno1 и eno2.

    В /etc/sysconfig/network-scripts в соответствующих файлах хранится конфигурация каждого интерфейса:

    # ls /etc/sysconfig/network-scripts | grep 'ifcfg-eno\|ifcfg-lo'
    ifcfg-eno1
    ifcfg-eno2
    ifcfg-lo

    Для управления каждым из них вносятся значения переменных в соответствующий конфигурационный файл:

    # cat /etc/sysconfig/network-scripts/ifcfg-eno2 
    NAME="eno2"
    ONBOOT=yes
    BOOTPROTO=static
    HWADDR="ac:1f:6b:f6:3b:7e"
    IPADDR1="82.148.21.51"
    IPADDR2="82.148.21.52"
    NETMASK="255.255.255.0"
    GATEWAY="82.148.21.1"
    TYPE=Ethernet

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

    # cp /etc/sysconfig/network-scripts/ifcfg-eno2 /etc/sysconfig/network-scripts/ifcfg-eno3
    # vi /etc/sysconfig/network-scripts/ifcfg-eno3
    # systemctl restart network

    Таким образом, мы создали дополнительный интерфейс.

    Настройки интерфейсов в CentOS 7 через Network Manager (утилиты nmtui и nmcli)

    Еще одним способом настроить сеть в CentOS 7 является настройка через утилиту Network Manager. Она может выполняться в GUI и через CLI. Для вызова графического интерфейса необходимо выполнить команду nmtui. Откроется псевдо-GUI интерфейс, в котором можно выполнять те же настройки, что и в командной строке:

    Network Manager через CLI управляется при помощи утилиты nmcli. Ниже приведены команды для изменения IP-адреса, шлюза и DNS-сервера для сетевого интерфейса eno1:

    # nmcli con mod eno1 ipv4.addresses 82.148.21.49/24
    # nmcli con mod eno1 ipv4.gateway 82.148.21.1
    # nmcli con mod eno1 ipv4.dns "8.8.8.8

    Утилита Network Manager имеет широкий функционал и может использоваться как полная замена штатным инструментам для настройки сети в CentOS 7.

    Заключение

    Мы рассказали о различных подходах к настройке сети в CentOS 7. Этого достаточно для базовой настройки коммуникации сервера с внешними устройствами.

    При заказе сервера у облачного провайдера важно проверить сетевые настройки и иметь понимание структуры конфигурационных файлов и их содержимого. Это будет полезно для тонкой настройки сетевых компонентов сервера на базе CentOS 7 для решения поставленных задач.

    Ещё один блог сисадмина: августа 2019

    Отключение IPv6

    До сих пор мне приходилось лишь отключать поддержку IPv6 на компьютерах, т.к. она скорее создавала дополнительные риски для безопасности системы, чем приносила какую-то практическую пользу. Напомню, что для отключения IPv6 на уровне операционной системы нужно выполнить команду:
    # sysctl -w net.ipv6.conf.all.disable_ipv6=1
    Чтобы поддержка IPv6 не включалась при перезагрузке системы, нужно прописать в файл /etc/sysctl.conf такую строчку:
    net.ipv6.conf.all.disable_ipv6=1
    При этом интерфейсам не будут присваиваться адреса IPv6, однако различные сетевые демоны по-прежнему будут готовы обслужить запрос, поступивший через стек IPv6. Чтобы полностью отключить весь стек IPv6, нужно в файле /etc/default/grub добавить в переменную GRUB_CMDLINE_LINUX опцию, которая сообщит ядру о необходимости отключить весь стек IPv6:
    GRUB_CMDLINE_LINUX="ipv6.disable=1"
    После этого нужно обновить файлы конфигурации загрузчика GRUB при помощи следующей команды:
    # update-grub
    И перезагрузить систему.

    Однако, недавно в личном кабинете Дом.ru моё внимание привлёк переключатель поддержки IPv6. Нельзя сказать, что в IPv6 и сейчас есть много пользы, однако поддержка IPv6 со стороны провайдера побудила меня изучить вопрос. Я достал с полки когда-то купленную книжку IPv6. Администрирование сетей и стал почитывать вечерами.

    Надо сказать, что принципы организации IPv6 значительно отличаются от принципов организации ныне используемого протокола IPv4. Это не просто новая версия IPv4 с увеличенной длинной поля IP-адреса. Разработчики протокола подошли к задаче основательно, пытаясь решить множество проблем, накопившихся в IPv4. 24) клиентов, имея всего один блок /32. При этом у клиента остаётся возможность организовать адресное пространство таким образом, чтобы выделить каждому из филиалов по несколько сетей для различных нужд. Например, 16 филиалам по 16 сетей, или 64 филиалам по 4 сети.

    Наконец, оставшиеся 64 бита используются в качестве идентификатора интерфейса сетевого устройства внутри одной сети. Одна сеть может содержать столько устройств, сколько необходимо. Для формирования идентификатора интерфейса используются идентификаторы EUI-64. Идентификатор EUI-64 получается из MAC-адреса следующим образом:

    1. у первого октета MAC-адреса выставляется в единицу бит 1 (выполняется операция «побитовое или» со значением 0x02),
    2. между первыми и последними тремя октетами вставляется два октета — ff fe.

    Организация сетей IPv6 с точки зрения сетевого администратора

    Для сетевого администратора есть несколько интересных отличий IPv6 от IPv4.

    Во-первых, в IPv6 встроены функции автоконфигурации сетевых интерфейсов. Каждый интерфейс назначает себе IPv6-адрес с префиксом fe80::/10, который не подлежит маршрутизации. Эти автоконфигурируемые IPv6-адреса используются для общения с маршрутизаторами и соседями по сети. Благодаря этому минимальная связность сети обеспечивается автоматически, а протоколы конфигурирования значительно упрощаются.

    Во-вторых, т.к. автоконфигурирование обеспечивает минимальную связность сети, упрощаются протоколы обнаружения соседей и более полного автоконфигурирования. В IPv6 функции ARP и частично DHCP включены в протокол ICMPv6. Вместо ARP в ICMPv6 встроен протокол обнаружения соседей NDP — Neighbor Discovery Protocol. Вместо DHCP для получения маршрутов используется функция ICMPv6 под названием RA — Router Advertisement. Для получения адресов DNS-серверов и доменного суффикса по умолчанию в ICMPv6 существуют аналогичные функции RDNSS — Recursive DNS Servers и DNSSL — DNS Search List. Для более сложных случаев можно использовать DHCPv6, роль которого в IPv6 значительно снизилась — он используется для получения узлами различных настроек, таких как списки DNS или NTP-серверов, но не используется для конфигурирования адресов интерфейсов или раздачи информации о маршрутах.

    В-третьих, IPv6 не использует широковещательные рассылки, а усиленно использует мультикаст-адресацию. Например, в протоколе NDP, чтобы узнать MAC-адреса устройства в сети, запрос отправляется на мультикаст-адрес, сформированный из части IPv6-адреса искомого устройства. Т.к. коммутаторам необходимо помнить, какие из портов относятся к каждому мультикаст-адресу, увеличиваются требования к максимальному объёму таблицы коммутации, но при этом снижается паразитная нагрузка на каналы связи, коммутаторы и конечные узлы, возникавшая из-за необходимости рассылать широковещательные пакеты. В IPv6 отпадает всякий смысл в делении крупных сетей на мелкие широковещательные домены. Остаётся осмысленным только выделение сети по организационным соображениям или из соображений безопасности. Например, можно выделять по отдельной сети для филиалов компании, или по сети для VoIP-шлюзов в филиале, с целью ограничить доступ к сети VoIP-шлюзов на маршрутизаторах, вне зависимости от количества оборудования в этой сети. В одной сети, благодаря использованию мультикаст-рассылок, могут уживаться хоть миллионы устройств — лишь бы коммутаторам хватало объёма таблицы коммутации.

    Теперь можно перейти к практике.

    Настройка одного интерфейса с «белым» адресом IPv6

    Перед тем, как настраивать IPv6, сначала нужно настроить PPPoE-подключение с использованием IPv4. Сделать это можно одной из моих прошлых статей: Настройка PPPoE-подключения к ЭР-Телеком/Дом.ru (Уфанет, Башинформсвязь).

    Добавим в файл /etc/ppp/peers/ertelecom одну дополнительную опцию:

    +ipv6
    Можно попробовать переустановить PPPoE-подключение:
    # ifdown ertelecom
    # ifup ertelecom
    После переустановки подключения на интерфейсе ppp0 можно будет увидеть IPv6-адрес. Посмотрим его при помощи такой команды:
    # ip addr show ppp0
    Однако, этот IPv6-адрес начинается с префикса fe80::/10, который аналогичен IPv4-адресам из сети 169.254.0.0/16. Это самоконфигурируемые IPv6-адреса, которые действуют только в пределах одного сегмента сети и не маршрутизируются в другие сегменты. В случае с Ethernet-интерфейсами самоконфигурируемый адрес назначается следующим образом:
    1. в качестве префикса выбирается префикс fe80::/10,
    2. в качестве идентификатора интерфейса используется идентификатор EUI-64, полученный из MAC-адреса интерфейса.
    Идентификатор EUI-64 получается из MAC-адреса следующим образом:
    1. у первого октета MAC-адреса выставляется в единицу бит 1 (выполняется операция «побитовое или» со значением 0x02),
    2. между первыми и последними тремя октетами вставляется два октета — ff fe.
    В случае с PPP-подключениями не существует MAC-адреса, из которого можно было бы сгенерировать младшие 64 бита адреса, поэтому стороны генерируют случайные идентификаторы и согласовывают их друг с другом: соглашаются на предложенные идентификаторы или отказываются, предлагая другие. Именно такие адреса и были настроены на интерфейсе ppp0.

    Для получения «белого» префикса потребуется установить и настроить клиент DHCPv6, который запросит через интерфейс ppp0 префикс IPv6 и настроит его на Ethernet-интерфейсе. Я пробовал сначала воспользоваться демоном dhcpcd5, однако он не желал настраивать Ethernet-интерфейсы, для которых в файле /etc/network/interfaces не указан метод настройки dhcp:

    Sep 11 22:39:19 stupin systemd[1]: Starting LSB: IPv4 DHCP client with IPv4LL support...
    Sep 11 22:39:19 stupin dhcpcd[30762]: Not running dhcpcd because /etc/network/interfaces ... failed!
    Sep 11 22:39:19 stupin dhcpcd[30762]: defines some interfaces that will use a DHCP client ... failed!
    Sep 11 22:39:19 stupin systemd[1]: Started LSB: IPv4 DHCP client with IPv4LL support.
    Я попытался включить настройку интерфейса по DHCPv6, вписав в файл /etc/network/interfaces следующие настройки:
    iface eth0 inet6 dhcp
      request_prefix 1
    Однако даже с такими настройками dhcpcd5 запускаться отказывался. Поэтому я решил попробовать другой DHCP-клиент, которым оказался клиент из проекта WIDE-DHCPv6.

    Установим DHCPv6-клиент:

    # apt-get install wide-dhcpv6-client
    Пропишем настройки DHCPv6-клиента в файле /etc/wide-dhcpv6/dhcp6c. conf:
    interface ppp0 {
      send ia-pd 0;
    };
    
    id-assoc pd 0 {
      prefix-interface eth0 {
        sla-len 0;
        ifid 1;
      };
    };
    Пропишем в файле /etc/default/wide-dhcpv6-client список интерфейсов, через которые DHCPv6-клиент должен запрашивать настройки:
    INTERFACES="ppp0"
    Включим автозапуск wide-dhcp6-client при загрузке системы и перезапустим его, чтобы новые настройки вступили в силу:
    # systemctl enable wide-dhcpv6-client
    # systemctl restart wide-dhcpv6-client
    Теперь DHCPv6-клиент получает через интерфейс ppp0 префикс вида 2a02:2698:882X:XXXX::/64 и настраивает на интерфейсе eth0 «белый» IPv6-адрес с использованием этого префикса. Что характерно, выдаваемый IPv6-префикс — динамический, т.к. при каждом переподключении выдаётся другой.

    В рецепте настройки DHCPv6-клиента написано, что для корректного удаления IPv6-адреса с Ethernet-интерфейса нужно соорудить дополнительные «костыли» в файлах /etc/ppp/ipv6-up.d/20-wide-client-start и /etc/ppp/ipv6-down.d/20-wide-client-stop. Я, однако, «костыли» немного преобразовал, чтобы при отключении PPPoE останавливался только тот экземпляр клиента DHCPv6, который получает настройки через подключение PPPoE.

    Также при установке подключения нужно присвоить sysctl-переменной net.ipv6.conf.ppp0.accept_ra значение 2, чтобы система добавляла в таблицу маршрутизации IPv6-маршруты, анонсированные провайдером через интерфейс PPPoE. Присваивать это значение нужно именно через эти скрипты, т.к. интерфейс ppp0 появляется только после установки подключения и по умолчанию значение sysctl-переменной net.ipv6.conf.ppp0.accept_ra равно единице — система принимает анонсы маршрутов, но не добавляет их в таблицу маршрутизации.

    В результате мои «костыли» приняли несколько другой вид. Содержимое файла /etc/ppp/ipv6-up.d/route:

    #!/bin/sh
    
    case "$PPP_IPPARAM" in
            ertelecom)
    
            sysctl -w net.ipv6.conf.$PPP_IFACE.accept_ra=2
            dhcp6ctl -C start interface $PPP_IFACE
            ;;
    
            *)
            echo "No PPP_IPPARAM defined"
            ;;
    esac
    Содержимое файла /etc/ppp/ipv6-down. d/route:
    #!/bin/sh
    
    case "$PPP_IPPARAM" in
            ertelecom)
    
            dhcp6ctl -C stop interface $PPP_IFACE
            ;;
    
            *)
            echo "No PPP_IPPARAM defined"
            ;;
    esac
    На обоих файлах нужно выставить бит исполнимости:
    # chmod +x /etc/ppp/ipv6-up.d/route
    # chmod +x /etc/ppp/ipv6-down.d/route

    Настройка фильтрации пакетов IPv6

    Хотя пока мало кто пользуется IPv6, всё же не стоит выставлять свой компьютер в «дикий» интернет, не прикрыв его пакетным фильтром. Базовая настройка пакетного фильтра такова:
    # ip6tables -A INPUT -i lo -j ACCEPT
    # ip6tables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    # ip6tables -A INPUT -p icmpv6 -m icmpv6 ! --icmpv6-type redirect -j ACCEPT
    # ip6tables -A INPUT -i ppp0 -p udp -m udp -s fe80::/10 --sport 547 --dport 546  -j ACCEPT
    # ip6tables -A INPUT DROP
    В настроенных выше правилах пакетного фильтра разрешается:
    1. любой трафик через локальный петлевой интерфейсе lo,
    2. любой входящий ICMPv6-трафик, кроме переадресаций,
    3. разрешается принимать настройки по протоколу DHCPv6 через интерфейсе ppp0.
    Сохраним настроенные правила фильтрации пакетов IPv6 в файл /etc/network/ip6tables:
    # ip6tables-save > /etc/network/ip6tables
    И пропишем их автоматическую загрузку в файл /etc/network/interfaces при поднятии локального петлевого интерфейса:
    auto lo
    iface lo inet loopback
      pre-up iptables-restore < /etc/network/iptables
      pre-up ip6tables-restore < /etc/network/ip6tables

    Настройка BIND и openresolv для работы с IPv6

    В одной из моих прошлых заметок описана Настройка кэширующего DNS-сервера BIND в связке с openresolv. Т.к. я продолжаю использовать эту связку, мне нужно приспособить её для работы с IPv6.

    Первым делом нужно включить обслуживание запросов на IPv6-адресах в bind9. Для этого открываем файл /etc/bind/named.conf.options и вписываем опцию для прослушивания всех IPv6-адресов компьютера:

    listen-on-v6 { any; };
    Чтобы bind9 отвечал на запросы с IPv6-адреса ::1 — аналога IPv4-адреса 127.0.0.1, нужно добавить этот адрес в список адресов, которые могут выполнять рекурсивные запросы. В моём случае список адресов, которым разрешается выполнять рекурсивные запросы к DNS-серверу, выглядит следующим образом:
    allow-recursion { 127.0.0.1; 169.254.253.0/24; 169.254.254.0/24; ::1; };
    Осталось перезапустить bind9, чтобы он начал принимать запросы на IPv6-адресах:
    # systemctl restart bind9
    Теперь нужно настроить openresolv так, чтобы он прописывал в файл /etc/resolv.conf IPv6-адрес DNS-сервера — ::1. Для этого открываем на редактирование файл /etc/resolvconf.conf и приводим опцию name_servers к следующему виду:
    name_servers="127.0.0.1 ::1"
    Осталось обновить файл /etc/resolv.conf в соответствии с новыми настройками openresolv. Сделать это можно при помощи следующей команды:
    # resolvconf -u

    Проверка правильности настройки IPv6

    Проверим правильность настройки IPv6, открыв веб-страницу для тестирования IPv6 — Проверьте ваше IPv6 подключение. Результат проверки в моём случае выглядел следующим образом:

    Ещё один тест IPv6, более подробный и требовательный — IPv6 test — IPv6/4 connectivity and speed test. Результат этой проверки оказался следующим:

    К сожалению, настроить PTR-запись для IPv6-адреса может только провайдер, но нельзя настроить PTR-запись для IPv6-адреса, префикс которого провайдер выдаёт каждый раз разный. Я задавал вопрос в техподдержку ЭР-Телекома о том, возможно ли выдавать один и тот же «статический» префикс IPv6 подобно тому, как это организовано в случае «статического» адреса IPv4. Мне ответили, что такой возможности в настоящее время у них нет. Поэтому в этом тесте мне удалось добиться максимально возможного количества баллов — 19 из 20. Для получения 20 баллов уже потребуются телодвижения со стороны провайдера.

    Раздача «белых» IPv6-адресов устройствам в локальной сети

    Провайдер выдал нам «белый» префикс IPv6 с маской /64, а это значит, что у нас имеется целая сеть, IPv6-адреса из которой мы можем раздавать своим устройствам. Даже самое крупное предприятие с сотнями тысяч компьютеров может уместиться в одной такой сети, выдав каждому сетевому узлу по одному адресу IPv6. Нет никакой необходимости использовать NAT, а задача защиты устройств от «дикого» интернета решается фильтрацией пакетов. У крупных предприятий может возникнуть потребность в получении от провайдера более коротких префиксов лишь при необходимости логически организовать свою сеть: выделить отдельные сети своим подразделениям (например, филиалам в разных городах), а в подразделениях — выделить отдельные подсети для разных целей (например, отдельная сеть для компьютеров сотрудников, отдельная — для голосовых шлюзов и т.д).

    Я лично столкнулся с необходимостью иметь хотя бы две сети. Одну из них я хотел бы использовать на Ethernet-интерфейсе, а другую — на WiFi-интерфейсе. Вообще, RFC6177 рекомендует выдавать клиентам префиксы длиной от /48 до /56, но провайдер не следует рекомендациям, жадничает и выдаёт префиксы /64. Сначала я попробовал запросить у провайдера сразу два префикса, изменив файл конфигурации /etc/wide-dhcpv6-client/dhcp6c.conf следующим образом:

    interface ppp0 {
      send ia-pd 0;
      send ia-pd 1;
    };
    
    id-assoc pd 0 {
      prefix-interface eth0 {
        sla-len 0;
        ifid 1;
      };
    };
    
    id-assoc pd 1 {
      prefix-interface wlan0 {
        sla-len 0;
        ifid 1;
      };
    };
    Но в ответ на такой трюк DHCPv6-сервер провайдера просто перестал отвечать на мои запросы. Пробовал воспользоваться NDP-прокси ndppd — аналогом ARP-прокси для IPv6 и демоном ndprbrd. Вместе они должны были перехватывать NDP-запросы, транслировать их на другой интерфейс, а при получении ответа добавлять маршрут к обнаруженному соседу через конкретный интерфейс. Но по не понятным мне причинам этот вариант тоже не взлетел. Остаётся только ждать и надеяться, что в ЭР-Телекоме когда-нибудь реализуют делегирование префиксов короче /64. Даже /60, позволяющей выделить 16 сетей /64 мне для дома хватило бы с головой.

    Поскольку на Ethernet-интерфейсе у меня нет оборудования, имеющего полноценную поддержку IPv6, но есть нотубук с Debian, который может подключаться к WiFi-сети, то я решил повесить эту сеть на интерфейс wlan0.

    Т.к. на моём компьютере установлен DNS-сервер, я решил в анонсах RA раздавать его адрес. Правда, поскольку выдаваемый провайдером IPv6-префикс — динамический, придётся воспользоваться локальными самосконфигурированными на интерфейсах IPv6-адресами. Первым делом разрешим DNS-серверу обслуживать запросы на локальных адресах. Для этого откроем в текстовом редакторе файл /etc/bind/named.conf.options и отредактируем список адресов, для которых будут обслуживаться рекурсивные запросы. В этот список я добавил сеть fe08::/10:

    allow-recursion { 127.0.0.1; 169.254.253.0/24; 169.254.254.0/24; ::1; fe08::/10; };
    Это не очень хорошо, т.к. провайдер тоже сможет через PPPoE-подключение обращаться с рекурсивными запросами к моему DNS-серверу. Педант в моей душе немного негодует, однако сумел договориться с практиком, который не нашёл других выходов из этой ситуации. Сообщим DNS-серверу об изменившихся настройках:
    # systemctl reload bind9
    Для того, чтобы раздавать IPv6-адреса из выделенной нам сети, установим и настроим демона radvd — Router ADVertisement Daemon — демона объявления маршрутизатора. Установим одноимённый пакет:
    # apt-get install radvd
    Создадим файл /etc/radvd.conf со следующим содержимым:
    interface wlan0
    {
      AdvSendAdvert on;
      MaxRtrAdvInterval 60;
    
      prefix ::/64
      {
        AdvValidLifetime 600;
        AdvPreferredLifetime 120;
      };
    
      RDNSS fe80::c24a:ff:fe9f:89fc {};
      DNSSL stupin. su {};
    };
    Включим и запустим демона:
    # systemctl enable radvd
    # systemctl start radvd
    Теперь устройства в локальной сети могут запрашивать префикс у нашего компьютера. Если на компьютере настроена фильтрация пакетов, то для того, чтобы клиенты смогли обращаться к radvd, нужно разрешить входящие UDP-пакеты на порт 58:
    # ip6tables -A INPUT -i eth0 -p udp -m udp --dport 58  -j ACCEPT
    Если устройства в локальной сети должны иметь доступ к DNS-серверу, то нужна пара правил, полностью аналогичных таковым для IPv4:
    # ip6tables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
    # ip6tables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    Чтобы разрешить пропускать трафик из локальной сети во внешнюю сеть, нужно при помощи команды sysctl выставить несколько настроек:
    # sysctl -w net.ipv6.conf.all.forwarding=1
    # sysctl -w net.ipv6.conf.default.forwarding=1
    Чтобы эти настройки применялись автоматически при перезагрузке компьютера, нужно вписать их в файл /etc/sysctl.conf:
    net. ipv6.conf.all.forwarding=1
    net.ipv6.conf.default.forwarding=1
    Если на компьютере настроена фильтрация пакетов, можно разрешить движение трафика между локальным и внешним интерфейсами. Например, я разрешил только движение пакетов ICMPv6:
    # ip6tables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    # ip6tables -A FORWARD -p icmpv6 -m icmpv6 ! --icmpv6-type redirect -j ACCEPT
    # ip6tables -P FORWARD DROP
    Ноутбуку, который будет подключаться к сети, кое-что всё-таки разрешим:
    # ip6tables -A FORWARD -i wlan0 -p tcp -m multiport --dports 21,22,25,43,80,110,143,443,587,993,995,5222,5223 -j ACCEPT
    После изменения настроек фильтрации пакетов не забудьте записать их:
    # ip6tables-save > /etc/network/ip6tables
    Теперь настала очередь настройки системы на ноутбуке. Во-первых, поставим rdnssd для получения адресов DNS-серверов:
    # apt-get install rdnssd
    Включим и запустим его:
    # systemctl enable rdnssd
    # systemctl start rdnssd
    Для правильной работы rndssd понадобится также пакет resolvconf. Если он ещё не установлен в системе, нужно его поставить:
    # apt-get install resolvconf
    Теперь пропишем в файле /etc/network/interfaces, как нужно настраивать IPv6 на интерфейсе wlan0:
    iface wlan0 inet6 auto
      privext 2
    Т.к. к префиксу, полученному через RA, добавляется идентификатор интерфейса, полученный из MAC-адреса компьютера, то MAC-адрес служит отличным идентификатором, по которому можно отслеживать интернет-активность конкретного устройства. Этот идентификатор остаётся постоянным даже при смене провайдера. Опция privext включает генерацию случайного идентификатора интерфейса, а также приоритетное использование IPv6-адреса, полученного из этого идентификатора. Таким крупным компаниям как Google это нисколько не помешает отслеживать активность устройства, но и облегчать задачу всем подряд тоже не стоит.

    Осталось отключиться от WiFi-сети и снова подключиться к ней и проверить доступность IPv6-ресурсов с ноутбука:

    # ifdown wlan0
    # ifup wlan0
    Заходим на указанные выше ресурсы для тестирования IPv6 и любуемся результатами. В этом случае по второй ссылке удалось набрать лишь 17 баллов, т.к. ICMPv6-запросы были слишком медленными и не успевали отрабатывать за отведённое время.

    Использованные материалы

    IPv6 от Дом.ru (ЭР-Телеком) на сервере Ubuntu/Debian

    MPD 5 настройка [АйТи бубен]

    Homepage: MPD — Multi-link PPP daemon for FreeBSD

    MPD — это основанная на netgraph реализация ppp-протокола мультисвязи для FreeBSD. MPD спроектирован быть быстрым и гибким, обрабатывая конфигурацию и обращения в режиме пользователя, направляя пакеты данных напрямую в ядро.

    MPD имеет унифицированную поддержку следующих типов связи:

    MPD поддерживает некоторые типы подпротоколов PPP и его расширения, такие как:

    В зависимости от конфигурационных правил и параметров подключения MPD может работать как обычный PPP клиент/сервер или перенаправлять подключение без модификации на другой хост, используя любой поддерживаемый тип подключения, предоставляя функциональность LAC/PAC/TSA для построения сетей с распределенным управлением доступом.

    MPD также включает множество дополнительных особенностей (фич):

    FreeBSD 7.2-RELEASE-p4 mpd-5.5

    mpd.conf переделать

      * Настройка mpd.conf - конфигурационного файла VPN сервера
    > ee /usr/local/etc/mpd5/mpd.conf
    #################################################################
    #
    #       MPD configuration file
    #
    #################################################################
    
    startup:
            # configure mpd users
            # Пользователь с правами админа Логин: foo, Пароль: bar
            set user foo bar admin
            # configure the console
            # Нужно чтобы подключится по телнету через 5005 порт
            set console self 127.0.0.1 5005
            set console open                                                     
            # configure the web server
            # Web интрефейс MPD. Для подключения в браузере набрать: http://91.x.x.x:5006/
            set web self 91.x.x.x 5006
            set web open
    
    default:
            load pptp_server
    
    pptp_server:
    # Define dynamic IP address pool. 
    # который присвоется VPN девайсу.
            set ippool add pool1 192.168.86.100 192.168.86.150
    
    # Create clonable bundle template named B
            create bundle template B
            set iface enable proxy-arp
            set iface idle 1800
            set iface enable tcpmssfix
            set ipcp yes vjcomp
    # Specify IP address pool for dynamic assigment.
            # IP адрес сервера, который мы будем показывать клиентам (можно не реальный IP)
            set ipcp ranges 192.168.1.101/32 ippool pool1
            set ipcp dns 192.168.1.254 - DNS сервер
            set ipcp nbns 192.168.1.254 - WINS сервер
    # The five lines below enable Microsoft Point-to-Point encryption
    # (MPPE) using the ng_mppc(8) netgraph node type.
            set ipcp ranges 192.168.1.101/32 ippool pool1
            set ipcp dns 192.168.1.254
            set bundle enable compression
            set ccp yes mppc
            set mppc yes compress
            set mppc yes e128
            set mppc yes stateless
    # Create clonable link template named L
            create link template L pptp
    # Set bundle template to use
            set link action bundle B
    # Multilink adds some overhead, but gives full 1500 MTU. 
            set link enable multilink
            set link yes acfcomp protocomp
            set link no pap chap eap
            set link enable chap
    # We can use use RADIUS authentication/accounting by including
    # another config section with label 'radius'.
    #       load radius
            set link keep-alive 10 60
    # We reducing link mtu to avoid GRE packet fragmentation.
            set link mtu 1460
    # Configure PPTP
            set pptp self 91.x.x.x - указываем здесь ip сетевого интерфейса для подключения vpn, если стоят нули то подключается со всех интерфейсов
    # Allow to accept calls
            set link enable incoming
    
    > /usr/local/etc/rc.d/mpd5 start

    Основной источник: Установка VPN сервера mpd5 + сжатие и шифрование

    По умолчанию загружаемый модуль ng_mppc.ko в FreeBSD собран без поддержки компрессии. Для того чтобы строка set mppc yes compress в файле mpd.conf заработала ядро нужно пересобрать с параметрами:

    options         NETGRAPH
    # MPPC compression requires proprietary files (not included)
    options        NETGRAPH_MPPC_COMPRESSION
    options         NETGRAPH_MPPC_ENCRYPTION
    > make buildkernel KERNCONF=PFVLANVPNNG
    cc: /usr/src/sys/net/mppcc. c: No such file or directory
    cc: /usr/src/sys/net/mppcd.c: No such file or directory
    /usr/src/sys/netgraph/ng_mppc.c:83:22: error: net/mppc.h: No such file or directory
    mkdep: compile failed
    *** Error code 1
    
    Stop in /usr/obj/usr/src/sys/PFVLANVPNNG.
    *** Error code 1
    
    Stop in /usr/src.
    *** Error code 1
    
    Stop in /usr/src.
    

    Качаем недостающие файлы с сайта Alternative MPPC compression/decompression library или здесь mppc-1.0.tgz

    > fetch http://mavhome.dp.ua/MPPC/mppc-1.0.tgz
    > tar -xvf mppc-1.0.tgz -C /usr/src/sys/net/

    Правим Makefile для того что бы активировать сжатие

    > ee /usr/src/sys/modules/netgraph/mppc/Makefile
    # поменять
    NETGRAPH_MPPC_COMPRESSION?=     0
    # на
    NETGRAPH_MPPC_COMPRESSION?=     1

    Переходим в директорию и устанавливаем

    > cd /usr/src/sys/modules/netgraph/mppc
    > make && make install && make clean

    Проверяем есть ли строки. Если нет добавляем. Начиная с версии FreeBSD 6. 3 они должны быть. В FreeBSD 7.2 есть точно.

    # grep net/mppc /usr/src/sys/conf/files
    net/mppcc.c			optional netgraph_mppc_compression
    net/mppcd.c			optional netgraph_mppc_compression

    Собираем ядро с поддержкой сжатия

    > cd /usr/src/
    > make buildkernel KERNCONF=PFVLANVPNNG
    > make installkernel KERNCONF=PFVLANVPNNG && shutdown -r now

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

    tcpdump -i tun0 -p proto 47 or port 1723

    IPV6CP, протокол управления PPP IPv6

    IPV6CP, протокол управления PPP IPv6
    IPV6CP, PPP Протокол управления IPv6


    Описание:

    Протокол IPV6CP используется для установки и настройки IPv6 через Ссылки PPP.

    RFC 2472, страницы 1-3:

    Перед тем, как любые пакеты IPv6 могут быть переданы, PPP ДОЛЖЕН достичь фазы протокола сетевого уровня, а протокол управления IPv6 ДОЛЖЕН достичь открытого состояния.

    IPV6CP отвечает за настройку, включение и отключение модулей протокола IPv6 на обоих концах соединения точка-точка. IPV6CP использует тот же механизм обмена пакетами, что и протокол управления каналом (LCP). Пакеты IPV6CP нельзя обмениваться, пока PPP не достигнет фазы протокола сетевого уровня. Пакеты IPV6CP, полученные до достижения этой фазы, следует отбрасывать без уведомления.


    Заголовок PPP Заголовок IPV6CP Data :::

    Заголовок IPV6CP:

    Код. 8 бит.
    Задает выполняемую функцию.

    Код Описание Ссылки
    0 В зависимости от поставщика. RFC 2153
    1 Configure-Request.
    2 Configure-Ack.
    3 Configure-Nak.
    4 Настроить-отклонить.
    5 Запрос на завершение.
    6 Terminate-Ack.
    7 Код отклонен.

    Идентификатор. 8 бит.
    Используется для сопоставления запросов и ответов.

    Длина. 16 бит.
    Размер пакета, включая заголовок.

    Данные. Переменная длина.
    Ноль или более байтов данных, как указано в поле «Длина». Это поле может содержать одну или несколько опций .


    Параметры конфигурации IPV6CP.

    00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
    Опция Длина
    Данные :::

    Опция. 8 бит.

    Опция Длина Описание Ссылки
    1 10 Идентификатор интерфейса. RFC 2472, RFC 5072
    2> = 14 Протокол сжатия IPv6. RFC 2472, RFC 3544, RFC 5172

    Длина. 8 бит.

    Данные. Переменная длина.


    Типы.

    Тип Описание Ссылки
    0x0003 ROHC, сжатие заголовка RObust. RFC 3241
    0x004F Сжатие заголовка IPv6. RFC 2023
    0x0061 Сжатие IP-заголовка. RFC 2507, RFC 3544

    Глоссарий:


    RFC:

    [RFC 2472] IP версии 6 через PPP.

    • Категория: Дорожка стандартов.
    • Устарело:
      RFC 2023.

    [RFC 3544] Сжатие IP-заголовка через PPP.

    • Категория: Дорожка стандартов.
    • Устарело:
      RFC 2509.

    Публикации:


    Устаревшие RFC:

    [RFC 2023] IP версии 6 через PPP.

    • Категория: Дорожка стандартов.
    • Устарело:
      RFC 2472.

    [RFC 2509] Сжатие IP-заголовка через PPP.

    • Категория: Дорожка стандартов.
    • Устарело:
      RFC 3544.


    Тестирование IPv6 через PPPoE с CDRouter | qa

    Модель IPv6 через PPPoE

    Для установления успешного соединения IPv6 через туннель PPPoE требуются две отдельные фазы.Первый этап включает установление соединения точка-точка. Второй этап связан с адресацией IPv6. В мире IPv4 IP-адреса обычно согласовываются между клиентом и сервером с использованием различных параметров протокола управления IP (IPCP). IPCP — это протокол управления сетью (NCP) PPP, формально определенный в RFC 1332.

    Эквивалент IPCP в мире IPv6 известен как протокол управления IPv6 (IPv6CP), который определен в RFC 5072. В отличие от IPCP, IPv6CP не содержит параметров для прямого согласования адресов или префиксов.Скорее, это оставлено другим протоколам, таким как DHCPv6, который должен запускаться клиентом после установления начального соединения PPP. Обратите внимание, что IPv6CP включает параметр Interface-Identifier, который можно использовать для согласования уникального идентификатора интерфейса и, в конечном итоге, адреса через автоконфигурацию адреса без сохранения состояния, если она поддерживается.

    CDRouter поддерживает PPPoE как режим WAN как для IPv4, так и для IPv6. Выбор PPPoE для режима IPv6 WAN не зависит от выбранного режима IPv4 WAN. Таким образом, можно запускать IPv6 поверх PPPoE в сочетании с любым из режимов IPv4 WAN на основе Ethernet, поддерживаемых CDRouter.Однако, если PPPoE настроен как режим WAN как для IPv4, так и для IPv6, IPCP и IPv6CP должны выполняться в рамках одного сеанса PPPoE. CDRouter не поддерживает конфигурации, в которых IPCP и IPv6CP выполняются в отдельных сеансах. Это положение соответствует модели, описанной в разделе 1 RFC 4241:

    . В этой архитектуре служба двойного стека IPv6 / IPv4 определяется следующим образом:
    • Возможности подключения IPv6 и IPv4 предоставляются по одному логическому каналу PPP.
    • Возможность подключения по IPv6 не зависит от подключения по IPv4.IPV6CP и IPCP работают независимо по одному логическому каналу PPP.

    Здесь можно найти пример сеанса PPP CloudShark, в котором происходят как IPCP, так и IPv6CP.

    Поскольку CDRouter требует, чтобы IPCP и IPv6CP происходили в рамках одного сеанса PPPoE, клиент PPPoE DUT в глобальной сети должен быть настроен на использование одинаковых учетных данных как для IPv4 (если применимо), так и для IPv6 (если применимо). Сервер PPPoE CDRouter в глобальной сети имеет ряд параметров конфигурации, которые применимы только к IPv4. Единственные параметры, которые применяются к соединениям IPv6, — это имя пользователя, пароль и тип аутентификации PPPoE, которые могут быть PAP, CHAP, MSCHAP, MSCHAPv2 и None. Для настройки этих параметров можно использовать testvars pppoeUser , pppoePassword и pppAuthType :

     testvar pppoeUser qacafe
    testvar pppoePassword qacafe123
    testvar pppAuthType PAP 

    Как указано выше, сервер PPPoE CDRouter настроен с одним набором учетных данных, поскольку и IPCP, и IPv6CP должны выполняться в рамках одного сеанса PPPoE.В результате имя пользователя, пароль и тип аутентификации PPPoE будут одинаковыми для IPv4 и IPv6.

    Помимо установления соединения PPP, на DUT также должны быть настроены адреса IPv6. Раздел 1 RFC 4241 поддерживает использование делегирования префикса DHCPv6 для распространения информации об адресе и DNS на DUT:

    Функция автоматической настройки направлена ​​на упрощение настройки пользователя. Обычно пользователям необходимо настроить как минимум два параметра, относящихся к IPv6: назначенный им префикс (а) [RFC3769] и адреса DNS-серверов IPv6. Функция состоит из двух подфункций:
    • Делегирование префиксов для использования на сайте пользователя.
    • Уведомление об адресах серверов DNS IPv6 и / или других адресах серверов.

    Сценарии конфигурации

    Когда настроен IPv6 поверх PPPoE, DUT обычно имеет четыре различных варианта для управления получением или способом глобального IPv6-адреса в глобальной сети. CDRouter поддерживает эти четыре режима с помощью testvar ipv6PPPoEAddressMode , который может принимать одно из следующих значений:

    • none : DUT не имеет глобального IPv6-адреса в WAN (без номера)
    • DHCP : DUT использует DHCPv6 для получения глобального IPv6-адреса в WAN (пронумерованный)
    • статический : глобальный IPv6-адрес DUT настроен вручную (пронумерован)
    • autoconf : DUT использует SLAAC / автоконфигурацию для получения глобального IPv6 в WAN (пронумеровано)

    Кроме того, глобальный IPv6-адрес LAN на стороне DUT может быть либо динамически изучен с помощью делегирования префикса DHCPv6, либо вручную настроен для каждого режима адресации WAN, описанного выше. В результате получается восемь уникальных сценариев конфигурации IPv6 через PPPoE (четыре режима адресации WAN умноженные на два режима адресации LAN).

    Примеры

    Приведенные здесь примеры сосредоточены на настройке связи между тестовым интерфейсом WAN CDRouter и интерфейсом WAN DUT. Для простоты во всех четырех примерах используется одна и та же базовая конфигурация LAN на основе поддерживаемого делегирования префикса DHCPv6. Предполагается, что DUT запускает autoconf в локальной сети с интервалом объявления маршрутизатора 300 секунд и длиной префикса 64 бита.Эти конфигурации также предполагают, что DUT поддерживает опцию RDNSS объявления маршрутизатора для распространения информации DNS клиентам в LAN, и что DUT будет предоставлять реальные DNS-серверы, полученные в WAN, клиентам в LAN (он не действует как прокси-сервер). ). См. Руководство пользователя CDRouter IPv6 для получения информации о тестовых переменных LAN, используемых в этих примерах, и информации о настройке DHCPv6 в отличие от autoconf в локальной сети.

    ** Сценарий конфигурации ** ** Режим IPv4 WAN ** ** Режим IPv6 WAN ** ** DUT WAN IPv6-адрес ** ** IPv6-адрес ЛВС DUT **
    1 Любые * PPPoE нет (без номера) DHCPv6 PD **
    2 Любая * PPPoE DHCPv6 (пронумерованный) DHCPv6 PD **
    3 Любая * PPPoE статический (пронумерованный) DHCPv6 PD **
    4 Любая * PPPoE Autoconf (номер) DHCPv6 PD **

    Физическим уровнем должен быть Ethernet.Режимы WAN IPv4 для PPPoA и PPP / T1 не поддерживаются для соединений PPPoE IPv6.

    Если делегирование префикса не поддерживается или не включено в DUT, глобальный IPv6-адрес на DUT должен быть настроен вручную .

    Пример конфигурации 1

    В этой конфигурации DUT не имеет глобального IPv6-адреса в WAN, который также обозначается как без номера .

     # - Включить IPv6 в CDRouter
    testvar поддерживает IPv6 да
    
    # - Установить режим WAN IPv6 на PPPoE
    testvar ipv6WanMode PPPoE
    
    # - Включить DHCPv6 для делегирования префикса
    testvar dhcpv6WanEnablePD да
    testvar dhcpv6WanAssignPrefix 3001: dddd ::
    testvar dhcpv6WanAssignNextPrefix 3001: ddde ::
    testvar dhcpv6WanAssignPrefixLen 48
    testvar dhcpv6PDLatency 30
    
    # - Отключить WAN IPv6-адрес
    testvar ipv6PPPoEAddressMode нет
    
    # - Настроить DNS-серверы, которые будут предоставляться через DHCPv6 Option 23
    testvar ipv6WanDnsServer 3001: 51a: cafe :: 2
    testvar ipv6WanBackupDnsServer 3001: 51a: cafe :: 3
    
    # - Конфигурация LAN
    testvar ipv6LanMode autoconf
    testvar ipv6LanIp ::% eui64%
    testvar ipv6LanSubnetId 1111
    testvar ipv6LanPrefixLen 64
    testvar ipv6SupportsRdnss да
    testvar ipv6DNStoLAN да
    testvar ipv6RAInterval 300 

    Пример конфигурации 2

    В этой конфигурации DUT использует DHCPv6 как для делегирования префиксов, так и для назначения адресов в глобальной сети. Сервер DHCPv6 CDRouter будет отвечать как на запросы IA_NA, так и на IA_PD от DUT, а также будет автоматически предоставлять информацию DNS для DUT с использованием опции 23 DHCPv6 (рекурсивный сервер имен) во всех обменах сообщениями DHCPv6.

     # - Включить IPv6 в CDRouter
    testvar поддерживает IPv6 да
    
    # - Установить режим WAN IPv6 на PPPoE
    testvar ipv6WanMode PPPoE
    
    # - Включить DHCPv6 для делегирования префикса
    testvar dhcpv6WanEnablePD да
    testvar dhcpv6WanAssignPrefix 3001: dddd ::
    testvar dhcpv6WanAssignNextPrefix 3001: ddde ::
    testvar dhcpv6WanAssignPrefixLen 48
    testvar dhcpv6PDLatency 30
    
    # - Включить DHCPv6 для назначения адресов WAN
    testvar ipv6PPPoEAddressMode DHCP
    testvar ipv6WanIspIp 3001 :: 1
    testvar ipv6WanIspAssignIp 3001 :: 2
    testvar ipv6WanIspNextIp 3001 :: 3
    testvar ipv6WanIspPrefixLen 64
    
    # - Настроить DNS-серверы, которые будут предоставляться через DHCPv6 Option 23
    testvar ipv6WanDnsServer 3001: 51a: cafe :: 2
    testvar ipv6WanBackupDnsServer 3001: 51a: cafe :: 3
    
    # - Конфигурация LAN
    testvar ipv6LanMode autoconf
    testvar ipv6LanIp ::% eui64%
    testvar ipv6LanSubnetId 1111
    testvar ipv6LanPrefixLen 64
    testvar ipv6SupportsRdnss да
    testvar ipv6DNStoLAN да
    testvar ipv6RAInterval 300 

    Имеется ряд дополнительных параметров, которые можно использовать для изменения поведения DHCPv6-сервера глобальной сети CDRouter. Дополнительные сведения см. В Руководстве пользователя CDRouter IPv6.

    Пример конфигурации 3

    В этой конфигурации CDRouter будет отправлять объявления маршрутизатора по глобальной сети, объявляя префикс, составленный с использованием тестовых переменных ipv6WanIspIp и ipv6WanIspPrefixLen . В этом примере CDRouter анонсирует префикс 3001 :: / 64 в WAN.

    Эта конфигурация требует, чтобы testvar ipv6PPPoEAddressMode был включен и установлен на значение autoconf .

     # - Включить IPv6 в CDRouter
    testvar поддерживает IPv6 да
    
    # - Установить режим WAN IPv6 на PPPoE
    testvar ipv6WanMode PPPoE
    
    # - Включить DHCPv6 для делегирования префикса
    testvar dhcpv6WanEnablePD да
    testvar dhcpv6WanAssignPrefix 3001: dddd ::
    testvar dhcpv6WanAssignNextPrefix 3001: ddde ::
    testvar dhcpv6WanAssignPrefixLen 48
    testvar dhcpv6PDLatency 30
    
    # - Включить статические WAN-адреса
    testvar ipv6PPPoEAddressMode статический
    testvar ipv6WanIspIp 3001 :: 1
    testvar ipv6WanIspAssignIp 3001 :: 2
    testvar ipv6WanIspNextIp 3001 :: 3
    testvar ipv6WanIspPrefixLen 64
    
    # - Настроить DNS-серверы, которые будут предоставляться через DHCPv6 Option 23
    testvar ipv6WanDnsServer 3001: 51a: cafe :: 2
    testvar ipv6WanBackupDnsServer 3001: 51a: cafe :: 3
    
    # - Конфигурация LAN
    testvar ipv6LanMode autoconf
    testvar ipv6LanIp ::% eui64%
    testvar ipv6LanSubnetId 1111
    testvar ipv6LanPrefixLen 64
    testvar ipv6SupportsRdnss да
    testvar ipv6DNStoLAN да
    testvar ipv6RAInterval 300 

    Пример конфигурации 4

    В этой конфигурации глобальный IPv6-адрес DUT в глобальной сети настраивается вручную и должен соответствовать значению testvar ipv6WanIspAssignIp . Кроме того, шлюз и длина префикса DUT должны соответствовать testvars ipv6WanIspIp и ipv6WanIspPrefixLen соответственно.

     # - Включить IPv6 в CDRouter
    testvar поддерживает IPv6 да
    
    # - Установить режим WAN IPv6 на PPPoE
    testvar ipv6WanMode PPPoE
    
    # - Включить DHCPv6 для делегирования префикса
    testvar dhcpv6WanEnablePD да
    testvar dhcpv6WanAssignPrefix 3001: dddd ::
    testvar dhcpv6WanAssignNextPrefix 3001: ddde ::
    testvar dhcpv6WanAssignPrefixLen 48
    testvar dhcpv6PDLatency 30
    
    # - Включить автоконфигурацию для назначения WAN-адреса
    testvar ipv6PPPoEAddressMode autoconf
    testvar ipv6WanIspIp 3001 :: 1
    testvar ipv6WanIspAssignIp 3001 :: 2
    testvar ipv6WanIspNextIp 3001 :: 3
    testvar ipv6WanIspPrefixLen 64
    
    # - Настроить DNS-серверы, которые будут предоставляться через DHCPv6 Option 23
    testvar ipv6WanDnsServer 3001: 51a: cafe :: 2
    testvar ipv6WanBackupDnsServer 3001: 51a: cafe :: 3
    
    # - Конфигурация LAN
    testvar ipv6LanMode autoconf
    testvar ipv6LanIp ::% eui64%
    testvar ipv6LanSubnetId 1111
    testvar ipv6LanPrefixLen 64
    testvar ipv6SupportsRdnss да
    testvar ipv6DNStoLAN да
    testvar ipv6RAInterval 300 

    Тестовые упражнения

    CDRouter 6. 3 включает специальный тестовый модуль, pppoev6-c , для проверки функциональности базового протокола соединений IPv6 на основе PPPoE в глобальной сети. Этот модуль очень похож на существующий тестовый модуль IPv4 PPPoE pppoe-c . Кроме того, ряд тестовых модулей IPv6 CDRouter также может быть запущен с DUT, когда PPPoE используется в WAN для IPv6. В следующей таблице показано, какие тестовые модули IPv6 CDRouter подходят для каждого из примеров конфигурации, описанных выше.

    Интересным упражнением по тестированию, связанным с PPPoE для IPv6, является запуск одной и той же конфигурации PPPoE IPv6 поверх всех различных режимов IPv4 WAN, поддерживаемых DUT. Это гарантирует, что поведение DUT IPv6 PPPoE будет согласованным независимо от выбранного режима IPv4 WAN. Расширяя это упражнение, тесты перенумерации IPv4 PPPoE могут быть запущены с включенным PPPoE для IPv6, чтобы убедиться, что изменения, связанные с IPv4, не влияют на возможность подключения IPv6

    Решено: Cisco 867VAE IPv6 через PPPoA / PPPoE (IPV6CP)

    Привет,

    мой интернет-провайдер предлагает собственный IPv6 ADSL, поэтому я получаю новый ISR Cisco 867VAE для IPv6 через PPPoA / PPPoE, через IPV6CP

    C867VAE (CISCO867VAE-K9) поставляется с уровнем «ADVANCED SECURITY», IOS 15 . 1

    файл образа системы: «flash: c860vae-advsecurityk9-mz.151-4.M3.bin»

    это самый высокий уровень лицензии, поскольку «РАСШИРЕННЫЕ IP-СЕРВИСЫ», похоже, недоступны для моделей 860VAE

    , поэтому я проверил » Cisco Feature Navigator », где я вижу, что для платформы Cisco 867VAE,

    « доступны »следующие функции:

    Службы доступа IPv6: PPPoA

    Службы доступа IPv6: PPPoE

    , но я боюсь C867VAE, с IOS» РАСШИРЕННАЯ БЕЗОПАСНОСТЬ », не поддерживает IPV6CP,

    (и я вижу, что DHCPv6 все равно отсутствует), может ли кто-нибудь помочь мне подтвердить?

    IPv4 работает нормально, но нет согласования IPV6CP во время PPP (см. Мой фрагмент конфигурации ниже)

    «debug ppp nego» вообще не показывает IPV6CP, только эта постоянная ошибка отображается в журнале шоу:

    000422: * 6 апреля, 07:28:21.817 CEST: Vi2 PPP: исходящий пакет ipv6 отброшен, NCP не согласован

    , так что может ли Cisco 867VAE действительно выполнять IPv6 через PPPoA / PPPoE через IPV6CP?

    или я забыл какую-либо команду для ее активации / разрешения?

    Спасибо за вашу помощь

    Olivier

    —-

    соответствующая часть моей конфигурации:

    !

    ipv6 unicast-routing

    no ipv6 source-route

    ipv6 cef

    ipv6 route :: / 0 Dialer0

    !

    интерфейс ATM0. 1 точка-точка

    IP flow ingress

    pvc 8/35

    encapsulation aal5mux ppp dialer

    dialer pool-member 1

    !

    interface Dialer0

    ip-адрес согласован

    ip access-group internet_in in

    ip mtu 1452

    ip nat outside

    ip virtual-reassembly in

    инкапсуляция ppp

    пул дозвона 1

    группа дозвона 1

    ipv6 адрес autoconfig

    ipv6 enable

    ppp authentication chap callin

    ppp chap hostname xxx @ isp.ipadsl

    ppp chap password xxxxx

    !

    список дозвона 1 протокол ipv6 разрешение

    PPPoE server Назначение IPv6-адреса через ND и пример конфигурации согласования IPv6CP

    Как показано на рисунке 8, настройте PPPoE-сервер для объявления хосту следующей информации:

    Хост использует префикс IPv6 и идентификатор интерфейса IPv6 для генерации IPv6 глобальный одноадресный адрес.

    Рисунок 8: Сетевая диаграмма

    # Create Virtual-Template 10.

      system-view
    [Маршрутизатор] виртуальный шаблон интерфейса 10
     

    # Настройте Virtual-Template 10 для использования PAP для аутентификации однорангового узла.

     [Router-Virtual-Template10] ppp режим аутентификации pap домен системы
     

    # Настроить IPv6-адрес для виртуального шаблона 10.

     [Router-Virtual-Template10] IPv6-адрес 2001 :: 1 64
     

    # Включить виртуальный шаблон 10 для объявления сообщений RA.

     [Router-Virtual-Template10] отменить ipv6 и ra halt
    [Router-Virtual-Template10] выйти
     

    # Включите сервер PPPoE на GigabitEthernet 1/0/1 и привяжите интерфейс к Virtual-Template 10.

     [Router] interface gigabitethernet 1/0/1
    [Router-GigabitEthernet1 / 0/1] pppoe-server bind virtual-template 10
    [Router-GigabitEthernet1 / 0/1] выйти
     

    # Настроить пользователя PPPoE.

     [Маршрутизатор] локальный пользователь сеть класса user1
    [Router-luser-network-user1] пароль простой pass1
    [Router-luser-network-user1] ppp типа службы
    [Router-luser-network-user1] выйти
     

    # Настроить префикс IPv6, авторизованный для пользователя в домене ISP.

     [Маршрутизатор] доменная система
    [Router-isp-system] атрибут-авторизации префикс ipv6 2003 :: 64
    [Router-isp-system] выйти
     

    Проверка конфигурации

    # Отображение информации о пользователе PPP на GigabitEthernet 1/0/1.

     [Router] display ppp access-user interface gigabitethernet 1/0/1
    Интерфейс Имя пользователя MAC-адрес IP-адрес IPv6-адрес IPv6 PDPrefix
    VA0 user1 0000-5e08-9d00 - 2003 :: 9CBC: 3898: 0: 605 -
     

    IPv6CP + DHCPv6 + SLAAC + RA = IPCP «ipSpace.чистый блог

    На прошлой неделе я получил интересный твит: « Привет, @ioshints, не могли бы вы сказать мне, каков параметр радиуса для отправки DNS-серверов ipv6 при согласовании pppoe? »Оказалось, что писатель хотел распространить адрес DNS-сервера IPv6 с IPv6CP, что не работает. В отличие от IPCP, IPv6CP обеспечивает лишь простое подтверждение того, что два узла готовы использовать IPv6. Все остальные параметры должны быть согласованы с DHCPv6 или ICMPv6 (RA / SLAAC).

    В следующей таблице сравниваются возможности IPCP с возможностями, предлагаемыми комбинацией DHCPv6, SLAAC и RA (IPv6CP совершенно бесполезен в качестве инструмента согласования параметров хоста):

    Параметр IPCP DHCPv6 SLAAC1 RA2
    Адрес хоста Да Да 3 Да
    Нет
    Нет по умолчанию Нет DNS-сервер Да Да Да4 Список поиска DNS Нет Да Да4000 Делегированный префикс75

    Примечания:

    1. SLAAC (RFC 2462) использует RA для получения информации о префиксе IPv6 для локальной подсети.
    2. Объявления маршрутизатора
    3. (RA) являются частью ICMPv6 (RFC 4443).
    4. Вероятно, вы захотите использовать адреса IPv6 с автосогласованием в соединениях PPP.
    5. Параметры IPv6 RA для конфигурации DNS (RFC 6106) еще не получили широкого распространения в операционных системах для настольных ПК.

    Для развертывания IPv6 в среде коммутируемого доступа с Cisco IOS необходимо:

    • Разверните серверы DHCPv6 на маршрутизаторах . Если вам просто нужно передать информацию DNS на конечные хосты, не настраивайте пулы адресов IPv6.Если вам необходимо поддерживать делегирование префикса IA_PD, свяжите локальный пул адресов IPv6 с пулом DHCP (если вы не выполняете делегирование префикса через Radius).
    • Включить RA для всех виртуальных шаблонов интерфейсов . Хотя не обязательно запускать RA на двухточечном канале (довольно очевидно, кто является маршрутизатором), RA упрощает автоматическое создание маршрута по умолчанию на устройстве CPE.
    • Используйте SLAAC . RA включен, поэтому SLAAC работает. Однако SLAAC требует префикса IPv6 с глобальной маршрутизацией на каждом интерфейсе виртуального доступа.Используйте пулы адресов IPv6 с динамическим распределением префиксов.
    Дополнительная информация

    Различные конфигурации интерфейса доступа IPv6 описаны в моем вебинаре Building IPv6 Service Provider Core ; Если вы инженеры предприятия, управляющие прилично большой сетью, вы найдете ее полезной, несмотря на ее название.

    Информация начального уровня для инженеров предприятия, рассматривающих развертывание IPv6 в своих сетях, обобщена в моем веб-семинаре «Enterprise IPv6 — первые шаги».

    Оба вебинара также доступны в рамках годового пакета подписки.

    PPPv6

    PPP следующего поколения

    Как и любой другой канальный уровень, который может передавать TCP / IP, протокол точка-точка (PPP) был улучшен. для транспортировки IPv6. Я опишу здесь, как это настроить. Описываемая мной настройка сначала настраивает транспорт IPv4. а затем улучшите его, чтобы он также передавал IPv6. Цель — показать, что нужно сделать, чтобы включить IPv6 поверх PPP.

    Я предполагаю, что провайдер для обслуживания клиентов использует сеть 2001: db8 :: / 32. На самом деле, особенно для провайдеров, у которых более нескольких сотен клиентов / подключений или более одного концентратора доступа, настройка будет немного сложнее из-за того, что задействовано более одной / 32 сети. Эта статья только предполагается чтобы показать некоторые из возможностей и задействованных методов.

    Базовая настройка

    Для своих тестов я использовал несколько виртуальных машин под управлением Debian на VirtualBox и использовал PPPoE для связи.На самом деле любой транспорт с поддержкой PPP (например, модем, прямое последовательное соединение, UMTS) подойдет, но PPPoE был наиболее простым для меня.

    Пакеты «ppp» и «pppoe» необходимы для всех машин, дополнительно для сервера необходим «radvd».

    При установке сетевого интерфейса каждого компьютера должен быть в режиме NAT или моста, как только все пакеты будут установлены, они должны быть переключены на внутренние (например, с идентификатором «ppp-test»). Я рекомендую дать серверу два интерфейса, поэтому эту маршрутизацию можно проверить.

    Сервер или PPPoE для развлечения и прибыли

    Документация RP-PPPoE предупреждает, что включенный сервер не предназначен для установки коммерческого производства, там должно быть много пакетов, которые больше подходят для работы, я просто использовал это для удобства. Я тоже не совсем убедитесь, что моя базовая настройка сервера PPP достаточно безопасна для провайдера — сделайте свои собственные проверки, если вы планируете быть настоящим провайдер.

    Сервер PPPoE ожидает свою конфигурацию PPP в / etc / ppp / pppoe-server-options, он содержит обычную серверную часть конфигурации:

    № 172.16.1.1: 172.16.1.2
    отлаживать
    noipdefault
    пассивный
    + папа
    -глава
    авторизация
    имя myisp. local
    мс-днс 10.0.2.3
    маска сети 255.255.255.0
    скрыть пароль
    
     

    и некоторые, относящиеся к PPPoE (скопированы из файла dsl-provider по умолчанию в Debian):

    lcp-эхо-интервал 20
    lcp-echo-failure 3
    подключить / bin / true
    MTU 1492
    noaccomp
    по умолчанию-asyncmap
    
     

    Первый вариант предоставит серверу IPv4-адрес 172.16.1.1 и клиент 172.16.1.2, если он не закомментирован. В моих настройках эта опция фактически исходит от PPPoE-сервера. Параметр сетевой маски должен соответствовать тому, что установлено в этом первый вариант или в сервере PPPoE. Второй вариант «отладка» записывает еще несколько строк в системный журнал — может помочь во время тестирования. Параметр noipdefault включает согласование IPCP для адресов IPv4. Пассивный опция заставляет pppd ждать действий с другой стороны, если нет немедленной реакции — это полезно для сервера.Опции + pap и -chap закрепляют pppd на аутентификации PAP, в то время как auth требует, чтобы клиент аутентифицировал себя. Параметр name заставляет pppd сообщить другой стороне, что это машина myisp.local (замените это на любое более подходящее имя). В Параметр ms-dns заставляет сервер сообщать клиенту, что такое DNS-сервер.

    Аутентификация настраивается в / etc / ppp / pap-secrets:

    # пароль пользователя сервера IPv4
    фред myisp. местный кремневый камень *
    barney myisp.местный щебень *
    
     

    Первый параметр здесь — это имя пользователя, второй должен совпадать с именем, указанным выше, третий. параметр — пароль пользователя, последний всегда должен быть «*», чтобы соответствовать любому настроенному IP-адресу. В этом примере есть два пользователя «fred» и «barney».

    Переадресация IP должна быть включена как для IPv4, так и для IPv6, лучше всего поместить это в один из сценариев запуска:

    эхо 1> / proc / sys / net / ipv6 / conf / all / forwarding
    эхо 1> / proc / sys / net / ipv6 / conf / default / forwarding
    эхо 1> / proc / sys / net / ipv4 / ip_forward
    
     

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

    ifconfig eth2 вверх
    Сервер pppoe -F -I eth2 -L 172.16.1.1 -R 172.16.1.17
    
     

    Параметр -F заставляет сервер оставаться на переднем плане — это упрощает его повторное уничтожение с помощью Ctrl-C. Оставьте опцию -F, если вы запускаете pppoe-server из сценария инициализации. Параметр -I дает ему интерфейс для работы, -L настраивает локальный IPv4-адрес, а -R — первый удаленный адрес (сервер отсчитывает оттуда каждое параллельное соединение, по умолчанию он использовал 64 соединения и адреса).

    Клиент

    Клиент довольно простой.Debian (как и большинство дистрибутивов Linux) предлагает конфигурацию по умолчанию, называемую dsl-provider. Все, что нужно сделать, это проверить, что оно использует правильное сетевое устройство (параметр -I в строке «pty»), настроить имя пользователя (например, «user fred» — наша установка не требует @provider) и введите учетные данные в / etc / ppp / pap-secrets:

    Фред * кремневый камень
    
     

    Если вы теперь введете «pon dsl-provider» в свою командную строку, вы должны увидеть работающее соединение IPv4.

    Основы IPv6

    Первое, что должно произойти, — это чтобы устройства PPP с обеих сторон осознали, что они поддерживают IPv6. На стороне сервера добавьте такую ​​строку в / etc / ppp / pppoe-server-options:

    ipv6 :: 1, :: 2
    
     

    Это дает серверу интерфейс с идентификатором хоста :: 1 и идентификатором хоста клиента :: 2. Эта опция фактически настраивает последние 64 бита адресов IPv6 или, более конкретно, EUI-64 каждой стороны.Я рекомендую вам всегда использовать :: 1 для сервера и :: 2 для клиента — такая простая настройка значительно упрощает отладку, а также совместим с другими сервисами (например, туннели Sixxs используют те же идентификаторы).

    На стороне клиента вам теперь нужно добавить строку «+ ipv6», чтобы включить согласование IPv6CP. В зависимости от вашей версии pppd и в настройках вашего дистрибутива это может быть уже значение по умолчанию, но не помешает установить его явно.

    Как только вы перезапустите клиентский PPP, у вас будут интерфейсы PPP с поддержкой IPv6 на обеих сторонах. Это означает, что у них обоих есть ссылка локальный адрес fe80 :: / 64. Все остальное выходит за рамки PPPv6. Период. Извините, спасибо за ваше внимание, двигаться дальше …

    Но не волнуйтесь, IPv6 дает нам множество возможностей для продолжения.

    Подключение хоста к хосту IPv6

    В следующих примерах я буду использовать блок 2001: db8: 1 :: / 48 для назначения адресов для интерфейсов PPP — это из Конечно, предполагается, что существует не более 65000 пользователей-клиентов и нет двойных входов одного и того же пользователя (так что реально провайдеры должны думать о сетевых назначениях немного больше, чем я).

    Я поместил простую конфигурацию в / etc / ppp / ipv6-addr:

    Фред: 1234
    Барни: 5678
    
     

    Этот файл присваивает каждому пользователю статический номер от 2 до шестнадцатеричного ffff (он должен быть в шестнадцатеричной нотации!). В подсети 0 и 1 зарезервированы для сети на стороне сервера (2001: db8: 0 :: / 48) и интерфейсов PPP (2001: db8: 1 :: / 48). Я использую один и тот же 16-битный идентификатор как для сетевого идентификатора интерфейса PPP / 64, так и для сети на стороне клиента / 48 — для удобства, Опять же, реальный провайдер, вероятно, будет использовать более сложную настройку.

    Общая рекомендация экспертов IPv6 — назначать клиентам статические адреса — и вот что этот файл делает для нас.

    Демон PPP запускает определенные сценарии по завершении каждой фазы соединения. Для IPv6 это / etc / ppp / ipv6-up после завершения IPv6CP и возможности использования IPv6, и / etc / ppp / ipv6-down, когда интерфейс выключение или IPv6 каким-то образом отключен. В Debian оба сценария выполняют вспомогательные сценарии в / etc / ppp / ipv6-up.$ PEERNAME: / etc / ppp / ipv6-addr | cut -f 2 -d 🙂 если тест x $ ADDR == x; тогда echo «Для пользователя $ PEERNAME не найден IPv6-адрес» выход 0 фи # настроить локально ifconfig $ IFNAME добавить 2001: db8: 1: $ ADDR :: 1/64 #generate radvd config RAP = / etc / ppp / ipv6-radvd / $ IFNAME RA = $ RAP. conf эхо-интерфейс $ IFNAME> $ RA echo ‘{AdvSendAdvert on; MinRtrAdvInterval 5; MaxRtrAdvInterval 100; ‘ >> $ RA echo ‘prefix’ 2001: db8: 1: $ ADDR :: / 64 ‘{};’ >> $ RA echo ‘RDNSS 2001: db8 :: 1 {}; }; ‘ >> $ RA #start radvd / usr / sbin / radvd -C $ RA -p $ RAP.пид выход 0

    Первая строка этого сценария извлекает идентификатор пользователя из адресного файла, а приведенный ниже оператор if гарантирует, что что-то нашлось — иначе скрипт просто отказывает в настройке. Строка ifconfig устанавливает локальный адрес IPv6, поскольку это не произойдет автоматически. Затем для этого создается специальная конфигурация объявления маршрутизатора. interface и, наконец, с этой конфигурацией запускается radvd.

    Конфигурация radvd назначает правильное устройство PPP в первой строке, а затем активирует автоматические рекламные объявления. во второй строке (чтобы убедиться, что клиент получает хотя бы некоторые из них) настраивает правильный префикс в третья строка и, наконец, сообщает клиенту о DNS-сервере, доступном по IPv6 (2001: db8 :: 1).

    В этой настройке используется префикс / 64 для каждого PPP-соединения, что эффективно тратит 63 бита, поскольку существуют только два конца для каждое соединение PPP — но у нас много битов, и это фактически отражает RFC для PPPv6.

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

    К сожалению, такая установка может привести к тому, что многие radvds останутся запущенными. Это можно решить с помощью простого скрипта для ipv6-вниз.d, который очищает radvd:

    RAP = / etc / ppp / ipv6-radvd / $ IFNAME
    kill `cat $ RAP.pid` || правда
    rm -f $ RAP. *
    
     

    Подключение сети к сети вручную

    Большинство клиентов будут служить маршрутизаторами для всей сети. С IPv6 это означает, что им нужно получить идентификатор сети. назначенный. Эксперты IPv6 рекомендуют конечным пользователям / 48 — это то, что я покажу здесь.

    Конфигурации на стороне сервера для этого нужна еще одна строка (вставьте ее под строкой ifconfig):

    маршрут -6 добавить 2001: db8: $ ADDR :: / 48 gw 2001: db8: 1: $ ADDR :: 2
    
     

    Нет необходимости очищать его, так как операционная система автоматически удалит маршрут, когда устройство PPP удаляется после завершения соединения.

    Клиенту не требуется дополнительная настройка — он просто использует назначенную сеть для рекламы в своей локальной сети. сетевые интерфейсы (как показано в других статьях). Это означает, что провайдер (или администратор сервера) каким-то образом необходимо сообщить клиентскому пользователю, что он может использовать эту подсеть — я оставляю это упражнение в письменной форме читателю …

    Динамическое соединение сеть-сеть

    DHCPv6 вызывает у экспертов IPv6 весьма противоречивые чувства.С одной стороны, основная причина существования DHCP был удален с IPv6: автоматическое назначение адреса. С другой стороны, DHCPv6 предоставляет несколько функций, которые сделать его полезным при некоторых обстоятельствах, но есть вероятность, что он станет все более и более неизвестным администраторам и владельцы сетей SOHO. Одна из этих неясных функций — делегирование префикса (сокращенно: PD). Делегирование префикса может DHCP-сервер, расположенный ближе к корню сети, может использовать его для того, чтобы сообщить своим под-серверам, какой сетевой префикс принадлежит им. Одним из основных применений этой функции может быть делегирование сетевых префиксов от интернет-провайдеров к их клиенты.

    Существует три довольно полных реализации DHCPv6 (Dibbler, Wide, и ISC) — все из них не хватает некоторых жизненно важных функций — например. ISC не работает по PPP, другие очень своеобразны по поводу DUID клиента и др. стр.

    Я работаю над реализацией, которая работает с PPP и туннелями. На момент этого Writing (октябрь 2009 г.) это не совсем качество продукции, но очень хорошо работает в демонстрационных средах.

    Для настройки, описанной выше, серверу потребуется запустить DHCP-сервер. Вышеупомянутый скрипт ip6-up можно было бы улучшить так:

    DHCP = / etc / ppp / ipv6-dhcp / $ IFNAME
    tdhcpd \
     --prefix6 = 2001: db8: $ ADDR :: / 48 \
     --address = 2001: db8: 1: $ ADDR :: 2 \
     --dns-server = 2001: db8 :: 1 --dns-name = myisp.local \
     --pid-file = $ DHCP.pid \
     --local-id = myisp.local \
     $ IFNAME
    
     

    Параметры следующие:

    • —prefix — сообщает клиенту, какой префикс он может использовать для локальных сетей
    • —address — сообщает клиенту свой адрес — на самом деле в этом нет необходимости, но это не повредит
    • —dns-server — сообщает клиенту, что такое DNS-сервер (обычно он уже должен был получить это от radvd)
    • —dns-name — сообщает клиенту, к какому домену он принадлежит (на самом деле не требуется для настройки интернет-провайдера)
    • —pid-file — записывает PID DHCP-сервера в этот файл, чтобы его можно было убить при выключении
    • —local-id — должно быть установлено одинаковое (произвольное) значение на всех серверах входа в систему, к которым может подключиться клиент (это гарантирует, что клиент всегда, кажется, обращается к одному и тому же серверу DHCP)
    • $ IFNAME — интерфейс, который сервер должен слушать на

    Сценарий ipv6-down, конечно же, должен быть расширен командой kill для демона DHCP.

    Клиентская сторона также должна быть расширена. На стороне ipv6-up потребуется запустить dhclient:

    tdhcpc --prefix --dns [email protected] $ IFNAME /etc/ppp/dhcpconfig.sh
    
     

    Параметры следующие:

    • —prefix — опция активирует запросы делегирования префикса
    • —dns — активирует запросы к DNS-серверам
    • —local-id — снова должно быть установлено произвольное значение, одинаковое на всех хостах, которые используют эту учетную запись
    • $ IFNAME — интерфейс, который будет использоваться клиентом
    • последний параметр — это сценарий или команда, которая выполняется после того, как клиент завершит обнаружение

    Предположим, наш клиентский маршрутизатор обслуживает две сети (например,проводная локальная сеть и беспроводная локальная сеть). У нас может быть шаблон для локального radvd (скажем, в /etc/radvd.template):

    interface eth0 {
       AdvSendAdvert on;
       префикс @ ADDR @: 11 :: / 64 {};
    };
    interface wlan0 {
       AdvSendAdvert on;
       префикс @ ADDR @: 22 :: / 64 {};
    };
    
     

    Чтобы на самом деле запустить radvd, нам нужно будет заменить тег «@ ADDR @» на реальный префикс / 48, что можно сделать в скрипте dhcpconfig.sh:

    # исправление префикса (при условии единственного / 48)
    if test x "$ PREFIX"! = x; тогда
     PFX = $ (echo $ new_ip6_prefix | sed 's, :: / 48 $ ,,')
     sed s, @ ADDR @, $ PFX,  /etc/radvd.conf
     /etc/init.d/radvd перезапуск
    фи
    # добавить DNS-серверы
    для i в $ DNSSRV; делать
     echo nameserver $ i >> / etc / resolv.conf
    сделано
    
     

    Открытие Windows

    К сожалению, Windows XP изначально не поддерживает PPPv6, единственное решение здесь — либо использовать туннелирование, либо ждать, пока какой-нибудь сторонний поставщик предоставить драйвер с поддержкой PPPv6.

    Однако Windows Vista поддерживает его — широкополосный доступ / PPP. соединения будут автоматически делать IPv6CP и автоконфигурацию.Также автоматически выполняет делегирование префикса в настройках «Общий доступ к подключению к Интернету» — просто активируя ICS на вкладке «Совместное использование» PPP заставит окна искать делегирование префикса и анонсировать полученный префикс на первичном сетевой интерфейс компьютера (как анонсировать подсети на всех интерфейсах я пока не понял).

    Я понятия не имею, можно ли использовать Windows в качестве PPP-сервера. Я как-то сомневаюсь в этом.

    Резюме

    До сих пор настройка сервера заключалась в основном в интеграции radvd и dhcpd, а настройка клиента была незначительной. для простых настроек клиента (по крайней мере, в системах, где PPPv6 вообще работает).На стороне сервера вместо двух (pppd, pppoe) теперь работают четыре (плюс dhcpd и radvd) процесса, а третий и четвертый будут потребляют только очень небольшие объемы памяти и процессорного времени (кроме случаев, когда они сильно неправильно настроены).

    Единственная сложность, которая может возникнуть на стороне клиента, — это интеграция подсети / 48 в локальную маршрутизацию. таблицу, но это не должно быть сложнее, чем настройка локального DHCP-сервера в IPv4, и может быть довольно автоматический с предварительно загруженными маршрутизаторами, как будто они раздаются клиентам большинством провайдеров.

    Варианты и выводы

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

    Не так статично, пожалуйста …

    В настоящее время с IPv4 многие провайдеры используют динамическое распределение адресов или даже NAT для предоставления адресов клиентам. То, что родилось из удобства и необходимости, превратилось в бизнес-модель продажи статических адресов. за премию.Провайдерам придется привыкнуть к тому, что этой бизнес-модели пришел конец — IPv6-адреса. настолько дешевы и настолько многочисленны, что больше не имеет смысла использовать любой из этих методов — на самом деле они просто добавляют ненужные стоит простая установка.

    Однако выделение нестатических адресов интерфейсов может иметь смысл в одном конкретном сценарии: если клиент зарегистрирован дважды одновременно второй интерфейс мог получить случайный адрес вместо предварительно настроенного — если провайдер разрешает несколько входов в систему одновременно.

    С другой стороны, выделение нестатических сетевых префиксов / 48 не имеет никакого смысла: нет ничего хорошего. и проверенный способ передать клиенту новый префикс, и клиенту придется перенумеровать всю свою сеть, просто потому что соединение PPP было восстановлено. Однако может иметь смысл раздавать сетевые префиксы только по запросу — в довольно многих настройках многим (если не большинству) клиентов не нужен сетевой префикс, потому что они подключают только одно устройство напрямую в сеть (например,переносной компьютер, подключаемый через модем UMTS, или отдельный компьютер, подключаемый напрямую через DSL).

    Путь DHCP

    Пока что я провел очень мало экспериментов с DHCPv6 и назначением адресов.

    Единственным результатом пока является то, что клиенты DHCPv6 на базе Linux могут получать свой адрес от DHCPv6-сервер, в то время как Windows (Vista) не может этого сделать (по крайней мере, с помощью встроенных утилит).

    Поскольку для этого DHCP требуется дополнительная настройка, нет смысла заменять radvd на DHCP для назначения адреса. в среде PPPv6.Однако, как мы видели выше, делегирование префикса (PD) — это жизнеспособный способ сообщить клиент про свою подсеть.

    Сетевая рабочая группа Ю. Ширасаки Запрос комментариев: 4241 С. Миякава Категория: Информационное Т. Ямасаки NTT Communications А.Такенучи NTT Декабрь 2005 г. Модель службы доступа в Интернет с двойным стеком IPv6 / IPv4 Статус этой памятки Эта памятка содержит информацию для Интернет-сообщества. Оно делает не указывать какие-либо стандарты Интернета. Распространение этого памятка не ограничена. Уведомление об авторских правах Авторские права (C) The Internet Society (2005). Примечание IESG Этот RFC не является кандидатом на какой-либо уровень стандартов Интернета.В IETF отказывается от каких-либо сведений о пригодности этого RFC для любых цель и отмечает, что решение о публикации не основано на IETF обзор помимо обзора IESG на предмет конфликта с работой IETF. RFC Редактор решил опубликовать этот документ по своему усмотрению. Видеть RFC 3932 для получения дополнительной информации. Абстрактный Эта памятка представляет собой дайджест спецификации пользовательского сетевого интерфейса Служба доступа ADSL с двойным стеком NTT Communications, которая обеспечивает Услуги двойного стека IPv6 / IPv4 для домашних пользователей.Чтобы упростить настройки пользователя, эти службы имеют механизм для настройки IPv6 определенные параметры автоматически. В меморандуме основное внимание уделяется двум основным параметры: присвоенный пользователю префикс и адреса DNS-серверы IPv6, и он указывает способ доставки этих параметров к оборудованию в помещении клиента (CPE) автоматически. Ширасаки и др. Информационная [Страница 1] RFC 4241 Dual Stack Access Service, декабрь 2005 г. 1.Вступление Эта памятка представляет собой дайджест спецификации пользовательского сетевого интерфейса Служба доступа ADSL с двойным стеком NTT Communications, обеспечивающая Услуги двойного стека IPv6 / IPv4 для домашних пользователей. Чтобы упростить настройки пользователя, эти службы имеют механизм для настройки IPv6 определенные параметры автоматически. В меморандуме основное внимание уделяется двум основным параметры: присвоенный пользователю префикс и адреса DNS-серверы IPv6, и он указывает способ доставки этих параметров к оборудованию в помещении клиента (CPE) автоматически.В этом документе рассматриваются две темы: архитектура двойного стека IPv6 / IPv4. сервис доступа и функция автоматической настройки для IPv6- конкретные параметры. Архитектура в основном ориентирована на услугу ADSL по выделенной линии для домашние пользователи. Предполагается, что существует протокол точка-точка (PPP). логическая связь между оборудованием в помещении клиента (CPE) и поставщиком Кромочное (ПЭ) оборудование. Чтобы исключить специфические факторы для доступа к линиям эта архитектура определяет только PPP и его верхний слои.Чтобы удовлетворить [RFC3177], длина префикса, делегированная CPE — / 48, но / 64 также возможен. В этой архитектуре служба двойного стека IPv6 / IPv4 определяется как следует. o Подключения IPv6 и IPv4 предоставляются через один PPP логическая ссылка. o Возможность подключения по IPv6 не зависит от подключения по IPv4. IPV6CP и IPCP работают независимо по одному логическому каналу PPP. На рисунке 1 представлена ​​схема архитектуры службы. NTT Коммуникации предоставляют коммерческие услуги на основе этого архитектура с лета 2002 года.| _____________ [HOST] — + + ———— + + ———- + / \ | | Заказчик | Линия ADSL | Провайдер | | Ядро ISP и | + — + Помещения + ————— + Edge | — | Интернет | | | Оборудование | подписчику + —— + —- + \ _____________ / [ХОЗЯИН] — + + ———— + | | | | + —— + —— + | + — + ———- + | AAA-сервер | | | DNS-сервер | + ———— + | + ———— + + — + ————— + | Сервер NTP и т. Д.| Рисунок 1: Архитектура службы доступа с двойным стеком + —————- + Ширасаки и др. Информационная [Страница 2] RFC 4241 Dual Stack Access Service, декабрь 2005 г. Функция автоматической настройки призвана упростить пользователю настраивать. Обычно пользователям необходимо настроить как минимум два, специфичных для IPv6. параметры: присвоенные им префиксы [RFC3769] и IPv6 DNS адреса серверов. Функция состоит из двух подфункций: o Делегирование префикса (ов) для использования на сайте пользователя.o Уведомление об адресах IPv6 DNS-сервера и / или другого сервера адреса. В разделе 2 этой памятки подробно описывается пользовательский / сетевой интерфейс. Раздел 3 описывает примерную последовательность подключения. 2. Пользовательский / сетевой интерфейс В этом разделе подробно описывается пользовательский / сетевой интерфейс. Технические характеристики. Только PPP через Ethernet (PPPoE) и его верхние уровни упоминаются; другие уровни, такие как Ethernet и нижние уровни, выходят за рамки. Конфигурация параметров, связанных с IPv4, также отсутствует объема.2.1. Ниже уровня IP Сервис использует PPP-соединение и Challenge Handshake. Протокол аутентификации (CHAP) для идентификации каждого CPE. CPE и PE обрабатывают как протокол управления интернет-протоколом PPP. (IPCP) [RFC1332] и протокол управления Internet Protocol V6 (IPV6CP) [RFC2472] идентично и одновременно по одному PPP связь. Это означает, что CPE или PE могут открывать / закрывать любые Сеанс сетевого протокола управления (NCP) в любое время без каких-либо побочных действий. эффект для другого.Предполагается, что пользователи могут выбирать между три службы: только IPv4, только IPv6 и двойной стек IPv4 / IPv6. А CPE, подключенный к линии ADSL, обнаруживает PE с механизмом PPPoE [RFC2516]. Обратите внимание: поскольку CPE и PE могут согласовывать только свой интерфейс идентификаторы с IPV6CP, PE и CPE могут использовать только link-local-scope адреса до механизма делегирования префикса, описанного ниже, бег. 2.2. IP-уровень После согласования IPV6CP CPE инициирует делегирование префикса. запрос.PE выбирает префикс глобальной области для CPE с информация из аутентификации, авторизации и учета (AAA) сервер или локальные пулы префиксов, и он делегирует префикс CPE. После делегирования префикса префикс разбивается на подсети и назначены локальным интерфейсам CPE. CPE начинает отправку Ширасаки и др. Информационная [Страница 3] RFC 4241 Dual Stack Access Service, декабрь 2005 г. объявления маршрутизатора для префиксов на каждой ссылке.В итоге, хосты могут получать префиксы глобальной области через обычный IPv6 механизмы автоматической настройки без сохранения состояния [RFC2462] или с отслеживанием состояния ([RFC3315] и т. Д.) И начните общаться, используя глобальную область видимости. адреса. 2.3. Префиксное делегирование PE делегирует префиксы CPE, используя динамическую конфигурацию хоста. Протокол для IPv6 (DHCPv6) [RFC3315] с префиксом делегирования варианты [RFC3633]. Последовательность делегирования префикса следующая: o CPE запрашивает префиксы от PE, отправляя запрос DHCPv6. сообщение, имеющее локальный исходный адрес ссылки, согласованный IPV6CP, упомянутый в предыдущем разделе, и включает IA_PD вариант.o Сервер AAA предоставляет префиксы для PE или PE выбирает префикса (ов) из своего локального пула, и PE возвращает объявление сообщение, которое содержит параметр IA_PD и параметры префикса IA_PD. Длина префикса в опции префикса IA_PD — 48. Параметр IA_PD и параметры префикса IA_PD для выбранного префикса (ов) обратно в ЧП. o PE подтверждает префикс (а) в сообщении запроса в ответе сообщение. Если IPV6CP завершается или перезапускается по какой-либо причине, CPE должен инициировать обмен сообщениями Rebind / Reply, как описано в [RFC3633].2.4. Присвоение адреса CPE назначает префиксы глобальной области / 64, подсети из делегированный префикс к его нисходящим интерфейсам. Когда делегированный префикс имеет бесконечное время жизни, предпочтительное и допустимое время жизни назначенные префиксы / 64 должны быть значениями по умолчанию в [RFC2461]. Поскольку локальный адрес канала уже назначен CPE восходящий интерфейс, назначение адреса в глобальном масштабе для этого интерфейс не является обязательным. 2.5. Маршрутизация CPE и PE используют статическую маршрутизацию между ними и никакой маршрутизации. протокол трафика необходим.Ширасаки и др. Информационная [Страница 4] RFC 4241 Dual Stack Access Service, декабрь 2005 г. CPE настраивает свой логический интерфейс PPPoE или локальный канал связи. адрес PE в качестве шлюза по умолчанию IPv6, автоматически после обмен префиксом делегирования. Когда CPE получает пакеты, предназначенные для адресов в делегированного префикса / 48, CPE не должен пересылать пакеты на ЧП. CPE должен вернуть сообщение ICMPv6 Destination Unreachable на адрес адрес источника или молча отбрасывать пакеты, когда исходный пакет предназначен для неназначенного префикса в делегированном префиксе.(Например, CPE должен установить маршрут отклонения или нулевой интерфейс как следующий переход для делегированного префикса.) 2.6. Получение адресов DNS-серверов Сервис предоставляет рекурсивные DNS-серверы IPv6 на сайте интернет-провайдера. В PE уведомляет глобальные одноадресные адреса этих серверов с помощью Параметр сервера доменных имен, описанный в [RFC3646], в Рекламируйте / ответьте на сообщения при обмене сообщениями о делегировании префикса. Устройства, подключенные к пользовательской сети, могут узнать рекурсивный DNS-сервер адрес с помощью механизма, описанного в [RFC3736].CPE может служить локальным прокси-сервером DNS и включать его адрес. в списке адресов DNS-сервера. Это легко реализовать, потому что он аналогичен маршрутизатору IPv4 SOHO (192.168.0.1 — DNS-прокси сервер и маршрутизатор по умолчанию на большинстве сайтов). 2.7. Разнообразная информация PE может уведомлять другие адреса серверов с поддержкой IPv6, например Серверы протокола сетевого времени [RFC4075], серверы SIP [RFC3319] и т. Д., в сообщении «Реклама / ответ» в сообщении о делегировании префикса обмен, если таковые имеются.2.8. Мониторинг подключения ICMPv6 Echo Request будет отправлен в сеть пользователя для подключения мониторинг в сервисе. CPE должен возвращать одно эхо IPv6. Пакет ответа при получении пакета эхо-запроса ICMPv6. В пакеты проверки работоспособности адресованы произвольному адресу подсети-маршрутизатора для делегированного префикса. Требуется старый документ политики назначения IPv6-адресов APNIC что APNIC может пинговать произвольный адрес подсети для проверки адреса использование. Ширасаки и др.Информационная [Страница 5] RFC 4241 Dual Stack Access Service, декабрь 2005 г. Для выполнения этого требования, например, один раз префикс 2001: db8: ffff :: / 48 делегирован, CPE должен ответить на ICMPv6 Эхо-запрос, предназначенный для 2001: db8: ffff :: в любое время, когда IPV6CP и DHCPv6-PD работает в восходящем направлении. Потому что некоторые реализации не могли ответить, когда был назначен 2001: db8: ffff :: / 64 к его нижележащему физическому интерфейсу, и интерфейс не работал, такие реализация должна назначить 2001: db8: ffff :: / 64 для обратной связи интерфейс, который всегда активен, и 2001: db8: ffff: 1 :: / 64, 2001: db8: ffff: 2 :: / 64 и т. Д., к физическим интерфейсам. 3. Пример последовательности подключения CPE PE | | | ———- PADI ———> | \ || | Стадия открытия || \ || / | | || | Фаза аутентификации PPP (CHAP) || \ || | || \ || / | | | ——— Запрос ——-> | \ || | | RFC 4241 Dual Stack Access Service, декабрь 2005 г. На рисунке 2 показан пример нормальной последовательности подключения с начала PPPoE для начала связи IPv6 / IPv4.Связь IPv4 становится доступным после согласования IPCP. Связь IPv6 с Адреса локальной связи становятся возможными после согласования IPV6CP. Связь IPv6 с адресами глобальной области становится возможной после делегирование префикса и обычная конфигурация IPv6-адреса механизм. IPCP не зависит от IPV6CP и делегирования префикса. 4. Соображения безопасности В этой архитектуре PE и CPE доверяют каналу точка-точка. между ними; они верят, что нет посредника, и они доверять аутентификации PPPoE.Из-за этого аутентификация DHCP не считается необходимым и не используется. Служба предоставляет пользователям постоянный префикс глобальной области действия. Каждое устройство, подключенное к пользовательской сети, имеет адреса в глобальном масштабе. Без каких-либо фильтров пакетов устройства могут быть доступны извне пользовательская сеть в этом случае. CPE и каждое устройство, участвующее в сервис должен иметь функцию защиты от неавторизованных доступы, такие как фильтр пакетов проверки с отслеживанием состояния. В взаимосвязь между CPE и устройствами, подключенными к пользовательской сети эту проблему следует рассмотреть в будущем.5. Благодарности Спасибо за вклад и обзор Тацуи Сато, Хидеки. Моури, Коитиро Фудзимото, Хироки Ишибаши, Ральф Дромс, Оле Троан, Пекка Савола и участники IPv6-ops-IAJapan. 6. Ссылки 6.1. Нормативные ссылки [RFC3177] IAB и IESG, «Рекомендации IAB / IESG по адресам IPv6. Распределение по сайтам », RFC 3177, сентябрь 2001 г. [RFC1332] МакГрегор, Г., «Протокол управления интернет-протоколом PPP. (IPCP) «, RFC 1332, май 1992 г. [RFC2472] Хаскин Д.и Э. Аллен, «IP Version 6 over PPP», RFC 2472, Декабрь 1998 г. [RFC2516] Мамакос, Л., Лидл, К., Эвартс, Дж., Каррел, Д., Симоне, Д., и Р. Уиллер, «Метод передачи PPP через Ethernet (PPPoE) », RFC 2516, февраль 1999 г. Ширасаки и др. Информационная [Страница 7] RFC 4241 Dual Stack Access Service, декабрь 2005 г. [RFC2462] Томсон, С. и Т. Нартен, «IPv6-адрес без сохранения состояния. Автоконфигурация », RFC 2462, декабрь 1998 г.[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., и М. Карни, «Протокол динамической конфигурации хоста для IPv6» (DHCPv6) «, RFC 3315, июль 2003 г. [RFC3633] Троан, О. и Р. Дромс, «Параметры префикса IPv6 для динамического Протокол конфигурации хоста (DHCP) версии 6 «, RFC 3633, Декабрь 2003 г. RFC 3633, декабрь 2003 г. [RFC2461] Нартен, Т., Нордмарк, Э. и У. Симпсоны, «Сосед Discovery for IP Version 6 (IPv6) », RFC 2461, декабрь 1998 г.[RFC3646] Дромс Р., «Параметры конфигурации DNS для динамического хоста. Протокол конфигурации для IPv6 (DHCPv6) », RFC 3646, Декабрь 2003 г. [RFC3736] Дромс Р., «Протокол динамической конфигурации хоста без сохранения состояния. (DHCP) Service for IPv6 », RFC 3736, апрель 2004 г. [RFC4075] Калусивалингам В., «Простой протокол сетевого времени (SNTP)» Вариант конфигурации для DHCPv6 », RFC 4075, май 2005 г. [RFC3319] Шульцринн, Х. и Б. Фольц, «Динамическая конфигурация хоста. Параметры протокола (DHCPv6) для протокола инициирования сеанса (SIP) Серверы », RFC 3319, июль 2003 г.6.2. Информативные ссылки [RFC3769] Миякава, С. и Р. Дромс, «Требования к префиксу IPv6. Делегация », RFC 3769, июнь 2004 г. Ширасаки и др. Информационная [Страница 8] RFC 4241 Dual Stack Access Service, декабрь 2005 г. Адреса авторов Ясухиро Ширасаки NTT Communications Corporation Башня Tokyo Opera City Tower 21F 3-20-2 Ниси-Синдзюку, Синдзюку-ку Токио 163-1421, Япония Электронная почта: yasuhiro @ nttv6.jp Шин Миякава, доктор философии NTT Communications Corporation Башня Tokyo Opera City Tower 21F 3-20-2 Ниси-Синдзюку, Синдзюку-ку Токио 163-1421, Япония Электронная почта: [email protected] Тошиюки Ямасаки NTT Communications Corporation 1-1-6 Учисайвайчо, Тиёда-ку Токио 100-8019, Япония Электронная почта: [email protected] Аяко Такенучи NTT Cyber ​​Solutions Laboratories, NTT Corporation 3-9-11 Мидори-Чо, Мусасино-Ши Токио 180-8585, Япония Электронная почта: [email protected] Ширасаки и др. Информационная [Страница 9] RFC 4241 Dual Stack Access Service, декабрь 2005 г. Полное заявление об авторских правах Авторские права (C) The Internet Society (2005). На этот документ распространяются права, лицензии и ограничения. содержится в BCP 78 и на www.rfc-editor.org/copyright.html, и за исключением случаев, указанных в настоящем документе, за авторами сохраняются все свои права. Этот документ и содержащаяся в нем информация размещены на Принцип «КАК ЕСТЬ» и ПОСТАВЩИК, ОРГАНИЗАЦИЯ, ПРЕДСТАВЛЯЕМЫЕ ОН / ОНА ИЛИ СПОНСИРУЕТСЯ (ЕСЛИ ЕСТЬ) ИНТЕРНЕТ-ОБЩЕСТВОМ И ИНТЕРНЕТОМ ИНЖЕНЕРНОЕ ОБОРУДОВАНИЕ ОТКАЗЫВАЕТСЯ ОТ ВСЕХ ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯ ГАРАНТИЮ, ЧТО ИСПОЛЬЗОВАНИЕ ПРИСУТСТВУЮЩАЯ ИНФОРМАЦИЯ НЕ НАРУШАЕТ НИКАКИХ ПРАВ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ ИЛИ ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.Интеллектуальная собственность IETF не занимает никакой позиции относительно действительности или объема каких-либо Права на интеллектуальную собственность или другие права, которые могут быть заявлены на относятся к реализации или использованию технологии, описанной в этот документ или степень, в которой любая лицензия на такие права может быть, а может и нет; и не означает, что у него есть предпринял какие-либо независимые усилия для выявления любых таких прав.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *