Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.  (Прочитано 88803 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
version 0.0.12
Переходим с IPv4 на IPv6
На примере локальной сети.
Многие наверняка уже знают что такое IPv6, зачем он нужен, и когда заработает в полную силу. Я решил не оставаться в стороне от этого события и даже немного опередить его.
Сегодня некоторые провайдеры уже предоставляют доступ по IPv6, однако большинство предпочитает дожидаться "жареного петуха".
Для тех, кто не знает что такое IPv6, рекомендую заглянуть хотя бы в Википедию.
Итак начнём.
Действующие лица: PC-марштуизатор на Ubuntu 10.04 с поддержкой IPv6, туннельный брокер, radvd (bird, dnsmasq), bind9 (totd), dhcp 4.0 (dnsmasq), tayga, статический внешний IPv4-адрес.
Вот примерно так выглядит сеть.
Код: (text) [Выделить]
   __________________                             ____________________
  /                  \                           /                    \
  |   IPv4 Internet  |                           |    IPv6 Internet   |
  \__________________/                           \____________________/
                     \                           /
                      \                         /
               \                       /
                       _\_____________________/_
                      /                          \
                      |  IPv6+IPv4 Маршутизатор  |
                      \__________________________/
                                   |
                                   |
                                   |
                            _______|________
   /             \
   | Наша IPv6 сеть |
   \________________/

I. Туннельный брокер

Первый шаг, который необходимо сделать - зарегистрировать и создать туннель, с маршрутизируемой routed/48 сетью.
Для России можно воспользоваться этим брокером.  http://ipv6.ip4market.ru/ г. Москва.
Для Украины.  http://tb.netassist.ua г.Киев.
Server IPv4 address - адрес брокера
Client IPv4 address - мой статический внешний IP
Server IPv6 address - IPv6-адрес на конце туннеля брокера
Client IPv6 address - IPv6-адрес на нашем конце туннеля
Routed /48 IPv6 network - Маршрутизируемая IPv6-сеть. Можно сказать моя :)
В итоге в /etc/network/interfaces случилась следующая запись:
Код: (bash) [Выделить]
auto na0
iface na0 inet6 v4tunnel
        address 2a01:d0:ffff:124::2
        netmask 64
        gateway 2a01:d0:ffff:124::1
        endpoint 62.205.132.12
        local 1.1.1.1
        ttl 255
        up ip l s dev $IFACE mtu 1280
        post-down ip tunnel del $IFACE
Как результат в ifconfig появился псевдо-интерфейс na0:
Код: (text) [Выделить]
@localhost:~$ ifconfig na0
na0       Link encap:IPv6-in-IPv4
          inet6 addr: fe80::d58d:8829/128 Scope:Link
          inet6 addr: 2a01:d0:ffff:124::2/64 Scope:Global
          UP POINTOPOINT RUNNING NOARP  MTU:1280  Metric:1
          RX packets:547813 errors:0 dropped:0 overruns:0 frame:0
          TX packets:898840 errors:21 dropped:0 overruns:0 carrier:21
          collisions:0 txqueuelen:0
          RX bytes:49542195 (49.5 MB)  TX bytes:955494086 (955.4 MB)

@localhost:~$
Можно проверить работу:
Код: (text) [Выделить]
@localhost:~$ ping6 -n -c4 ipv6.yandex.ru
PING ipv6.yandex.ru(2a02:6b8:0:261::1) 56 data bytes
64 bytes from 2a02:6b8:0:261::1: icmp_seq=1 ttl=58 time=105 ms
64 bytes from 2a02:6b8:0:261::1: icmp_seq=2 ttl=58 time=104 ms
64 bytes from 2a02:6b8:0:261::1: icmp_seq=3 ttl=58 time=104 ms
64 bytes from 2a02:6b8:0:261::1: icmp_seq=4 ttl=58 time=104 ms

--- ipv6.yandex.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 104.092/104.765/105.885/0.746 ms
@localhost:~$
С почином! Доступ к IPv6-интернету есть.

II. Router advertisement ( radvd | bird ) и sysctl.conf

