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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1667
  • חתול המדען
    • Просмотр профиля
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
  1.    __________________                             ____________________
  2.   /                  \                           /                    \
  3.   |   IPv4 Internet  |                           |    IPv6 Internet   |
  4.   \__________________/                           \____________________/
  5.                      \                           /
  6.                       \                         /
  7.                        \                       /
  8.                        _\_____________________/_
  9.                       /                          \
  10.                       |  IPv6+IPv4 Маршутизатор  |
  11.                       \__________________________/
  12.                                    |
  13.                                    |
  14.                                    |
  15.                             _______|________
  16.                            /                \
  17.                            | Наша IPv6 сеть |
  18.                            \________________/

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
  1. auto na0
  2. iface na0 inet6 v4tunnel
  3.         address 2a01:d0:ffff:124::2
  4.         netmask 64
  5.         gateway 2a01:d0:ffff:124::1
  6.         endpoint 62.205.132.12
  7.         local 1.1.1.1
  8.         ttl 255
  9.         up ip l s dev $IFACE mtu 1280
  10.         post-down ip tunnel del $IFACE
Как результат в ifconfig появился псевдо-интерфейс na0:
Код: Text
  1. @localhost:~$ ifconfig na0
  2. na0       Link encap:IPv6-in-IPv4
  3.           inet6 addr: fe80::d58d:8829/128 Scope:Link
  4.           inet6 addr: 2a01:d0:ffff:124::2/64 Scope:Global
  5.           UP POINTOPOINT RUNNING NOARP  MTU:1280  Metric:1
  6.           RX packets:547813 errors:0 dropped:0 overruns:0 frame:0
  7.           TX packets:898840 errors:21 dropped:0 overruns:0 carrier:21
  8.           collisions:0 txqueuelen:0
  9.           RX bytes:49542195 (49.5 MB)  TX bytes:955494086 (955.4 MB)
  10.  
  11. @localhost:~$
Можно проверить работу:
Код: Text
  1. @localhost:~$ ping6 -n -c4 ipv6.yandex.ru
  2. PING ipv6.yandex.ru(2a02:6b8:0:261::1) 56 data bytes
  3. 64 bytes from 2a02:6b8:0:261::1: icmp_seq=1 ttl=58 time=105 ms
  4. 64 bytes from 2a02:6b8:0:261::1: icmp_seq=2 ttl=58 time=104 ms
  5. 64 bytes from 2a02:6b8:0:261::1: icmp_seq=3 ttl=58 time=104 ms
  6. 64 bytes from 2a02:6b8:0:261::1: icmp_seq=4 ttl=58 time=104 ms
  7.  
  8. --- ipv6.yandex.ru ping statistics ---
  9. 4 packets transmitted, 4 received, 0% packet loss, time 3003ms
  10. rtt min/avg/max/mdev = 104.092/104.765/105.885/0.746 ms
  11. @localhost:~$
С почином! Доступ к IPv6-интернету есть.

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

Следующим шагом для достижения моей цели было конфигурирование параметров ядра, интерфейса IPv6 для локальной сети, установка и настройка RA.
Разрешаю форвадинг IPv6 пакетов:
Код: Bash
  1. sudo -s
  2. echo -e "net.ipv6.conf.all.forwarding = 1\nnet.ipv6.conf.default.forwarding = 1" >> /etc/sysctl.conf
  3. 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
  1. auto vlan8
  2. iface vlan8 inet6 static
  3.         address 2a01:d0:8124::1
  4.         netmask 64
  5.         vlan-raw-device eth0
Можно проверить:
Код: Text
  1. @localhost:~$ ifconfig vlan8
  2. vlan8     Link encap:Ethernet  HWaddr 70:71:bc:d5:37:00
  3.           inet6 addr: fe80::7271:bcff:fed5:3700/64 Scope:Link
  4.           inet6 addr: 2a01:d0:8124::1/64 Scope:Global
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  6.           RX packets:12558 errors:0 dropped:0 overruns:0 frame:0
  7.           TX packets:12670 errors:0 dropped:0 overruns:0 carrier:0
  8.           collisions:0 txqueuelen:0
  9.           RX bytes:3004490 (3.0 MB)  TX bytes:4360278 (4.3 MB)
  10.  
  11. @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
  1. ddns-update-style interim;
  2. default-lease-time 43200;
  3. max-lease-time 86400;
  4. log-facility local7;
  5. subnet6 2a01:d0:8124::/64 {
  6.         option dhcp6.name-servers 2a01:d0:8124::1;
  7. }
  8.  
Основная задача по конфигурированию 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
  1. tun-device nat64 # Интерфейс транслирования IPv4 в IPv6
  2. ipv4-addr 192.168.255.1 # Адрес IPv4 для NAT
  3. ipv6-addr 2a01:d0:8124::2 # Адрес IPv6 для NAT64
  4. prefix 2a01:d0:8124:2:ffff::/96 # Сеть для трансляции IPv4 в IPv6
  5. dynamic-pool 192.168.255.0/24 # Сеть IPv4 для NAT
  6. data-dir /var/spool/tayga # Файлы с данными
Также небходимо добавить правило NAT iptables для NAT64:
Код: Text
  1. iptables -t nat -A POSTROUTING -s 192.168.255.0/24 -j MASQUERADE
