Биллинговая система Nodeny
10 Ноября 2024, 21:44:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 [2] 3 4 5
  Печать  
Автор Тема: Nodeny+IPv6  (Прочитано 31364 раз)
Cell
NoDeny
Спец
*

Карма: 52
Offline 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 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
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #17 : 05 Октября 2020, 17:02:32 »

При этом никто не запрещает выдавать юзеру не 64 префикс а что-то побольше, например 128 или еще больше. На этом разговор о нехватке ip адресов можно считать закрытым.
Більше /128 ?  по-моєму /128 це останній префікс і там всього 1 ІР.
Модуль DHCP буде працювати? а то клієнтам не дуже хочеться диктувати 128 битну адресу, вони 4 окета з трудом вписують!
Планується тільки в Nodeny Next?
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #18 : 05 Октября 2020, 17:34:51 »

Більше /128 ?  по-моєму /128 це останній префікс і там всього 1 ІР.
Очепятка
Впиливание в биллинг ipv6 пока моя личная инициатива. Поэтому включение в дистрибутив вообще не гарантируется. Я не собираюсь переписывать весь биллинг под это. Все будет максимально упрощено. И уж точно без DHCP который работает на IPv6 но к сожалению совершенно не понятно как его заюзать кроме как использовать опцию82 - чего я не планировал делать вообще.
Планируются статические сети, зароученные за интерфейсный IP адрес.  Самая  главная проблема заставить брас отрабатывать этот ipv6 пул. После этого появится возможность выдавать тем кто просить ipv6 и сидеть на попе ровно до тех пор, когда на Nodeny появится его поддержка. Вангую что это случиться по-любому т.к. другого пути просто нет.
Записан
zeny
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 17


Просмотр профиля
« Ответ #19 : 05 Октября 2020, 20:36:55 »

Та проблем особых нет: сформулируйте ТЗ, оплатите разработку да пользуйтесь!
Проблема вся в том, что никому особо ipv6 не надо, чтобы прям взять и оплатить разработку...
Да пол года уже просим и денег предлагаем и тз писали
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #20 : 05 Октября 2020, 20:37:25 »

Если бы в стандартном пуле ип адрес хранился и обрабатывался как обычная строка а не int(10) было бы сильно проще. Как оказывается в mysql нет специальных механизмов для хранения IPv6 адресов и придется их хранить как обычную строку.
Что-то я не вижу у народа энтузиазма. Все только потребители? Никто не хочет поучаствовать больше?
Записан
zeny
Пользователь
**

Карма: 0
Offline 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 Offline

Сообщений: 17


Просмотр профиля
« Ответ #22 : 05 Октября 2020, 20:41:43 »

Готов оплатить разработку, назовите цену и сроки
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #23 : 05 Октября 2020, 22:08:18 »

причем необязательно на интерфейсе выдавать маршрутизируемые в интернет ипв6 Улыбающийся
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #24 : 05 Октября 2020, 22:42:40 »

причем необязательно на интерфейсе выдавать маршрутизируемые в интернет ипв6 Улыбающийся
так и есть
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #25 : 06 Октября 2020, 08:38:02 »

Більше /128 ?  по-моєму /128 це останній префікс і там всього 1 ІР.
Очепятка
 И уж точно без DHCP который работает на IPv6 но к сожалению совершенно не понятно как его заюзать кроме как использовать опцию82 - чего я не планировал делать вообще.
якщо отримати /48 і віддавати клієнтам /64, то цього вистачить більшості провайдерів. Але автоматизувати видачу ІР було б дуже корисно, хоча б через SLAAC.
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #26 : 06 Октября 2020, 09:48:02 »

Але автоматизувати видачу ІР було б дуже корисно, хоча б через SLAAC.
В этом прекрасно все, кроме того, что это никак нельзя заюзать для блиллинга ((( кроме как каждый раз вводить пароль в заглушке - для меня это неприемлемо. Лучше уж пусть будет просто статика.
Записан
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« Ответ #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, а результат уже вносить в БД

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

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #28 : 06 Октября 2020, 13:23:57 »

может быть просто всем давать /64, а там пусть сами они разбираются - роутер это или конечный клиент
все равно подавляющее большинство будет роутеры
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #29 : 06 Октября 2020, 16:12:32 »

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
Это здорово, что в 5.7 появилась поддержка. Я не знал, когда читал об этом всем, все грустили об отсутствии. Но, во-первых int(10) все равно не о чем, а во-вторых у меня кое где еще до сих пор 5.5 юзается. Не хотелось бы что бы это дело было чувствительно к версии базы данных.
не обязательно сразу генерить весь пул, т.к. адресов будет дохреналион, достаточно сделать при запросе генерацию на лету с использованием того же NetAddr::IP, а результат уже вносить в БД
В таком варианте довольно хлопотно определять какие из префиксов уже заняты а какие нет. Проще генерировать пул определенного размера, увеличивая его по мере необходимости.
« Последнее редактирование: 06 Октября 2020, 16:47:00 от Cell » Записан
Страниц: 1 [2] 3 4 5
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!