Следующим шагом для достижения моей цели было конфигурирование параметров ядра, интерфейса IPv6 для локальной сети, установка и настройка RA.
Разрешаю форвадинг IPv6 пакетов:
Код: (bash) [Выделить]
sudo -s
echo -e "net.ipv6.conf.all.forwarding = 1\nnet.ipv6.conf.default.forwarding = 1" >> /etc/sysctl.conf
sysctl -p
Конфигурирую интерфейс локальной сети, у меня он обзывается vlan8, у вас может быть другим. Необходимо отметить небольшой ньюанс, для верной работы RA в режиме SLAAC (Stateless Address Autoconfiguration), маска локальной подсети обязательно должна быть равна /64. Я взял первую routed64 подсеть из моей routed48-сети.
Т.е если есть моя routed48 сеть:
2a01:00d0:8124:0000:0000:0000:0000:0000 - 2a01:00d0:8124:ffff:ffff:ffff:ffff:ffff
Тогда первая routed64:
2a01:00d0:8124:0000:0000:0000:0000:0000 - 2a01:00d0:8124:0000:ffff:ffff:ffff:ffff
/etc/network/interfaces
Код: (bash) [Выделить]
auto vlan8
iface vlan8 inet6 static
        address 2a01:d0:8124::1
        netmask 64
        vlan-raw-device eth0
Можно проверить:
Код: (text) [Выделить]
@localhost:~$ ifconfig vlan8
vlan8     Link encap:Ethernet  HWaddr 70:71:bc:d5:37:00
          inet6 addr: fe80::7271:bcff:fed5:3700/64 Scope:Link
          inet6 addr: 2a01:d0:8124::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12670 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3004490 (3.0 MB)  TX bytes:4360278 (4.3 MB)

@localhost:~$
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
Необходимо дать некоторые пояснения относительно параметра RDNSS - этот параметр отвечает за передачу адреса DNS для Linux-хостов, на которых установлен rdnssd, для Windows нужен DHCP, ну или руками выставлять сетевые реквизиты, что, как нетрудно догадаться, задача в IPv6 сетях тривиальная.

III. DHCP

Поддержка IPv6 в ISC DHCP появилась с версии 4.0.
В более младших дистрибутивах UBUNTU DCHP 4.0 включен в состав, мне же пришлось бэкпортировать сервер на 10.04 и изменить startup-скрипт для запуска DHCP в IPv6-режиме. Ниже представлю небольшой патч:
(Нажмите, чтобы показать/скрыть)
Следует скопировать /etc/default/isc-dhcp-server в /etc/default/isc-dhcp-server-ipv6, и указать интерфейс, который будетслушать DHCPv6-сервер.
Смысл использования DHCP 4.0 прост. Как известно, в Майкрософте читают RFC по-своему, и только для передачи Windows-хостам адреса DNS-сервера нужен DHCP, поэтому я указал одну единственную опцию - передачу DNS.
/etc/dhcp/dhcpd.conf
Код: (bash) [Выделить]
ddns-update-style interim;
default-lease-time 43200;
max-lease-time 86400;
log-facility local7;
subnet6 2a01:d0:8124::/64 {
        option dhcp6.name-servers 2a01:d0:8124::1;
}
Основная задача по конфигурированию IPv6 сети сделана. Но нашей сети будет доступен только IPv6 интернет, а что же делать с IPv4?

IV. Tayga (NAT64)

Официальная станица проекта - http://www.litech.org/tayga/
В кратце этот демон транслирует IPv4 в IPv6. Для настройки мне нужно было выделить еще одну подсеть из моей routed48-сети, но с маской /96 - туда аккурат влезает весь IPv4-интернет. Я взял 2a01:d0:8124:2:ffff::/96
Конфигурация выглядит следующим образом:
/etc/tayga.conf
Код: (bash) [Выделить]
tun-device nat64 # Интерфейс транслирования IPv4 в IPv6
ipv4-addr 192.168.255.1 # Адрес IPv4 для NAT
ipv6-addr 2a01:d0:8124::2 # Адрес IPv6 для NAT64
prefix 2a01:d0:8124:2:ffff::/96 # Сеть для трансляции IPv4 в IPv6
dynamic-pool 192.168.255.0/24 # Сеть IPv4 для NAT
data-dir /var/spool/tayga # Файлы с данными
Также небходимо добавить правило NAT iptables для NAT64:
Код: (text) [Выделить]
iptables -t nat -A POSTROUTING -s 192.168.255.0/24 -j MASQUERADEТак как для Ubuntu нет собранных пакетов, то вполне можно занять их у папаши Debian'а
http://packages.debian.org/sid/tayga - init-скрипт сам добавит NAT
Или собрать самому.
Проверяю работу:
Код: (text) [Выделить]
@localhost:~$ ifconfig nat64
nat64     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:8529 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8529 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:4359464 (4.3 MB)  TX bytes:4336364 (4.3 MB)

