LINUX.ORG.RU
ФорумAdmin

распределение адресов ipv6 в сети

 , , ,


0

4

Здравствуйте.

Провайдер динамически выдает префикс ipv6 /64 (~18 квадриллионов адресов). Возник вопрос, как эти адреса распределять без SLAAC? т.е. надо как то передать динамически получаемый префикс на другие DHCP сервера и при этом как то поделить диапазоны ip между ними.

Как это делается?


Провайдер динамически выдает префикс ipv6 /64

Это плохо - у меня также. По идее должен /48, с расчетом /64 на железку.

Turbid ★★★★★
()

Как это делается?

DHCP6-pd

Но выше правильно написали, что провайдер должен был тебе /56 или /48 выделить т.к. slaac работает только с /64 префиксами.

Kolins ★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от Kolins

DHCP6-pd

Я так понимаю что это делегация сетей от /64 и больше. Меня же интересует дальнейшее дробление этой сети для распределения этих адресов.

torm7
() автор топика
Ответ на: комментарий от torm7

Я так понимаю что это делегация сетей от /64 и больше.

нет. можно и /64 бить на более мелкие подсети. Конкретно у микротов в ipv6->pool указываешь исходный префикс и размер префиксов на которые ты будешь его бить.

Kolins ★★★
()
Ответ на: комментарий от intelfx

Эм. Я бы ещё подумал если бы речь шла про действительно значимый и действительно стандарт. А тут сомнительные рекомендации по ведению бизнеса, впихнутые в технический документ, который и без этого был сомнительного качества. Нарезание сетей внутри автономной системы - это сфера исключительно коммерческих отношений между провайдером и его клиентами, а никак не стандарта.

Лично мне осознание того, что можно было сэкономить ненужные 8 байт заголовков из моих локальных адресов, коих мне выделили целых 128-48=80 бит=10 байт, оставив только 2 байта, которых заведомо на всё хватит, но нельзя из-за дури каких-то странных людей из 90-х, сочинивших этот «стандарт», вело бы только к негативу.

Впрочем, если ipv6 таки окажется массово принят, и всем действительно будут выдавать /48, то скорее всего эти лишние бесполезные 16 байт в ipv6 пакете (8 байт от адреса источника и 8 байт от адреса назначения) скорее всего научатся использовать под что-то более полезное (слать через них какие-нить другие метаданные, куки, мониторинг итд).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от intelfx

Не надо демагогии, все давно понимают что ipv6 это провал. То, что он вообще используется - происходит лишь потому, что конца ipv4-адресов действительно некоторые боятся, а альтернатив расширить адресное пространство нет.

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

firkax ★★★★★
()
Ответ на: комментарий от intelfx

Чем мне нравится лор - тяга людей к «поболтать под пивасик, желательно ни о чем» :)

ipv6 работает, работает замечательно, протокол заметно проще, чем ipv4 (одно отсутствие броадкаста чего стоит).

Что касается стандартов, то они определяют технологию, а не бизнес-процесс, и обычный DHCP вовсе не является обязательным для применения в провайдинге.

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

Oleg_Iu
()

ipv6

имхо
удаляй роутер подключай тупо свитч
всякие winxp подключай через роутер к свитчу
файсбук так и делает инфа100

nanosecond
()
Последнее исправление: nanosecond (всего исправлений: 2)
Ответ на: комментарий от Turbid

/56 по полиси. /48 это уже чтобы роутиться можно было.

Dark_SavanT ★★★★★
()

IPv6 — классовая система адресации. Существует несколько классов (которые политкорректно называются форматами) IPv6 адресов.

Нас в данном случае интересует unicast/anycast формат: 64 бита — префикс сети (номер сети в терминологии IPv4), 64 — бита идентификатор интерфейса (номер хоста в терминологии IPv4).

Предполагалось, что префикс сети будет состоять из 48 бит (глобального) префикса маршрутизации и 16-ти бит идентификатора подсети.

Прошу заметить, существует известная путаница между подсетями IPv4 и CIDR. Это — две разных спецификации: подсети были определены в рамках классовой маршрутизации IPv4, CIDR — как раз и есть бесклассовая маршрутизация. Отсюда, разница в нотациях (кстати, маску подсети можно/нужно было задавать а-ля 0.0.255.0).

Соответственно, предполагалось что глобальная маршрутизация IPv6 будет осуществляться максимум по 48 битам. Что существенно облегчало построение таблиц маршрутизации. Но реальность распорядилась иначе.

Никому даже и в голову не пришло бы использовать CIDR для IPv6 ввиду бессмысленности и ввиду того что CIDR проектировался как временный механизм (ага, как обычно, чо). Поэтому, подсети IPv6 следует понимать в оригинальной трактовке.