Так как для Ubuntu нет собранных пакетов, то вполне можно занять их у папаши Debian'а
http://packages.debian.org/sid/tayga - init-скрипт сам добавит NAT
Или собрать самому.
Проверяю работу:
Код: Text
  1. @localhost:~$ ifconfig nat64
  2. nat64     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
  3.           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
  4.           RX packets:8529 errors:0 dropped:0 overruns:0 frame:0
  5.           TX packets:8529 errors:0 dropped:0 overruns:0 carrier:0
  6.           collisions:0 txqueuelen:500
  7.           RX bytes:4359464 (4.3 MB)  TX bytes:4336364 (4.3 MB)
  8.  
  9. @localhost:~$

Код: Text
  1. C:\>tracert 2a01:d0:8124:2:ffff::212.1.224.34
  2.  
  3. Трассировка маршрута к 2a01:d0:8124:2:ffff:0:d401:e022 с максимальным числом прыжков
  4.  
  5.   1    <1 мс    <1 мс    <1 мс  2a01:d0:8124::1
  6.   2    <1 мс    <1 мс    <1 мс  2a01:d0:8124::2
  7.   3     *        *        *     Превышен интервал ожидания для запроса.
  8.   4    <1 мс     1 ms    <1 мс  2a01:d0:8124:2:ffff:0:d401:fe73
  9.   5    <1 мс    <1 мс    <1 мс  2a01:d0:8124:2:ffff:0:d401:fc21
  10.   6     1 ms     1 ms     1 ms  2a01:d0:8124:2:ffff:0:d401:fbb2
  11.   7     1 ms     1 ms     1 ms  2a01:d0:8124:2:ffff:0:d401:e022
  12.  
  13. Трассировка завершена.
  14.  
  15. 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
  1. forwarder 212.1.224.34 port 53 # Откуда брать имена
  2. prefix 2a01:d0:8124:2:ffff:: # NAT64 - подсеть
  3. port 53 # Какой порт слушать
  4. pidfile /var/run/totd.pid
  5. interfaces lo vlan6 # Какие интерфейсы слушать
Bind9 - знаменитый DNS-сервер, ньюанс заключается в том, что функция dns64 в нем появилась с версии 9.8.0, поэтому опять пришлось заниматься бэкпортированием  на 10.04
Настройка dns64 сводится к тому, что в опцию добавляется следующее:
/etc/bind/named.conf.options
Код: Bash
  1. options {
  2.         // Skip
  3.         dns64 2a01:d0:8124:2:ffff::/96 // Моя NAT64 - подсеть
  4.         {
  5.                 clients { 2a01:d0:8124::/64; }; // Моя routed64 подсеть
  6.         };
  7.         // Skip
  8. };
  9.  

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

Что же, тем кому знаком этот сервер, приятно будет узнать, что он вполне себе может работать как RouterAdvertisement, DHCPv6, и кеширующий DNS, правда использовать его пока можно в первых двух эпостасиях, (функция dns64 ему пока не доступна). Испробовано на v2.62. Пример конфигурации /etc/dnsmasq.conf
Код: Text
  1. port=0
  2. enable-ra
  3. # конфигурация dhcp6
  4. dhcp-range=2a01:d0:8124::2, 2a01:d0:8124::ffff, 64, 12h
  5. dhcp-option=option6:dns-server,[2a01:d0:8124::1]
  6. # конфигурация SLAAC
  7. dhcp-range=2a01:d0:8124::2, 2a01:d0:8124::ffff:ffff, slaac, 64, 12h
  8.  
Примечание: Для корректной работы в сетях 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
  1. iface eth0 inet6 dhcp
  2.       request_prefix 1
В случае успеха провайдер Вам выделит подсеть, её значение можно подсмотреть в /var/lib/dhcp/dhclient6.${IFACE}.lease.
 
Код: Text
  1. 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
  1. # example of interfaces file
  2. auto eth0
  3. iface eth0 inet manual
  4.         up ip l s dev $IFACE up
  5.         accept_ra 2
  6.         down ip l s dev $IFACE down
Либо в /etc/sysctl.conf
Код: Text
  1. net.ipv6.conf.eth0.accept_ra = 2
Дальнейшая настройка описана выше  и не требует дополнительной конфигурации при условии, что клиенты за абонентским маршрутизатором получают адреса по dhcpv6.
PS Пользуясь случаем, хочется передать привет разработчикам  Android, в котором до сих пор не реализована поддержка ipv6-stateful.
« Последнее редактирование: 23 Сентябрь 2018, 17:57:58 от koshev »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1667
  • חתול המדען
    • Просмотр профиля
Обновлено.
Добавлен пример конфигурации RA с помощью демона маршрутизации BIRD.
Добавлен пример для DNSmasq.
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн ee99393

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

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1667
  • חתול המדען
    • Просмотр профиля
Баг в 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 »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн Malamut

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

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Настраивал по мануалу.

Клиент у меня линуксовый, 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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25769
    • Просмотр профиля
1.
default via fe80::230:18ff:fea0:fd43 dev eth0  proto static  metric 1

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

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

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

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1667
  • חתול המדען
    • Просмотр профиля
Вопрос 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.
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Что касается 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

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1667
  • חתול המדען
    • Просмотр профиля
Цитировать
Ну а link-local на основе чего назначается?
На основе hardware address, но это вовсе не означает, что оно должно его повторить его в точности.
Такое поведение описано в RFC4862.
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн AT-2000

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

Оффлайн peregrine

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

Оффлайн AnrDaemon

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

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

Оффлайн koshev

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1667
  • חתול המדען
    • Просмотр профиля
Если сидишь за NAT, то брокер бесполезен?
По идее бесполезен, как и 6to4.
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн peregrine

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

 

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