@localhost:~$

Код: (text) [Выделить]
C:\>tracert 2a01:d0:8124:2:ffff::212.1.224.34

Трассировка маршрута к 2a01:d0:8124:2:ffff:0:d401:e022 с максимальным числом прыжков

  1    <1 мс    <1 мс    <1 мс  2a01:d0:8124::1
  2    <1 мс    <1 мс    <1 мс  2a01:d0:8124::2
  3     *        *        *     Превышен интервал ожидания для запроса.
  4    <1 мс     1 ms    <1 мс  2a01:d0:8124:2:ffff:0:d401:fe73
  5    <1 мс    <1 мс    <1 мс  2a01:d0:8124:2:ffff:0:d401:fc21
  6     1 ms     1 ms     1 ms  2a01:d0:8124:2:ffff:0:d401:fbb2
  7     1 ms     1 ms     1 ms  2a01:d0:8124:2:ffff:0:d401:e022

Трассировка завершена.

C:\>
Видно, что 2a01:d0:8124:2:ffff: это моя сеть, а 0:d401:e022 - это преобразованный в часть ipv6-адреса - 212.1.224.34.
Как же быть с именами?

V. DNS. Bind9 или totd

totd - маленький dns64-форвадер, преобразует FQDN в ipv6 адреса заданной подсети. Есть в репазитарии. Чрезвычайно прост.
/etc/totd.conf
Код: (text) [Выделить]
forwarder 212.1.224.34 port 53 # Откуда брать имена
prefix 2a01:d0:8124:2:ffff:: # NAT64 - подсеть
port 53 # Какой порт слушать
pidfile /var/run/totd.pid
interfaces lo vlan6 # Какие интерфейсы слушать
Bind9 - знаменитый DNS-сервер, ньюанс заключается в том, что функция dns64 в нем появилась с версии 9.8.0, поэтому опять пришлось заниматься бэкпортированием  на 10.04
Настройка dns64 сводится к тому, что в опцию добавляется следующее:
/etc/bind/named.conf.options
Код: (bash) [Выделить]
options {
        // Skip
        dns64 2a01:d0:8124:2:ffff::/96 // Моя NAT64 - подсеть
        {
                clients { 2a01:d0:8124::/64; }; // Моя routed64 подсеть
        };
        // Skip
};

VI. DNSmasq. (вместо пунктов II, III, и частично V)

Что же, тем кому знаком этот сервер, приятно будет узнать, что он вполне себе может работать как RouterAdvertisement, DHCPv6, и кеширующий DNS, правда использовать его пока можно в первых двух эпостасиях, (функция dns64 ему пока не доступна). Испробовано на v2.62. Пример конфигурации /etc/dnsmasq.conf
Код: (text) [Выделить]
port=0
enable-ra
# конфигурация dhcp6
dhcp-range=2a01:d0:8124::2, 2a01:d0:8124::ffff, 64, 12h
dhcp-option=option6:dns-server,[2a01:d0:8124::1]
# конфигурация SLAAC
dhcp-range=2a01:d0:8124::2, 2a01:d0:8124::ffff:ffff, slaac, 64, 12h
Примечание: Для корректной работы в сетях ipv6, с DHCPv6-сервером, версия dhclient должна быть >= 4.1. Такая версия dhclient поставляется с дистрибутивом Ubuntu 11.10 и младше.

VII. Заключение