Оператор связи может выдавать /64 на абонента. Никаких проблем это не принесёт. Но, в этом случае абонент лишается возможности настраивать несколько глобально маршрутизируемых подсетей на своей территории. В современных реалиях это очень полезно.

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

С внедрениями покрупнее, есть сомнения (и вполне обоснованные) в адекватности механизмов автоконфигурации IPv6.

Этим и живём.

anonymous
()

Что то я не понимаю хода ваших мыслей. Вопрос был вполне конкретный, как в сети распределять ~18 квадриллионов адресов, которые выделили. Одна l2 сеть с одним DHCP, это как то ну совсем… Такое количество адресов как бы подразумевает деление сети на l3 уровне. При таком количестве узлов не принципиально что выделят /64, /56, /48, /96. Это всё очень много и всё равно надо как-то делить. Просто я этим никогда не занимался, за ненадобностью, а сейчас встал вопрос, т.к. виртуализация/контейнеризация/SDN стали доступны для простых смертных, а тут ещё и ipv6 завезли, так что стало возможно взаимодействовать со всем этим из вне…

torm7
() автор топика
Ответ на: комментарий от torm7

Такое количество адресов как бы подразумевает деление сети на l3 уровне

По мнению авторов ipv6 не подразумевает. Типа держи /64 на хост и хоть на каждый процесс по ip генерируй.

Хочешь делить - да без проблем, можешь руками, можешь по dhcpv6-pd раздавать, но slaac в префиксах больше /64 работать не будет: настраивай статикой или запускай обычный dhcpv6 в каждом сегменте (хотя и там без ra не обойдешься т.к. def. route по dhcpv6 больше не раздается).

Kolins ★★★
()
Ответ на: комментарий от anonymous

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

Это как это? Глобальная маршрутизация делается между провайдерами. Провайдер внутри себя (если большой) может делать ещё какую-то, но в целом не нагруженную таблицами. Ну а пользователь - тебе выдали аплинк, всё что снизу твоё, маршрутизируй сколько хочешь, в чём проблема? Глобально ты всё равно виден как 1 порт в свитче у провайдера.

firkax ★★★★★
()
Ответ на: комментарий от torm7

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

pfg ★★★★★
()
Ответ на: комментарий от Kolins

Меня SLAAC не интересует, это для «домохозяек», которым воткнул и работает. Мне нужно немного больше чем просто «работает».

За ссылки спасибо, я микротик вроде настроил, поделил /64 на /66 сегменты. Когда руки дойдут, попробую в виртуальную сеть передать этот кусок.

torm7
() автор топика
Ответ на: комментарий от torm7

Меня SLAAC не интересует, это для «домохозяек», которым воткнул и работает.

Вопрос не в домохозяйках. SLAAC позволяет скрывать мониторинг клиента разными интернет-сервисами при помощи расширения безопасности. Это САМЫЙ важный «побочный» эффект протокола. А в целом, SLAAC сильно упрощает настройку стека ipv6.

Далее, в отличие от ipv4, в шестой версии у каждой ноды, подключенной к сети, по сути, своя роль. Условно можно выделить, как минимум, три вида нод - хост, роутер и сервер. И с ними можно (и нужно) работать по разному.

Хост - обычный ip-чайник/телевизор, которому нужен просто доступ к интернету. Тут slaac просто прописан по хрестоматии.

Роутер - тут понятно, что это нода, через которую осуществляется доступ к сетям. Тут, понятно, dhcpv6-pd, если это подчиненные сети. Ну и есть еще разные уловки, что бы реализовать настройку роутинга через тот же RA протокол. Но так делают очень редко.

Сервер - нода, к которой требуется аргументированный доступ из интернета. Например, сайт. Тут чаще всего используется статически настроенные ip, и не морочат себе голову.

У современных провайдеров в настройках/тарифах клиент сам выбирает уровень услуги - т.е. я, как клиент, заказываю делегирование /64 или /48 (или /56). Если мне оно надо. Но все это, как мы понимаем, квартирный интернет. Для профессиональной деятельности все делается немного не так.

Ну и последнее - как делить префикс… Как сказали выше - да как угодно. Как хочется, так и надо делить. И надо помнить, что префикс, это НЕ броадкаст. Если вы повесили префикс на интерфейс, то никто не запрещает вам кусок этого префикса (например /96 из /64) зароутить вообще в другую часть сети.

В общем, ipv6 - это еще то чудо. :)

Oleg_Iu
()
Ответ на: комментарий от torm7

Для начала — выкинуть тупую пропаганду про «стотыщщпиццот сикстилионов» из головы.

Уникаст IPv6-адрес — пара 64-битных чисел: <префикс сети, идентификатор интерфейса>. Идентификатор, прошу заметить, а не «номер» или «адрес».

То что пространство идентификаторов интерфейса 64-бита, не значит что их должно быть/будет 2^64.

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

