Про OpenWRT, Sierra Wireless, IPv6 и нерадивых ISP-ов

Jan 12, 2020 01:18


Продолжение / корректировка / дополнение вот этого поста. Спойлер: там было гонево.

Зачесались у меня что-то шаловливые ручки поковыряться опять с IPv6. Не знаю зачем. Охота пуще неволи. Взял опять свой любимый Sierra AirCard 320U в режиме "Direct IP", роутер с OpenWRT, МТС-овскую SIMку с подключенной услугой IPv6, заперся в квартире, и давай дро ( Read more... )

linux, lte, openwrt, МТС, сети, интернетное, it, модемы

Leave a comment

sergey_cheban January 12 2020, 15:04:43 UTC
Как-то всё сложно. В sknt.ru если у провайдера всё в порядке (а оно чаще нет, чем да), то openwrt с дефолтовыми настройками просто получает сеть /64, а потом берёт себе адрес из этой сети (а остальные адреса раздаёт по DHCP устройствам в локалке).

Reply

klink0v January 12 2020, 15:09:28 UTC
Не верю. (c) Станиславский
/64 предназначен для одного хоста. По RFC его нельзя "раздавать", тем более по DHCP. Возможно, провайдер выдает адрес /64 и к ней "в довесок" - сеть /56 или /60. Тогда поверю.

Reply

sergey_cheban January 12 2020, 18:27:17 UTC
https://en.wikipedia.org/wiki/IPv6
The standard size of a subnet in IPv6 is 2^64 addresses.

Нет, ничего другого провайдер не даёт. Только сетку /64. Роутер берёт себе конкретный адрес из этой сети, длина адреса 128 битов.

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

Reply

klink0v January 12 2020, 18:58:25 UTC
Не читай педивикию, читай официальную RIPE-шную документацию. :)

Вот, гляди сюды:

... )

Reply

sergey_cheban January 12 2020, 20:25:51 UTC
> Сеть "/64" - она только называется "сеть". На самом деле она выдаётся на одно устройство.
Сеть выдаётся не на одно устройство, а на один роутер. Дальше роутер объявляет для всех устройств в локалке: "Ребята, вы можете брать себе адреса из этого диапазона". Устройства с удовольствием берут, иногда даже не по одному адресу.

Reply

klink0v January 12 2020, 20:30:15 UTC
Тут вопрос как дают и как берут. Там как бе минимум три разных способа есть (SLAAC, Stateless DHCP, Stateful DHCP).

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

Reply

sergey_cheban January 12 2020, 22:30:24 UTC
> Тут вопрос как дают и как берут.
DHCPv6 prefix delegation

Reply

klink0v January 13 2020, 20:21:26 UTC
Если через Stateful DHCPv6, то, в принципе, возможно, да...

Но для модемов такое точно не катит.

Reply

yalexey January 19 2020, 04:45:36 UTC
Я тут читал ман на dnsmasq. У него предусмотрена процедура валидации IPv6, в том числе, и самозанятых по SLAAC. Типа, он пингует устройство и после ответа добавляет в список хостов. А ещё он умеет запускать скрипты по случаю появления нового хоста в локалке. Вот туда, очевидно, в скрипт, запускаемый при появлении хоста ipv6, логично будет добавить проверку/добавление маршрута.

Reply

klink0v January 19 2020, 13:03:03 UTC
Я потыркался ещё немного в настройках. Можно и без извращений, оказывается. Также у меня получилось взять у МТС и раздать вовнутрь IPv6 через Huawei 3372 в режиме Stick / NCM. Собираюсь написать по этому поводу еще один псто, но всё лапки не доходят.

Reply

yalexey January 20 2020, 04:40:22 UTC
Stateful DHCPv6, это не спортивно. Так каждый дурак сможет 😁

Меня вот другое занимает последнее время. Даже iptables начал курить, и понял как сформулировать эту хуйню, наконец.

Такие фишки, как dnat или tproxy работают в prerouting, не позже. Поэтому нельзя организовать динамическую баллансировку между двумя аплинками, если один из них, это локальный порт прокси. Но если прокси не локальный, то на нём легко организуется входящий dnat. И интерфейс к этому внешнему хосту вполне может быть частью балансировки.

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

Reply

klink0v January 21 2020, 18:56:29 UTC
Разве что используя namespaces. Но мне кажется, ты пытаешься решать задачу "не с того конца".

Reply

dark_fox315 June 1 2020, 07:14:56 UTC
Привет, можно попробовать использовать NATv6 для раздачи /64.

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

Если, скажем, каждый провайдер выдает /56, или даже /64, то как маршрутизатор будет балансировать трафик, если у каждого устройства будет по несколько IPv6 адресов. Вместо одного, как у IPv4, при использовании NAT.

Reply


Leave a comment

Up