Этот мини-ЧаВо не претеднует на пошаговое действие, он лишь пытается объяснить принцип настройки оборудования для небольшой сети, предоставив возможность перейти на IPv6.
Так сейчас выглядит хост в этой сети, с которого и был написан этот пост.
(Нажмите, чтобы показать/скрыть)
В более новых дистрибутивах наверняка нет проблем с бэкпортированием и все необходимые пакеты, надеюсь, будут присутствовать в репозитарии.
Трудности, которые могут возникнуть в работе IPv6-сети, связаны с программным обеспечением, которое до сих пор не научилась работать с протоколом новой версии, такие, как например как Skype и операционных систем Microsoft старше Windows Vista, которые не могут полностью отказаться от IPv4, из-за проблем с DNS.   (опять привет Microsoft'у).
Спасибо за внимание!

Добавлено (09.IX.2013): Поинтересуйтесь у провайдера, в доступности протокола 41 абонентам, как выяснилось, некоторые провайдеры могут блокировать его.

VIII Эпилог. PREFIX DELEGATION. DHCPv6-PD

Что это такое и зачем оно нужно.
Prefix Delegation (далее PD) — это совокупность условий при котором абонентскому маршрутизатору выделяется собственная подсеть, машрутизируемая в Интернет.
Сразу хочу отметить, что механизм работы похожий на PD можно получить и в ipv4, в ipv6 PD является частью сетевого протокола.
В кратце, как это выглядит:
- Абонентский маршутизатор формирует dhcpv6 пакет с запросом на PD.
- Провайдерский dhcpv6-сервер отвечает пакетом, в котором содержится информация о выделяемой подсети, посылает информацию на провайдреский маршрутизатор о машруте на выделяемую подсеть через link-local абоненского маршрутизатора, провайдерский маршрутизатор добавляет маршрут на выделяемую подсеть.
В примере будет рассмотрен частный случай, когда dhcpv6-сервер и шлюз находятся на одной машине, если кто-то хочет дополнить пример, когда шлюз и dhcpv6-сервер находятся на разных хостах, буду только рад.
(Нажмите, чтобы показать/скрыть)
Другие dhcp-клиенты (dhcp6c/udhcpc/wide-dhcp/dibbler) не рассматривал. Заработало в "штатной" поставке.
Рассмотрим два варианта, первом случае будем пытаться запросить PD у провайдера, во втором случае сами будем выступать в роли провайдера.
(Нажмите, чтобы показать/скрыть)
Для получения PD у провайдера достаточно сконфигурировать строфу с интерфейсом следующим образом:
Код: (text) [Выделить]
iface eth0 inet6 dhcp
      request_prefix 1
В случае успеха провайдер Вам выделит подсеть, её значение можно подсмотреть в /var/lib/dhcp/dhclient6.${IFACE}.lease.
 
Код: (text) [Выделить]
awk '/iaprefix/{print $2}' /var/lib/dhcp/dhclient6.eth0.lease Дальнейшая настройка описана выше и с этим более-менее понятно.
 Так-как провайдеры обычно делегируют префиксы сетей 48, 56, 64 то в адренду нам достаётся туева хуча адресного пространства, которое грех не поделить на подсетки поменьше, выдавая их уже своим локальным клиентам, эдакое Prefix Delegation after Prefix Delegation. Уже есть вопросы, а типа нахрена? Отвечу в украинской манере: "а щоб було!". Если в протоколе есть этот функционал, надо его использовать! Масштабируемость сети — задел на будущее. ;)
Изучая этот вопрос и проводя эксперименты на стенде выяснил, что вполне себе можно делегировать ЛЮБОЙ префикс. Для простоты понимания приведу пример с префиксом /120, который по ёмкости аналог /24 в четвёртой версии протокола.
Принцип прост как яичница: при DHCP-запросе на сервер, необходимо составить триггер, который бы реагировал на опцию PD в запросе dhcp-клиентов, записывая маршут на сеть через link-local абоненского машрутизатора, а так же удалял его при истечении аренды PD. Вероятно существует и другое ПО способное выдавать PD, не искал.
(Нажмите, чтобы показать/скрыть)
Честно говоря, конфигурация получилась нетривиальная, пришлось подглядеть её тут http://bnpcs.blogspot.com/2013/05/isc-dhcpd-programming-fun-attempting-to.html
В примере указан частный случай, в общем случае следует использовать сети с масками /56, /60, /64
Вот, что получилось:
(Нажмите, чтобы показать/скрыть)
Конфигурация клиентских роутеров на Linux требует принудительно указывать на каком интерфейсе слушать Route Advertisement. Это можно сделать в interfaces, указав в строфе с wan-интефейсом accept_ra 2
Код: (text) [Выделить]
# example of interfaces file
auto eth0
iface eth0 inet manual
up ip l s dev $IFACE up
accept_ra 2
down ip l s dev $IFACE down
Либо в /etc/sysctl.conf
Код: (text) [Выделить]
net.ipv6.conf.eth0.accept_ra = 2Дальнейшая настройка описана выше  и не требует дополнительной конфигурации при условии, что клиенты за абонентским маршрутизатором получают адреса по dhcpv6.
PS Пользуясь случаем, хочется передать привет разработчикам  Android, в котором до сих пор не реализована поддержка ipv6-stateful.
« Последнее редактирование: 23 Сентября 2018, 17:57:58 от koshev »
OpenWrt 19.07

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Обновлено.
Добавлен пример конфигурации RA с помощью демона маршрутизации BIRD.
Добавлен пример для DNSmasq.
OpenWrt 19.07