Ещё раз. В IPv6 — классовая маршрутизация. Поэтому, маршрутизация по префиксам > /64 невозможна, даже если в какой-то реализации она «работает».

Соответственно, распределить пространство идентификаторов интерфейсов можно единственным способом: выдавать из него 64-битные идентификаторы.

Делается это через механизм автоконфигурации.

  1. Хост рассчитывает 64-битный идентификатор интерфейса.
  2. Хост проверяет, что идентификатор не занят.
  3. Хост формирует локальный адерс: <0xfe80000000000000, идентификатор>.
  4. Хост использует механизм ND (neighbor discovery) либо для дальнейшей поиска маршрутизатора и дальнейшей автоконфигурации, либо для поиска DHCPv6 сервера.

Поэтому, в простых ситуациях достаточно включить поддержку IPv6 в совместимом маршрутизаторе, а дальше «оно само».

anonymous
()
Ответ на: комментарий от firkax

Это как это? Глобальная маршрутизация делается между провайдерами.

Возьмём из головы пример. В наличии: домашняя беспроводная, домашняя проводная, домашняя беспроводная гостевая, DMZ для торрентокачалки.

Если бы провайдер не жлобился бы и выдавал несколько подсетей, задача сегментирования значительно бы упростилась: для каждой подсети отдельный механизм (авто)конфигурации, для каждой подсети свои правила доступа во внешние сети, для каждой подсети свои правила маршрутизации между подсетями. И всё это управлялось бы строго в одном месте.

anonymous
()

Итого, пообщался со своим провайдером(«ЭР-ТЕЛЕКОМ»), они сказали что выделяют только префикс /64 и в обозримом будущем другой выделять не будут. На этом теоретические выкладки о SLAAC, автоконфигурации и как бы было хорошо если бы…, можно прекращать. Имею то что имею. Настроил как советовал @Kolins

[rav@MikroTik] > /ipv6/dhcp-client/ print detail
Flags: D - dynamic; X - disabled, I - invalid 
 0    interface=dom.ru status=bound duid="0x00030001cc2de078ef45" dhcp-server-v6=fe80::a67b:2cff:fe23:121f request=prefix add-default-route=yes default-route-distance=1 
      use-peer-dns=no dhcp-options="" pool-name="dhcp_v6_pool" pool-prefix-length=112 prefix-hint=::/0 dhcp-options="" prefix=xxxx:xxxx:xxxx:xxxx::/64, 23h39m37s
[rav@MikroTik] > /ipv6/pool/print detail 
Flags: D - dynamic 
 0 D id=44 name="dhcp_v6_pool" prefix=xxxx:xxxx:xxxx:xxxx::/64 prefix-length=112 expires-after=23h54m5s
[rav@MikroTik] > /ipv6/dhcp-server/print detail 
Flags: D - dynamic; X - disabled, I - invalid 
 0    name="v6_dhcp" interface=br1-lan address-pool=dhcp_v6_pool lease-time=3m rapid-commit=yes use-radius=no preference=255 dhcp-option="" route-distance=1 
      allow-dual-stack-queue=no duid="0x00030001cc2de078ef45"

Вопрос, как настроить debian что бы этот префикс получить? Запись request_prefix 1 в /etc/network/interfaces ничего не дала.

torm7
() автор топика
Ответ на: комментарий от torm7

Вопрос, как настроить debian что бы этот префикс получить? Запись request_prefix 1 в /etc/network/interfaces ничего не дала.

Если не ошибаюсь, то там может принимать pd wide-dhcpv6-client. В сети, если не ошибаюсь, полно описаний, как это сделать.

Oleg_Iu
()
Ответ на: комментарий от torm7

https://wiki.debian.org/IPv6PrefixDelegation посмотри тут.

Но там веселуха конечно, ты по dhcpv6-pd-client получаешь префикс и должен его скриптами передать в dhcpv6-server/radvd/dnsmasq для раздачи в подсеть. Автоматики в wide/kea/isc dhcp не было, но я этим проектом летом 2020 занимался (и у меня был не debian, а китайский sdk под MT7621), может кто и довел до ума.

Kolins ★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от Kolins

@Kolins от туда и брал. Правда глубоко погрузиться не удалось, времени не было. @Oleg_Iu wide-dhcp не пробовал, с ним в wiki mikrotik передают префикс, если с ics не получится, то с ним попробую.

torm7
() автор топика
Ответ на: комментарий от anonymous

