Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #15 : 04 Октября 2020, 13:46:18 » |
|
Итак, любой провайдер может без проблем получить в собственное юзанье сеть ipv6 c префиксом /32 или /48 (что скорее всего). 48я сеть - это гиганское количество адресов исчисляемое миллионами, так что и этого хватит выше крыши для большинства провайдеров. Протокол подразумевает выдачу абоненту не адреса - а сети с префиксом /64 в которой тоже дофига миллионов адресов и ему ее хватит на всю его жизнь и его детей и внуков. В 48 сети провайдера получается что-то чуть больше 65тысяч таких префиксов. При этом никто не запрещает выдавать юзеру не 64 префикс а что-то побольше, например 111 или еще больше. На этом разговор о нехватке ip адресов можно считать закрытым.
|
|
« Последнее редактирование: 05 Октября 2020, 17:40:48 от Cell »
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #16 : 04 Октября 2020, 14:06:02 » |
|
Что же делать дальше? Юзеры уже хотят.... а провайдеры еще не могут или не хотят? Будем внедрять! Если кто-то чувствует в себе силы, присоединяйтесь в тему. Итак, нужно начать с пула адресов. Что есть для старта? У нас есть сеть, выданная нам райпом, вида ХХХХ:YYYY:ZZZZ::/48 и ее для дальнейшего юзанья нужно разбить на кучу мелких пидарасиков ). С учетом того что пидарасиков этих будет много тысяч - ручная работа с калькулятором тут не подходит. Для создания пула нам необходимо юзать модуль перла NetAddr::IP приблизительно так: use NetAddr::IP;
my $bigpref = new NetAddr::IP('xxxx:yyyy:zzzz::/48');
my @prefs = $bigpref->split(64);
В массиве @prefs и будут находится все префиксы 64 которые нам нужны, причем в стандартной нотации IPv6 Остается создать сам пул, по образу и подобию того что уже есть, но с небольшой модернизацией, исходящей из специфики юзанья шестого протокола. Тут есть несколько нюансов, о которых речь пойдет в следующей серии.
|
|
|
Записан
|
|
|
|
cojiict
|
|
« Ответ #17 : 05 Октября 2020, 17:02:32 » |
|
При этом никто не запрещает выдавать юзеру не 64 префикс а что-то побольше, например 128 или еще больше. На этом разговор о нехватке ip адресов можно считать закрытым.
Більше /128 ? по-моєму /128 це останній префікс і там всього 1 ІР. Модуль DHCP буде працювати? а то клієнтам не дуже хочеться диктувати 128 битну адресу, вони 4 окета з трудом вписують! Планується тільки в Nodeny Next?
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #18 : 05 Октября 2020, 17:34:51 » |
|
Більше /128 ? по-моєму /128 це останній префікс і там всього 1 ІР. Очепятка Впиливание в биллинг ipv6 пока моя личная инициатива. Поэтому включение в дистрибутив вообще не гарантируется. Я не собираюсь переписывать весь биллинг под это. Все будет максимально упрощено. И уж точно без DHCP который работает на IPv6 но к сожалению совершенно не понятно как его заюзать кроме как использовать опцию82 - чего я не планировал делать вообще. Планируются статические сети, зароученные за интерфейсный IP адрес. Самая главная проблема заставить брас отрабатывать этот ipv6 пул. После этого появится возможность выдавать тем кто просить ipv6 и сидеть на попе ровно до тех пор, когда на Nodeny появится его поддержка. Вангую что это случиться по-любому т.к. другого пути просто нет.
|
|
|
Записан
|
|
|
|
zeny
Пользователь
Карма: 0
Offline
Сообщений: 17
|
|
« Ответ #19 : 05 Октября 2020, 20:36:55 » |
|
Та проблем особых нет: сформулируйте ТЗ, оплатите разработку да пользуйтесь! Проблема вся в том, что никому особо ipv6 не надо, чтобы прям взять и оплатить разработку...
Да пол года уже просим и денег предлагаем и тз писали
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #20 : 05 Октября 2020, 20:37:25 » |
|
Если бы в стандартном пуле ип адрес хранился и обрабатывался как обычная строка а не int(10) было бы сильно проще. Как оказывается в mysql нет специальных механизмов для хранения IPv6 адресов и придется их хранить как обычную строку. Что-то я не вижу у народа энтузиазма. Все только потребители? Никто не хочет поучаствовать больше?
|
|
|
Записан
|
|
|
|
zeny
Пользователь
Карма: 0
Offline
Сообщений: 17
|
|
« Ответ #21 : 05 Октября 2020, 20:40:34 » |
|
При этом никто не запрещает выдавать юзеру не 64 префикс а что-то побольше, например 128 или еще больше. На этом разговор о нехватке ip адресов можно считать закрытым.
Більше /128 ? по-моєму /128 це останній префікс і там всього 1 ІР. Модуль DHCP буде працювати? а то клієнтам не дуже хочеться диктувати 128 битну адресу, вони 4 окета з трудом вписують! Планується тільки в Nodeny Next? Выдавать надо 64 подсети, так как роутеры через ND отдают. И даже если порежешь на 128, роутер отдаст абону 64 и будет нехорошо. Испытано уже
|
|
|
Записан
|
|
|
|
zeny
Пользователь
Карма: 0
Offline
Сообщений: 17
|
|
« Ответ #22 : 05 Октября 2020, 20:41:43 » |
|
Готов оплатить разработку, назовите цену и сроки
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #23 : 05 Октября 2020, 22:08:18 » |
|
причем необязательно на интерфейсе выдавать маршрутизируемые в интернет ипв6
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #24 : 05 Октября 2020, 22:42:40 » |
|
причем необязательно на интерфейсе выдавать маршрутизируемые в интернет ипв6 так и есть
|
|
|
Записан
|
|
|
|
cojiict
|
|
« Ответ #25 : 06 Октября 2020, 08:38:02 » |
|
Більше /128 ? по-моєму /128 це останній префікс і там всього 1 ІР. Очепятка И уж точно без DHCP который работает на IPv6 но к сожалению совершенно не понятно как его заюзать кроме как использовать опцию82 - чего я не планировал делать вообще. якщо отримати /48 і віддавати клієнтам /64, то цього вистачить більшості провайдерів. Але автоматизувати видачу ІР було б дуже корисно, хоча б через SLAAC.
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #26 : 06 Октября 2020, 09:48:02 » |
|
Але автоматизувати видачу ІР було б дуже корисно, хоча б через SLAAC.
В этом прекрасно все, кроме того, что это никак нельзя заюзать для блиллинга ((( кроме как каждый раз вводить пароль в заглушке - для меня это неприемлемо. Лучше уж пусть будет просто статика.
|
|
|
Записан
|
|
|
|
Redmen
NoDeny
Ветеран
Карма: 62
Online
Сообщений: 546
Подяку в КАРМУ
|
|
« Ответ #27 : 06 Октября 2020, 09:52:43 » |
|
Если бы в стандартном пуле ип адрес хранился и обрабатывался как обычная строка а не int(10) было бы сильно проще. Как оказывается в mysql нет специальных механизмов для хранения IPv6 адресов ...
INET6_ATON() Return the numeric value of an IPv6 address INET6_NTOA() Return the IPv6 address from a numeric value https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_inet6-atonИ уж точно без DHCP который работает на IPv6 но к сожалению совершенно не понятно как его заюзать кроме как использовать опцию82 - чего я не планировал делать вообще.
DHCP + Radius + Opt82 Opt37 \ QinQ (VlanPerUser) планирую разрабатывать поддержку IPv6 для себя, но пока начальство даже пул не запросило. для DHCPv6 нужно учитывать хто запрашивает, роутер(\64) \ конечный пк(не помню маску) по этому нужно 2 класса пулов для двух масок не обязательно сразу генерить весь пул, т.к. адресов будет дохреналион, достаточно сделать при запросе генерацию на лету с использованием того же NetAddr::IP, а результат уже вносить в БД Предлагаю для начала описать ТЗ публично, чтоб каждый заинтересованный мог внести предложения, что б потом не переделывать структуру кучу раз
|
|
|
Записан
|
|
|
|
elite
Начальник планеты
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1226
In LAN we trust!
|
|
« Ответ #28 : 06 Октября 2020, 13:23:57 » |
|
может быть просто всем давать /64, а там пусть сами они разбираются - роутер это или конечный клиент все равно подавляющее большинство будет роутеры
|
|
|
Записан
|
|
|
|
Cell
NoDeny
Спец
Карма: 52
Offline
Сообщений: 1407
|
|
« Ответ #29 : 06 Октября 2020, 16:12:32 » |
|
Это здорово, что в 5.7 появилась поддержка. Я не знал, когда читал об этом всем, все грустили об отсутствии. Но, во-первых int(10) все равно не о чем, а во-вторых у меня кое где еще до сих пор 5.5 юзается. Не хотелось бы что бы это дело было чувствительно к версии базы данных. не обязательно сразу генерить весь пул, т.к. адресов будет дохреналион, достаточно сделать при запросе генерацию на лету с использованием того же NetAddr::IP, а результат уже вносить в БД
В таком варианте довольно хлопотно определять какие из префиксов уже заняты а какие нет. Проще генерировать пул определенного размера, увеличивая его по мере необходимости.
|
|
« Последнее редактирование: 06 Октября 2020, 16:47:00 от Cell »
|
Записан
|
|
|
|
|