Оффлайн ee99393

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Спасибо за статью. Очень полезно.
Только почему у Вас префикс 2a01:d0:8124:2:ffff::
Разве не 0:0:0:ffff:: для трансляции?
У Вас там сейчас прохи открытый.

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Баг в ifupdown c методом получения IPv6 с помощью DHCPv6-сервера. #1013597.
Актуально для текущего LTS - Ubuntu 12.04.

Пользователь решил продолжить мысль 07 Июля 2012, 22:38:38:
Только почему у Вас префикс 2a01:d0:8124:2:ffff::
Разве не 0:0:0:ffff:: для трансляции?
Не для этого случая.
http://www.litech.org/tayga/
Цитировать
prefix 2001:db8:1:ffff::/96              (replace with an unused /96 prefix from your site's address range)
У Вас там сейчас прохи открытый
Даже больше скажу, там сейчас и ссх наружу торчит ;)
« Последнее редактирование: 07 Июля 2012, 22:38:38 от KT315 »
OpenWrt 19.07

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3337
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Re: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.
« Ответ #4 : 08 Января 2013, 01:14:29 »
Тема прикреплена.
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Re: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.
« Ответ #5 : 01 Марта 2013, 00:23:28 »
Настраивал по мануалу.

Клиент у меня линуксовый, ubuntu 12.10
Всё вроде работает, адреса и DNS выдаются, гугл по ipv6 пингуется, сайты открываются по 4 и по 6, черепашка на kame пляшет.

Вопрос 1
Что за фигня в таблице маршрутизации, нахрена дефолтных гейтвеев два, и оба идут через link-local:
ksh@svs ~ $ ip -6 r
2a01:d0:8852::/64 dev eth0  proto kernel  metric 256  expires 86026sec
fe80::/64 dev eth0  proto kernel  metric 256
default via fe80::230:18ff:fea0:fd43 dev eth0  proto static  metric 1
default via fe80::230:18ff:fea0:fd43 dev eth0  proto kernel  metric 1024  expires 1415sec

Вопрос 2
Через SLAAC интерфейс получает 2 адреса, один на основе MAC, другой случайный для целей приватности. Если ходить на V6-ресурсы, то заходишь именно со случайного адреса. А на базе MAC даётся всегда один и тот же, чтобы скажем "приколотить" хост например в DNS.
А вот почему же в нём мой MAC искажается (50 заменяется на 52)?

ksh@svs ~ $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 50:e5:49:e4:e7:37 brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.11/25 brd 192.168.50.127 scope global eth0
    inet6 2a01:d0:8852:0:1855:e799:2ece:ebb4/64 scope global temporary dynamic
       valid_lft 86279sec preferred_lft 14279sec
    inet6 2a01:d0:8852:0:52e5:49ff:fee4:e737/64 scope global dynamic
       valid_lft 86279sec preferred_lft 14279sec
    inet6 fe80::52e5:49ff:fee4:e737/64 scope link
       valid_lft forever preferred_lft forever
Дельфин будет жить. А я умру.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28349
    • Просмотр профиля
Re: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.
« Ответ #6 : 01 Марта 2013, 03:29:12 »
1.
default via fe80::230:18ff:fea0:fd43 dev eth0  proto static  metric 1

Маршрут прописан руками, я так полагаю.