Для этого достаточно одной сети из 256 адресов выше крыши. Надо только использовать адекватные инструменты без нелепых ограничений вида «без /48 не работаю». Это же твоя личная сеть, ты не ограничен в ней никакими стандартами, можешь даже свой кастомный dhcp написать, плюя на любые бумажки и решая свою личную задачу. Стандарт регламентирует только интерфейс аплинка.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Проблема только в том, что программы могут с тобой не согласиться. Например, я делал сеть с префиксом /107, но временные адреса в ней никто получить не мог (что в целом ни разу не удивительно, но было бы прикольно, если бы где-то это отработало)

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Что значит «не мог»? Говорю же - ты можешь написать свой dhcp client, который будет получать какие угодно адреса по какому угодно протоколу. То, что какие-то программы не умеют получать адреса в /107 - это проблема этих программ, а не сетей /107.

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

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

А операционную систему мне тоже свою написать? Нафиг мне сеть, с которой не смогут работать реальные устройства из этого мира?

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

А операционную систему мне тоже свою написать?

Почему нет? Линус написал же и теперь она в каждом утюге. :)

anc ★★★★★
()

По сабжу - твой провайдер гондон, а ты страдаешь фигней, пытаясь подстроится под него. Если очень надо много сетей, и больше вариантов нет - получи адресное пространство у какого-нибудь HE и делай NAT в адресное пространство сети /64 на роутере. Да это стремный костыль, но лучше костылять трансляцию, чем стремную адресацию внутри сети.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

А может и не гондон, может ТС с чего-то решил что вся /64 его личная.

anc ★★★★★
()
Ответ на: комментарий от firkax

Для этого достаточно одной сети из 256 адресов выше крыши.

Не спорю. В какой-то степени это и отражено в рекомендациях райпа давать абонентам по /56.

Можно (и нужно) было сделать по-другому. Но сложно обвинять разработчиков, что в начале 90-х они «не угадали» как будет развиваться интернет четверть века спустя.

Всё сделано как сделано. Механизмы определены как определены. Нам остаётся только пользоваться ими так как предполагалось. В противном случае, возможны неочевидные и крайне серьёзные «сюрпризы».

anonymous
()
Ответ на: комментарий от torm7

Я, надеюсь, вы в своих практических построениях не забыли, что каждому интрефейсу в IPv6 сети присваивается адрес из fe80::/64?

И что мультикаст работает по-умолчанию как для нужд ND (solicited-node multicast address и соответствующих квирков ethernet), так и в форме банального ping6 ff02::1%eth?

anonymous
()
Ответ на: комментарий от firkax

всем действительно будут выдавать /48

Не будут. Я недавно перебирал VPS-хостеров, которые выдадут /48 бесплатно. Не нашёл. Ещё несколько лет назад была парочка. И это при том, что IPv4 на много порядков меньше, чем /48 подсетей, его вроде как не хватает, но тем не менее у меня на однодолларовой VPS-ке он есть.

И это в сфере, где это действительно может быть востребовано.

/64 это максимум, на что можно рассчитывать. А в 90% выдают даже не маршрутизируемую подсеть, а фиксированное число адресов из этой подсети.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

… что абсолютно логично так как префикс меньше /64 предполагает наличие нескольких подсетей, зачастую без доступа в глобальную сеть.

А вот для хомячков наличие нескольких подсетей — абсолютно логично. Всё-равно, как минимум, проводная и беспроводная.

Впрочем, пресловутая 82-я опция DHCP описывалась в условиях отсутствия маршрутизатора на стороне абонента (ибо «нецелесообразно», sic!), с размещением DHCP-сервера на стороне оператора. Так что нам есть куда стремиться.

anonymous
()
Ответ на: комментарий от Oleg_Iu

VPS выдают местами по 1 евро /64 - бери хоть 10 штук сразу.

Предлагаешь заплатить 65536 евро за /48?

HE выдает /48 бесплатно.

Хз, что они там выдают, тунели всякие через пендостан небось. Такое даром не надо.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Предлагаешь заплатить 65536 евро за /48?

Если вы торгуете интернетом зачем вам /48? Может вы участвуете в - как тут писали - глобальном роутинге?

У вас дома сколько slaac сетей? 2? 4? Вот и берите столько /64, сколько вам надо. Сомневаюсь я, что вы найдете дома больше 2-х сетей.

Хз, что они там выдают, тунели всякие через пендостан небось. Такое даром не надо.

Это что-то из области… я даже не могу сформулировать. Возмите через Паргу. Или через Цюрих. Или через Токио. Хотя, с такими взглядами вам, наверно, лучше вообще отключиться от инета - оно все через пендостан работает. :)

Oleg_Iu
()
Ответ на: комментарий от Oleg_Iu

оно все через пендостан работает. :)

Конечно, 13 корневых DNS-серваков, насвистывают колыбельную шуршащих байт прямо в уши деду Байдену)

Twissel ★★★★★
()

Ну ОК, а какие ещё есть «правильные» варианты распределения этих адресов?

То есть остается вариант одной большой l2 сети?

torm7
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.