2.
А вы уверены, что у вас нигде подмена мака не настроена?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.
« Ответ #7 : 01 Марта 2013, 19:22:56 »
Вопрос 1
Что за фигня в таблице маршрутизации, нахрена дефолтных гейтвеев два, и оба идут через link-local:
ksh@svs ~ $ ip -6 r
2a01:d0:8852::/64 dev eth0  proto kernel  metric 256  expires 86026sec
fe80::/64 dev eth0  proto kernel  metric 256
default via fe80::230:18ff:fea0:fd43 dev eth0  proto static  metric 1
default via fe80::230:18ff:fea0:fd43 dev eth0  proto kernel  metric 1024  expires 1415sec
Что касается link-local, то так работает router advertisement, что касается двух гетвеев, поищите баги в багтрекере на этот предмет, вероятно, Вы сможете прикрепить новый тикет ;) От себя лишь могу добавить, что при получении адреса методом dhcp с маской больше 64, ifupdown всё равно присваивает маску 64 ( у меня две сети /120 и /125 ), хотя сами_знаете_в_какой_ОС все отлично.
Вопрос 2
Через SLAAC интерфейс получает 2 адреса, один на основе MAC, другой случайный для целей приватности. Если ходить на V6-ресурсы, то заходишь именно со случайного адреса. А на базе MAC даётся всегда один и тот же, чтобы скажем "приколотить" хост например в DNS.
А вот почему же в нём мой MAC искажается (50 заменяется на 52)?

(Нажмите, чтобы показать/скрыть)
А потому что адрес назначается не на основе MAC, а на основе link-local.
OpenWrt 19.07

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Re: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.
« Ответ #8 : 01 Марта 2013, 23:15:46 »
Что касается link-local, то так работает router advertisement, что касается двух гетвеев, поищите баги в багтрекере на этот предмет, вероятно, Вы сможете прикрепить новый тикет ;)

По поводу двух гейтвеев.
Интерфейс, походу, один раз маршрут получает через ifupdown, второй раз - через networkmanager.
Если в networkmanager-е поставить на вкладке IPV6 "игнорировать", то адреса всё равно конфигурируются, а таблица маршрутизации приобретает вполне кошерный вид:

(Нажмите, чтобы показать/скрыть)

Но настройки DNS при этом машина не получает.

Странно, что /etc/network/interfaces при этом девственно чист. Это баг ifupdown или фича такая?

(Нажмите, чтобы показать/скрыть)

Цитировать
А потому что адрес назначается не на основе MAC, а на основе link-local.

Ну а link-local на основе чего назначается?
Почему к первому октету плюсуется 2? Посмотрел на сервере - та же самая ситуация, +2 к первому октету.
« Последнее редактирование: 01 Марта 2013, 23:20:45 от Humpty »
Дельфин будет жить. А я умру.

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: [Mini FAQ] Безболезненный переход с IPv4 на IPv6.
« Ответ #9 : 02 Марта 2013, 00:02:19 »
Цитировать
Ну а link-local на основе чего назначается?
На основе hardware address, но это вовсе не означает, что оно должно его повторить его в точности.
Такое поведение описано в RFC4862.
OpenWrt 19.07

Оффлайн AT-2000

  • Новичок
  • *
  • Сообщений: 33
  • Zp.ua
    • Просмотр профиля
Цитировать
I. Туннельный брокер
Первый шаг, который необходимо сделать - зарегистрировать и создать туннель, с маршрутизируемой routed/48 сетью.
А вообще без него можно? в windows7 без него

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
AT-2000, можно. Miredo Вам в помощь.
sudo apt-get install miredoТакой вопрос к знающим людям: Если сидишь за NAT, то брокер бесполезен?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28349
    • Просмотр профиля
Цитировать
I. Туннельный брокер
Первый шаг, который необходимо сделать - зарегистрировать и создать туннель, с маршрутизируемой routed/48 сетью.
А вообще без него можно? в windows7 без него
Можно, если у вас есть свой IPv4 адрес, либо провайдер предоставляет IPv6.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Если сидишь за NAT, то брокер бесполезен?
По идее бесполезен, как и 6to4.
OpenWrt 19.07

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Ну miredo даёт доступ к ipv6 сайтам, но ip серый, так что доступ только к реальному IP, как я понимаю. Например http://ipv6.yandex.ru/ у меня открывается. Правильно ли я понимаю, что соединение между двумя таким компьютерами невозможно без доступа к маршрутиризатору и осуществлению проброса портов, но соединение между одним компьютером за натом и другим компьютером с реальным IPv6 будет проходить без проблем, независимо от того, кто является инициатором соединения?

 

Страница сгенерирована за 0.048 секунд. Запросов: 23.