Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: fet4 от 09 Апреля 2015, 10:38:35



Название: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 09 Апреля 2015, 10:38:35
Привет.
Начал знакомство с NP. Интересует связка с accel в режиме pppoe с его встроенным шейпером.
Установил Debain, accel, freeradius и все сопутствующее. Хочу связать это все.
Подскажите какие нюансы есть в NP, что привязано к Freebsd или может у кого есть уже работающее решение прошу поделиться.
Заранее спасибо :).


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: cojiict от 09 Апреля 2015, 11:30:45
ht_p://app.nodeny-plus.com.ua/docs/index.html


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 09 Апреля 2015, 15:30:06
pppoe или ipoe?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 09 Апреля 2015, 16:55:33
pppoe


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 09 Апреля 2015, 16:56:25
ht_p://app.nodeny-plus.com.ua/docs/index.html

Спасибо изучаем, по-потихоньку реализовываем тоже самое на debian.
Я так понял это единственная документация?

Настройка freeradius отсюда htp://app.nodeny-plus.com.ua/docs/work/mpd5.html подойдет же ?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 09 Апреля 2015, 17:05:15
Для pppoe эта документация подойдет. Только все, что касается mpd, игнорить. Вернее сделать аналогичные действия для linux сервера pppoe


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 11 Апреля 2015, 02:03:18
THREADS - Build threaded perl
Установил perl из пакетов, надо как-то вручную ее вкл?

Запустил в фоне ядро, не много ли он использует процессора в холостом ходу?

 top - 03:32:56 up  1:18,  1 user,  load average: 0,12, 0,15, 0,14
Tasks:  95 total,   1 running,  94 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2,2 us,  0,6 sy,  0,0 ni, 97,2 id,  0,0 wa,  0,0 hi,  0,1 si,  0,0 st
KiB Mem:   1911248 total,   322764 used,  1588484 free,    14004 buffers
KiB Swap:  1950648 total,        0 used,  1950648 free,   113620 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
11337 root      20   0  137m  15m 3444 S  10,3  0,8   8:15.23 perl


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 11 Апреля 2015, 11:09:13
Специально потоки в перл включать не нужно - если заработает ядро - значит они поддерживаются перл. Иначе надо поставить версию с включенными потоками либо перекомпилить вручную.

Загрузка ядра норм.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 11 Апреля 2015, 12:31:06
Отлично. Ядро запускается без ошибок.

-------Настраиваем сбор статистики трафика ipcad-----
Это мне нужно или нет если я использую pppoe?

-----echo /sbin/kldload accf_http >> /etc/rc.local---
Это я так понял для Freebsd?

----apache----
Для апача нет готовых конфигов виртального хоста?

---perl noserver.pl -v----
Он же мне не подходит? Вообще что еще не нужно запускать что и так не запуститься на debian?

-----radtest login pass 127.0.0.1 0 hardpass5----
Авторизация происходит, выдает стандартные атрибуты, я так понял для radius нужно еще добавить какие-то, для скоростей и т.д? Где посмотреть?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 11 Апреля 2015, 20:50:26
Связал accel с freeradius и nodeny. Авторизация проходит, ip выдается. Но заметил странное поведение - когда клиент подключен в биллинге он показывает зеленый ключик всего пару минут, а потом типа отключился хотя сессия есть. В последних авторизациях "меньше минуты" Так вроде не должно ж быть?

Как теперь прикрутить к шейперу?
в accel-conf указал
Код:
attr-down=PPPD-Downstream-Speed-Limit
attr-up=PPPD-Upstream-Speed-Limit
Так же accel и freeradius указал атрибуты
Код:
# Limit session traffic
ATTRIBUTE Session-Octets-Limit 227 integer
# What to assume as limit - 0 in+out, 1 in, 2 out, 3 max(in,out)
ATTRIBUTE Octets-Direction 228 integer
# Connection Speed Limit
ATTRIBUTE PPPD-Upstream-Speed-Limit 230 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-2 234 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-2 235 integer
ATTRIBUTE PPPD-Upstream-Speed-Limit-3 236 integer
ATTRIBUTE PPPD-Downstream-Speed-Limit-3 237 integer
ATTRIBUTE Acct-Interim-Interval 85 integer
ATTRIBUTE Acct-Input-Gigawords    52      integer
ATTRIBUTE Acct-Output-Gigawords   53      integer

И как блокировать у кого меньше нуля? Можно как-то сделать чтобы выдавалось с другого пула?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 12 Апреля 2015, 00:01:05
Кто поможет с установкой?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 12 Апреля 2015, 08:30:46
Ха-ха. Сдался!

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

Если ты заблокируешь доступ к клиенту, как он поймет, что это из-за баланса или по иной причине? Будет звонить в техподдержку? Нужен доступ в личный кабинет даже в заблокированном состоянии. Следовательно на уровне пппое доступ должен быть выключен. Поэтому основная концепция NoDeny - многие части работают независимо. Pppoe - дает соединение. Дальше, на агрегирующем устройстве идет блокирование доступа в инет, шейпинг, разрешение личного кабинета, заглушка и т.д. А еще есть такая проблема как то, что радиус по дефолту не имеет механизмов изменения авторизации, т.е нельзя по радиусу передать команду "измени скорость" - это необходимо делать с помощью расширения COA. Поэтому люди, которые хотят линукс, обычно юзают микротики (софтовые или железные), либо уже циску какую-нить - под них есть проверенные модули.

Как выдавать с другого пула - есть об этом на этом форуме. Ищи.

Почему пропадает зеленый ключик - есть об этом на этом форуме. Ищи.

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


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 12 Апреля 2015, 11:34:02
Та да, ох как оно бесит когда получается затык :D

Да к сожалению концепцию Nodeny не в курил пока, ковыряюсь с ним раз 3-ий. Но нужно поднимать в любом случае его, назад дороги нет ;D
Как это работает понимаю, а вот эти нюансы системы стопорят весь процесс, а времени катастрофически не хватает :(

Сейчас стоит Abills и accel. И работает все по такой схеме. Клиент подключается по pppoe и получается ip динамически из пула. Если у клиента на счету меньше нуля, ему выдается ip динамически из гостевого пула который имеет доступ только к билингу чтобы клиент мог зайти в лк и редиректит на заглушку если заходит на другие сайты. Если клиент подключен с гостевым ip и у него становиться положительный баланс его биллинг сбрасывает и он подключается уже с ip с основного пула. В итоге доступом я рулю уже сам через iptables. Не знаю правильно или нет это, но меня устраивает эта схема. Но я к ней и не привязываюсь, можно фаерволом блокировать но в этом уже нужна помощь.

Шейпы напрямую передаются в accel. COA так же у него присутствует.

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

Хотелось бы своими руками сделать с помощью специалиста, т.к. в дальнейшем мне это и обслуживать. Что бы сели через средства связи оперативно все установили.

В ценах не силен начнем с 1000 грн?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 12 Апреля 2015, 16:45:53
Сейчас стоит Abills и accel.
Спрошу не в тему. А чем не устраивает абиллс?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 12 Апреля 2015, 18:02:23
Сейчас стоит Abills и accel.
Спрошу не в тему. А чем не устраивает абиллс?
Ценой. Мы не такая крупная сеть чтобы платить допустим за модуль ПБ 150 уе и потом обновляя его раз в полгода еще доплачивать. И это только модуль.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: VitalVas от 12 Апреля 2015, 21:10:36
Да к сожалению концепцию Nodeny не в курил пока, ковыряюсь с ним раз 3-ий. Но нужно поднимать в любом случае его, назад дороги нет ;D
Как это работает понимаю, а вот эти нюансы системы стопорят весь процесс, а времени катастрофически не хватает :(

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

Клиент подключается по pppoe и получается ip динамически из пула. Если у клиента на счету меньше нуля, ему выдается ip динамически из гостевого пула который имеет доступ только к билингу чтобы клиент мог зайти в лк и редиректит на заглушку если заходит на другие сайты. Если клиент подключен с гостевым ip и у него становиться положительный баланс его биллинг сбрасывает и он подключается уже с ip с основного пула.

Это большой костыль для управления существующими абонентами. Не нужно принимать это как основу поведения. Не проще ли положить "гостевых" абонов в отдельный routing-instances (можно читать как vrf), а потом по coa атрибуту перевести в активных. Гостевые пулы придумали для неизвестных абонентов для возможности их дальнейшей идентификации.

Хоча это все реализуемо. Где-то здесь на форуме есть пример как работать с пуллами.

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

Шейпить можно средствами accel-ppp. Для этого тебе нужно добавить в процедуру "radreply" две строки ответа. Но здесь может быть затык - а если у абона нет активной услуги.

С доступом - элементарный перловый скрипт, который будет добавлять/удалять с ipset

А не проще ли поставить фрю с mpd5 и не парится?

p.s. Не нужно мне писать в личку - у меня все равно нет времени этим заниматься. Если хочешь чтоб помог - пиши на support@merolabs.com. Но время появится у меня не раньше 25 числа.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 12 Апреля 2015, 21:23:47
Цитировать
Дорога всегда есть, просто ты ее не видишь
Надеюсь найду ее:)

Цитировать
Шейпить можно средствами accel-ppp. Для этого тебе нужно добавить в процедуру "radreply" две строки ответа. Но здесь может быть затык - а если у абона нет активной услуги.

С доступом - элементарный перловый скрипт, который будет добавлять/удалять с ipset
Собственно в этом и нужна помощь. Остальное вроде все завелось и понятно.

Цитировать
А не проще ли поставить фрю с mpd5 и не парится?
Я думаю для меня будет проще постичь новый биллинг, чем новую ОС.

Спасибо. Хорошо напишу.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Redmen от 15 Апреля 2015, 08:46:31
Цитировать
А не проще ли поставить фрю с mpd5 и не парится?
Я думаю для меня будет проще постичь новый биллинг, чем новую ОС.

попробуй на виртуалке по прикреплённой инструкции - она ещё не доделана но уже работает
поменяй расширение на pdf


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 15 Апреля 2015, 09:21:26
попробуй на виртуалке по прикреплённой инструкции - она ещё не доделана но уже работает
поменяй расширение на pdf
имхо, она походу совсем не доделана... или только у меня открывается pdf c 12 чистыми листами?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 15 Апреля 2015, 09:24:08
Переименовал, там пустые блоки какие-то. :( Проверьте.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Redmen от 15 Апреля 2015, 10:44:32
Чёйта и у меня тоже пустые блоки после переименования в пдф



Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 15 Апреля 2015, 12:04:56
Здесь обсуждается Debian установка, документация для Freebsd есть на сайте. Зачем вы еще сделали?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Redmen от 15 Апреля 2015, 12:19:51
Ты написал:
Я думаю для меня будет проще постичь новый биллинг, чем новую ОС.
я решил помочь осилить БСД, так как по официальной доке установка занимает около 8 часов,
по моей же всего около 30 мин
тем более, зная линукс, осилить БСД не составит много труда (2-3 дня база)


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 15 Апреля 2015, 13:17:07
тем более, зная линукс, осилить БСД не составит много труда (2-3 дня база)
Поддерживаю. Когда стала необходимость перейти на BSD - боялся, что не ослилю... Ошибался. Плюс к тому, переносил билинг, который изначално писался по Linux и был без всякой документации..
А тут очень хорошая дока, по которой божно и без особых знаний все установить.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 15 Апреля 2015, 13:35:31
Ты написал:
Я думаю для меня будет проще постичь новый биллинг, чем новую ОС.
я решил помочь осилить БСД, так как по официальной доке установка занимает около 8 часов,
по моей же всего около 30 мин
тем более, зная линукс, осилить БСД не составит много труда (2-3 дня база)
Что-то вы приувеличиваете о 8 часах установки. Сам ставил по ней же, при том на Дебиан за 1,5 часа, все доступно написано.

И переходит из-за одного биллинга на БСД нет необходимости. А связать ноудени с линуксом - решаемо, вопрос времени и знаний, тем более все инструменты для этого есть в нем.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 15 Апреля 2015, 13:37:58
Что-то вы приувеличиваете о 8 часах установки. Сам ставил по ней же, при том на Дебиан за 1,5 часа, все доступно написано.
Это орентировочное время установки с нуля.. т.е. сама фряха на чистый винт, ядро, и прочее.. хотя само ядро собирается не делольше, чем проходит обновление портов. Тут ядро не такое громоздкое, как в линуксе


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Redmen от 15 Апреля 2015, 15:47:27
Ты написал:
Я думаю для меня будет проще постичь новый биллинг, чем новую ОС.
я решил помочь осилить БСД, так как по официальной доке установка занимает около 8 часов,
по моей же всего около 30 мин
тем более, зная линукс, осилить БСД не составит много труда (2-3 дня база)
Что-то вы приувеличиваете о 8 часах установки. Сам ставил по ней же, при том на Дебиан за 1,5 часа, все доступно написано.

И переходит из-за одного биллинга на БСД нет необходимости. А связать ноудени с линуксом - решаемо, вопрос времени и знаний, тем более все инструменты для этого есть в нем.

По оф. доке установка происходит из портов, где сам ПЕРЛ устанавливается около 15-20 минут т.к. полностю компилируется он и все зависимости.
На Дебиане установка из бинарных пакетов *.deb (1,5 часа долго)
В моей доке установка тоже из бинарных пакетов PKGng, мой личный рекорд без сборки ядра (за ненадобностью) 22 минуты,
а ядро можно не пересобирать если ставить Фрю >10.1 (все необходимые модули можно подгрузить)

И дело не в том что и сколько, а в том что тебе Стас в другой ветке говорил, что проще поставить Фрю т.к. проверено милион раз, и не только он... а я решил тебе облегчить задачу, даже не за спасибо, просто.

Решать тебе! (но поддержка будет проще на Фре)
Удачи!


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 15 Апреля 2015, 18:28:22
Спасибо!
Если ничего не поможет обязательно перейду на фряху ;D


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: elite от 15 Апреля 2015, 19:32:11
вам по факту нужно сделать модуль под noserver, чтобы он дергал ipset + через телнет/coa выставлял скорость


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 15 Апреля 2015, 19:47:36
Уже занимаются написанием :)


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: ser970 от 16 Апреля 2015, 08:02:49
вам по факту нужно сделать модуль под noserver, чтобы он дергал ipset + через телнет/coa выставлял скорость

а зачем телнет ?
изменит nofire.pl
ipfw на ipset 
убрать все что касается пайпов.
и управление доступом готово.

дописать и добавить пару полей в базу.
в nofire.pl пару строк для сравнения текущей скорости и скорости абона
а скорость передавать через радиус
ним же и передергивать скорость (если отличается) .

 


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 16 Апреля 2015, 10:19:58
А что из себя пайпы представляют? для чего они?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: ser970 от 16 Апреля 2015, 10:24:21
А что из себя пайпы представляют? для чего они?
шейпер = нарезка скорости

кусок из процедуры
(правда для других целей и версии)
вам надо будет изменить условие ( есть услуга или нет)
  IF (usr_st='on') THEN
    SELECT speed * 1000 INTO usr_speed from plans2 where id=(select paket from users where id=usr_id);
    SELECT NULL,login,'Ascend-Data-Rate',usr_speed,'=';
  ELSE
    SET usr_speed=1024;
    SELECT NULL,login,'Ascend-Data-Rate',usr_speed,'=';
  END IF;


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 16 Апреля 2015, 10:45:39
У Вас будет возможность/время разобрать со мной nofire ну и то что вы написали? Естественно не бесплатно. :)
А то в коде логику я не понимаю :)


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: ser970 от 16 Апреля 2015, 10:50:29
У Вас будет возможность/время разобрать со мной nofire ну и то что вы написали? Естественно не бесплатно. :)
А то в коде логику я не понимаю :)
нет , столько времени просто нету.
помочь могу и бесплатно.
стукни в аську


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 16 Апреля 2015, 10:59:17
Ну начнем тогда с радиуса :)
Настроен он по документации h_tp://app.nodeny-plus.com.ua/docs/work/mpd5.html с accel-ppp, все работает.
Насколько я понял с предыдущего биллинга, accel_у нужны два параметра
Код:
attr-down=PPPD-Downstream-Speed-Limit
attr-up=PPPD-Upstream-Speed-Limit
Которые ему нужно передать. Вот тут то и вопрос. Как?
Так же хотелось бы менять скорость динамически, чтоб работали услуги Повышение скорости.

Хорошо стукну. Спасибо.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 16 Апреля 2015, 15:41:21
Кстати, если нужен модуль COA - могу выложить


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 16 Апреля 2015, 18:55:37
Кстати, если нужен модуль COA - могу выложить
Это что-то вроде того, о чем мы разговаривали?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 16 Апреля 2015, 19:00:32
Кстати, если нужен модуль COA - могу выложить
Он не идет стандартно? В документации не нашел.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 16 Апреля 2015, 19:15:13
 Модуль coa не идет в стандартной поставке. Давал его тестировать только, кажется, elite. Этот модуль - это скрипт nofire, который по radius-у посылает команды клиентам. Например, команду изменения скорости в настройках модуля:

Код:
$coa_on = {
    type     => 'coa',
    template => <<TMPL,
Framed-IP-Address={{ip}}
Filter-Id="{{speed_in1_kb}}/{{speed_out1_kb}}"
TMPL
};

Т.е, как вы заметили, можно послать команду на pppoe сервер установить/изменить скорость клиенту - отпадает необходимость в управлении фаерволом. Или вот в настройках отправка команды "отключить":

Код:
$coa_off = {
    type     => 'disconnect',
    template => <<TMPL,
Framed-IP-Address={{ip}}
TMPL
};

Сделаю цену модуля символическую: 10 грн, что покажет некоторым, что оплата в интернете - это просто, достаточно не лениться, взять из кошелька пластиковую карту, ввести номер и cvv, и вуаля - вы откроете для себя мир новых возможностей)


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 16 Апреля 2015, 19:31:29
Цитировать
отпадает необходимость в управлении фаерволом.
Через Coa даже блокировать можно?

Та как бы не ленимся оплачивать)


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: elite от 19 Апреля 2015, 14:11:47
Цитировать
отпадает необходимость в управлении фаерволом.
Через Coa даже блокировать можно?

Та как бы не ленимся оплачивать)
можно вообще через CoA управлять без использования ipset


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 21 Апреля 2015, 09:58:22
Стас выложи пожалуйста модуль COA.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 25 Октября 2016, 16:29:27
Где можно взять модуль COA?
Есть описание?
Готов купить.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 25 Октября 2016, 16:56:51
В личном кабинете http://nodeny.com.ua/signin надо скачать "Модуль RADIUS Change of Authorization"

Документация: http://nodeny.com.ua:8080/wiki/index.php/COA


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 25 Октября 2016, 17:30:05
Документация: http://nodeny.com.ua:8080/wiki/index.php/COA
Стас, могу ошибаться, но в доке может быть ошибка, если ты модуль после меня не переделывал, то $coa_disconnect посылается авторизованному клиенту, у которого изменился статус.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 25 Октября 2016, 18:52:11
А как правильно выдрать тариф через радиус.

Код:
mysql> select param from services;
 $VAR1 = {'script' => '','min_traf' => '','period' => 2592000,'mode' => '2','speed_out4' => '','speed_in4' => '','speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium','speed_out3' => '','speed_out2' => '','speed_in2' => '','wait_pos_balance' => '0','speed_in3' => ''};
есть такие значение в тарифе  'speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium'

Как правильно в mysql-процедуре radreply передать эти параметры.

Нечто, вроде
Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE s_param VARCHAR(15) DEFAULT 1024;

  SELECT users.id,services.param INTO usr_id,s_param  FROM users,services WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','s_param','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','s_param','=';


END$$
DELIMITER ;





Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: elite от 25 Октября 2016, 19:35:00
А как правильно выдрать тариф через радиус.

Код:
mysql> select param from services;
 $VAR1 = {'script' => '','min_traf' => '','period' => 2592000,'mode' => '2','speed_out4' => '','speed_in4' => '','speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium','speed_out3' => '','speed_out2' => '','speed_in2' => '','wait_pos_balance' => '0','speed_in3' => ''};
есть такие значение в тарифе  'speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium'

Как правильно в mysql-процедуре radreply передать эти параметры.

Нечто, вроде
Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE s_param VARCHAR(15) DEFAULT 1024;

  SELECT users.id,services.param INTO usr_id,s_param  FROM users,services WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','s_param','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','s_param','=';


END$$
DELIMITER ;




наверное, нужно на perl радиус перевести


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Warlock от 25 Октября 2016, 20:47:27
А как правильно выдрать тариф через радиус.

Код:
mysql> select param from services;
 $VAR1 = {'script' => '','min_traf' => '','period' => 2592000,'mode' => '2','speed_out4' => '','speed_in4' => '','speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium','speed_out3' => '','speed_out2' => '','speed_in2' => '','wait_pos_balance' => '0','speed_in3' => ''};
есть такие значение в тарифе  'speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium'

Как правильно в mysql-процедуре radreply передать эти параметры.

Нечто, вроде
Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE s_param VARCHAR(15) DEFAULT 1024;

  SELECT users.id,services.param INTO usr_id,s_param  FROM users,services WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','s_param','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','s_param','=';


END$$
DELIMITER ;




Есть модуль радиус аттрибуты. Или же через CoA.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 26 Октября 2016, 03:59:16

Как правильно в mysql-процедуре radreply передать эти параметры.

Разобрался, вариант такой годится

Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE usr_tarif VARCHAR(15) DEFAULT NULL;

  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  SELECT service_id INTO usr_tarif from users_services LIMIT 1;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';

 IF usr_tarif = 1 THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','1024','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','1024','=';
 END IF;

 IF usr_tarif = 2 THEN
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','2048','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','2048','=';
 END IF;

 IF usr_tarif = 3 THEN
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','4096','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','4096','=';
 END IF;

END$$
DELIMITER ;

Завтра надо с тегами попробовать
Не зря же они в тарифе указаны.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 27 Октября 2016, 11:39:06
В тарифе указываем теги тарифа.
Конечный вариант таков.

Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE usr_tarif VARCHAR(15) DEFAULT NULL;

  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  SELECT tags INTO usr_tarif FROM users_services LIMIT 1;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'Acct-Interim-Interval','60','=';

 IF usr_tarif  LIKE '%,medium,%' THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','21504','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','21504','=';
 END IF;

 IF usr_tarif  LIKE '%,fast,%' THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','51200','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','51200','=';
 END IF;

 IF usr_tarif  LIKE '%,ultra,%' THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','102400','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','102400','=';
  ELSE
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','2048','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','2048','=';
 END IF;

END$$
DELIMITER ;

Заметил особенность или глюк
При изменении тега тарифа в вебе, в mysql он не меняется до тех пор, пока не переназначишь услугу.

К примеру
Код:
mysql> SELECT tags   FROM users_services WHERE tags LIKE '%,speed,%';
+----------------------------------+
| tags                             |
+----------------------------------+
| ,medium,inet,speed,start_traf=0, |
+----------------------------------+
1 row in set (0.00 sec)


Меняем тег в морде на medium_new
получаем
Код:
mysql> SELECT tags   FROM users_services WHERE tags LIKE '%,speed,%';
+----------------------------------+
| tags                             |
+----------------------------------+
| ,medium,inet,speed,start_traf=0, |
+----------------------------------+
1 row in set (0.00 sec)



Переназначачем услугу
И только теперь получаем изменённый тег.
Код:
mysql> SELECT tags   FROM users_services WHERE tags LIKE '%,speed,%';
+--------------------------------------+
| tags                                 |
+--------------------------------------+
| ,medium_new,inet,speed,start_traf=0, |
+--------------------------------------+
1 row in set (0.00 sec)



Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 27 Октября 2016, 13:20:28
Заметил особенность или глюк
особенность. Теги и радиус-атрибуты устанавливаются в момент подключения услуги


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 28 Октября 2016, 17:29:02

Стас, могу ошибаться, но в доке может быть ошибка, если ты модуль после меня не переделывал, то $coa_disconnect посылается авторизованному клиенту, у которого изменился статус.
[/quote]

У меня disconnect срабатывает при изменении абонента с статуса ON в статус OFF
В бебаге сделал меседжи когда ON и OFF

OFF => ON
Код:
  sending:  = 'NAS-Port-Id=eth0.3001.202, PPPD-Upstream-Speed-Limit=21504, PPPD-Downstream-Speed-Limit=21504,Message=state_ON'

ON => OFF
Код:
 sending:  = 'NAS-Port-Id=eth0.3001.202,Message="state_disconnect"


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 29 Октября 2016, 11:37:23
Ребята поделитесь опытом, а кто в каком режиме accel-ppp-ipoe использует? Сейчас использую isc-dhcp option82 параллельно с pppoe, хотелось бы и ipoe перевести на accel, т.к. шейперов не хватает.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Pa4ka от 29 Октября 2016, 14:08:44
Ребята поделитесь опытом, а кто в каком режиме accel-ppp-ipoe использует? Сейчас использую isc-dhcp option82 параллельно с pppoe, хотелось бы и ipoe перевести на accel, т.к. шейперов не хватает.
Я использую accel-ppp ipoe, в каком режиме это как я наверно понял связку сказать.
Поменял с rlm_sql на rlm_perl для связки NAS->freeradius->база биллинга.
Ну а accel-ppp пока что в мод L2
Цитировать
interface=re:bond1\.17[0-35],mode=L2,shared=1,start=dhcpv4,ifcfg=1
Скоро буду на qinq vlan peer user доделывать, ну это изза специфики сети трудновато пока.
Или я не верно понял?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 29 Октября 2016, 16:42:11
Да, в accel-ppp-ipoe есть несколько вариантов использования L2,L3 и другие, я пока что не могу определиться какой мне подходит больше.
Цитировать
Поменял с rlm_sql на rlm_perl для связки NAS->freeradius->база биллинга.
Зачем поменяли, что конкретно не получалось, вроде все ж возможно и на sql?

Для qinq нужна же поддержка коммутатора доступа?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 02 Ноября 2016, 08:46:16
Цитировать
Для qinq нужна же поддержка коммутатора доступа?

Да ты же на свиче все вланы будешь заворачивать в влан qinq.
А коммутатор доступа это или агрегации - зависит от твоей схемы.
На циске этот режим называется mode dot1q-tunnel.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Pa4ka от 14 Ноября 2016, 12:16:28
Да, в accel-ppp-ipoe есть несколько вариантов использования L2,L3 и другие, я пока что не могу определиться какой мне подходит больше.
Цитировать
Поменял с rlm_sql на rlm_perl для связки NAS->freeradius->база биллинга.
Зачем поменяли, что конкретно не получалось, вроде все ж возможно и на sql?

Для qinq нужна же поддержка коммутатора доступа?
Можно но мне удобнее в perl менять и отправлять всё/как/когда нужно.
Не обязательно, в qinq можно упаковывать уже на агрегации.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 05 Декабря 2016, 18:02:23
А кто как передает пустой пароль в accel ?

У меня не получается, если через radtest то все ок.
Код:
rad_recv: Access-Request packet from host 172.20.0.2 port 41480, id=202, length=87
        User-Name = "74:e5:43:8f:c1:17"
        User-Password = ""
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 0
        Message-Authenticator = 0x4dec5f0c6bc36e1653f0698ffb57f63e
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+group authorize {
rlm_sql (sql): Reserving sql socket id: 31
[sql]   expand: call radcheck_dhcp('%{User-Name}') -> call radcheck_dhcp('74:e5:43:8f:c1:17')
[sql] User found in radcheck table
[sql]   expand: call radreply_dhcp('%{User-Name}') -> call radreply_dhcp('74:e5:43:8f:c1:17')
rlm_sql (sql): Released sql socket id: 31
++[sql] = ok
+} # group authorize = ok
WARNING: Please update your configuration, and remove 'Auth-Type = Local'
WARNING: Use the PAP or CHAP modules instead.
User-Password in the request is correct.
# Executing section post-auth from file /etc/freeradius/sites-enabled/default
+group post-auth {
[sql]   expand: call radupdate_dhcp('%{User-Name}','%{reply:Framed-IP-Address}',                'nas=%{NAS-IP-Address}') -> call radupdate_dhcp('74:e5:43:8f:c1:17','10.194.13.234',                'nas=127.0.1.1')
rlm_sql (sql) in sql_postauth: query is call radupdate_dhcp('74:e5:43:8f:c1:17','10.194.13.234',                'nas=127.0.1.1')
rlm_sql (sql): Reserving sql socket id: 30
rlm_sql (sql): Released sql socket id: 30
++[sql] = ok
+} # group post-auth = ok
Sending Access-Accept of id 202 to 172.20.0.2 port 41480
        Framed-IP-Address = 10.194.13.234
        Session-Timeout = 600
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 0 ID 202 with timestamp +9

А accel дает reject, если указать password=empty в [ipoe], то User-Password атрибута вообще нет, если password убрать то там мак-устройства в пароле, если  password="" то кавычки экранируются слэшами.
Код:
rad_recv: Access-Request packet from host 172.20.0.2 port 45003, id=1, length=110
        User-Name = "74:e5:43:8f:c1:17"
        NAS-Identifier = "accel-ppp-ipoe"
        NAS-IP-Address = 172.20.0.2
        NAS-Port = 211
        NAS-Port-Id = "ipoe0"
        NAS-Port-Type = Ethernet
        Calling-Station-Id = "74:e5:43:8f:c1:17"
        Called-Station-Id = "vlan200"
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+group authorize {
rlm_sql (sql): Reserving sql socket id: 30
[sql]   expand: call radcheck_dhcp('%{User-Name}') -> call radcheck_dhcp('74:e5:43:8f:c1:17')
[sql] User found in radcheck table
[sql]   expand: call radreply_dhcp('%{User-Name}') -> call radreply_dhcp('74:e5:43:8f:c1:17')
rlm_sql (sql): Released sql socket id: 30
++[sql] = ok
+} # group authorize = ok
WARNING: Please update your configuration, and remove 'Auth-Type = Local'
WARNING: Use the PAP or CHAP modules instead.
No User-Password or CHAP-Password attribute in the request.
Cannot perform authentication.
Failed to authenticate the user.
Using Post-Auth-Type REJECT
  WARNING: Unknown value specified for Post-Auth-Type.  Cannot perform requested action.
# Executing group from file /etc/freeradius/sites-enabled/default
Delaying reject of request 1 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 1
Sending Access-Reject of id 1 to 172.20.0.2 port 45003
        Framed-IP-Address = 10.194.7.128
        Session-Timeout = 600
Waking up in 4.9 seconds.
Cleaning up request 1 ID 1 with timestamp +10



Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Pa4ka от 06 Декабря 2016, 11:14:21
А кто как передает пустой пароль в accel ?

У меня не получается, если через radtest то все ок.
Код:
rad_recv: Access-Request packet from host 172.20.0.2 port 41480, id=202, length=87
        User-Name = "74:e5:43:8f:c1:17"
        User-Password = ""
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 0
        Message-Authenticator = 0x4dec5f0c6bc36e1653f0698ffb57f63e
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+group authorize {
rlm_sql (sql): Reserving sql socket id: 31
[sql]   expand: call radcheck_dhcp('%{User-Name}') -> call radcheck_dhcp('74:e5:43:8f:c1:17')
[sql] User found in radcheck table
[sql]   expand: call radreply_dhcp('%{User-Name}') -> call radreply_dhcp('74:e5:43:8f:c1:17')
rlm_sql (sql): Released sql socket id: 31
++[sql] = ok
+} # group authorize = ok
WARNING: Please update your configuration, and remove 'Auth-Type = Local'
WARNING: Use the PAP or CHAP modules instead.
User-Password in the request is correct.
# Executing section post-auth from file /etc/freeradius/sites-enabled/default
+group post-auth {
[sql]   expand: call radupdate_dhcp('%{User-Name}','%{reply:Framed-IP-Address}',                'nas=%{NAS-IP-Address}') -> call radupdate_dhcp('74:e5:43:8f:c1:17','10.194.13.234',                'nas=127.0.1.1')
rlm_sql (sql) in sql_postauth: query is call radupdate_dhcp('74:e5:43:8f:c1:17','10.194.13.234',                'nas=127.0.1.1')
rlm_sql (sql): Reserving sql socket id: 30
rlm_sql (sql): Released sql socket id: 30
++[sql] = ok
+} # group post-auth = ok
Sending Access-Accept of id 202 to 172.20.0.2 port 41480
        Framed-IP-Address = 10.194.13.234
        Session-Timeout = 600
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 0 ID 202 with timestamp +9

А accel дает reject, если указать password=empty в [ipoe], то User-Password атрибута вообще нет, если password убрать то там мак-устройства в пароле, если  password="" то кавычки экранируются слэшами.
Код:
rad_recv: Access-Request packet from host 172.20.0.2 port 45003, id=1, length=110
        User-Name = "74:e5:43:8f:c1:17"
        NAS-Identifier = "accel-ppp-ipoe"
        NAS-IP-Address = 172.20.0.2
        NAS-Port = 211
        NAS-Port-Id = "ipoe0"
        NAS-Port-Type = Ethernet
        Calling-Station-Id = "74:e5:43:8f:c1:17"
        Called-Station-Id = "vlan200"
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+group authorize {
rlm_sql (sql): Reserving sql socket id: 30
[sql]   expand: call radcheck_dhcp('%{User-Name}') -> call radcheck_dhcp('74:e5:43:8f:c1:17')
[sql] User found in radcheck table
[sql]   expand: call radreply_dhcp('%{User-Name}') -> call radreply_dhcp('74:e5:43:8f:c1:17')
rlm_sql (sql): Released sql socket id: 30
++[sql] = ok
+} # group authorize = ok
WARNING: Please update your configuration, and remove 'Auth-Type = Local'
WARNING: Use the PAP or CHAP modules instead.
No User-Password or CHAP-Password attribute in the request.
Cannot perform authentication.
Failed to authenticate the user.
Using Post-Auth-Type REJECT
  WARNING: Unknown value specified for Post-Auth-Type.  Cannot perform requested action.
# Executing group from file /etc/freeradius/sites-enabled/default
Delaying reject of request 1 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 1
Sending Access-Reject of id 1 to 172.20.0.2 port 45003
        Framed-IP-Address = 10.194.7.128
        Session-Timeout = 600
Waking up in 4.9 seconds.
Cleaning up request 1 ID 1 with timestamp +10


У меня никак не получалось пароль в запросе "опустошить)". Сделал временно в конфиге радиуса, ну и это временно до сих пор работает
В секции authorize site-enabled - если NAS-Port-Type не Virtual
Код:
                                    update request {
                                                User-Password = ""
                                                }
                                     perl
                                    }



Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 06 Декабря 2016, 20:27:27
Сделал так вообщем.
Код:
[ipoe]
password=ipoe

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT Null, login, 'Cleartext-Password' AS Attribute, 'ipoe' AS Value,':=';
END$$
DELIMITER ;


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 07 Декабря 2016, 17:44:33
Код:
username=ifname
#password=empty
У меня работает так


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 08 Декабря 2016, 10:57:01
+ в радиусе users.conf

Код:
DEFAULT Auth-Type := Accept


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 08 Декабря 2016, 12:14:40
+ в радиусе users.conf

Код:
DEFAULT Auth-Type := Accept
Да. То что нужно. Спасибо.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 09 Декабря 2016, 15:32:00
Почемуто не срабатывает процедура 'radstop', в следствии чего ключик продолжает горет зелёным после того, как на NASe сессии уже нет.

Код:
DROP PROCEDURE IF EXISTS `radstop`;
DELIMITER $$
CREATE PROCEDURE `radstop`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  DELETE FROM auth_now WHERE ip= get_ip(usr_id) LIMIT 1;
END$$
DELIMITER ;

Код:
mysql> select * from auth_now where ip='10.10.44.21';
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| id    | ip           | start      | last       | properties                                                                  |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| 11448 | 10.10.44.21 | 1481287197 | 1481288941 | mod=ipoe;user=0025b35c0899;nas=192.168.242.152;ses=6ec228e3b4cdebee;nid=NAS2 |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
1 row in set (0.00 sec)

Код:
mysql> CALL radstop('10.10.44.21');
Query OK, 0 rows affected, 3 warnings (0.05 sec)

mysql>

Сессия продолжает жить своей жизнью
Код:
mysql> select * from auth_now where ip='10.10.44.21';
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| id    | ip           | start      | last       | properties                                                                  |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| 11448 | 10.10.44.21 | 1481287197 | 1481288941 | mod=ipoe;user=0025b35c0899;nas=192.168.242.152;ses=6ec228e3b4cdebee;nid=NAS2 |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

А прибивается только так
Код:
mysql> DELETE from auth_now WHERE ip='10.10.44.21';
Query OK, 1 row affected (0.05 sec)

mysql>

Что я делаю не так?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Pa4ka от 09 Декабря 2016, 16:11:40
Почемуто не срабатывает процедура 'radstop', в следствии чего ключик продолжает горет зелёным после того, как на NASe сессии уже нет.

Код:
DROP PROCEDURE IF EXISTS `radstop`;
DELIMITER $$
CREATE PROCEDURE `radstop`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  DELETE FROM auth_now WHERE ip= get_ip(usr_id) LIMIT 1;
END$$
DELIMITER ;

Код:
mysql> select * from auth_now where ip='10.10.44.21';
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| id    | ip           | start      | last       | properties                                                                  |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| 11448 | 10.10.44.21 | 1481287197 | 1481288941 | mod=ipoe;user=0025b35c0899;nas=192.168.242.152;ses=6ec228e3b4cdebee;nid=NAS2 |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
1 row in set (0.00 sec)

Код:
mysql> CALL radstop('10.10.44.21');
Query OK, 0 rows affected, 3 warnings (0.05 sec)

mysql>

Сессия продолжает жить своей жизнью
Код:
mysql> select * from auth_now where ip='10.10.44.21';
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| id    | ip           | start      | last       | properties                                                                  |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
| 11448 | 10.10.44.21 | 1481287197 | 1481288941 | mod=ipoe;user=0025b35c0899;nas=192.168.242.152;ses=6ec228e3b4cdebee;nid=NAS2 |
+-------+--------------+------------+------------+-----------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

А прибивается только так
Код:
mysql> DELETE from auth_now WHERE ip='10.10.44.21';
Query OK, 1 row affected (0.05 sec)

mysql>

Что я делаю не так?
у Вас наверно модуль dhcp тоже запущен на сервере с радиус и биллингом?
если да то я так как у вас изменил название модуля авторизации заместо dhcp у вас ipoe
а в модуле dhcp файлик create.kernel.dhcp.pm изменил у меня 45-я строчка
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, '');
на
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, 'mod=dhcp');


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 09 Декабря 2016, 17:07:33

Цитировать
у Вас наверно модуль dhcp тоже запущен на сервере с радиус и биллингом?
если да то я так как у вас изменил название модуля авторизации заместо dhcp у вас ipoe
а в модуле dhcp файлик create.kernel.dhcp.pm изменил у меня 45-я строчка
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, '');
на
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, 'mod=dhcp');

Да помогло, спасибо

А вопрос относительно входа клиента в билинг без непосредственного ввода логина/пароля как организован?
Если username  и password для каждого
клиент1 /login stat.3001.3849 /pass stat.3001.3849
клиент2 /login stat.3001.3850 /pass stat.3001.3850

Радиус авторизация также проходит по username=ifname, password=username


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 09 Декабря 2016, 20:56:59
Цитировать
у Вас наверно модуль dhcp тоже запущен на сервере с радиус и биллингом?
если да то я так как у вас изменил название модуля авторизации заместо dhcp у вас ipoe
а в модуле dhcp файлик create.kernel.dhcp.pm изменил у меня 45-я строчка
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, '');
на
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, 'mod=dhcp');

Т.е. теперь модуль dhcp будет продлевать только тем у кого mod=dhcp? Если например для accel я сделаю mod=ipoe, то ключик будет правильно отрабатывать?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 12 Декабря 2016, 08:38:21
Цитировать
у Вас наверно модуль dhcp тоже запущен на сервере с радиус и биллингом?
если да то я так как у вас изменил название модуля авторизации заместо dhcp у вас ipoe
а в модуле dhcp файлик create.kernel.dhcp.pm изменил у меня 45-я строчка
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, '');
на
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, 'mod=dhcp');

Т.е. теперь модуль dhcp будет продлевать только тем у кого mod=dhcp? Если например для accel я сделаю mod=ipoe, то ключик будет правильно отрабатывать?

Нужно ещё процедуры поменять.
Код:
DROP PROCEDURE IF EXISTS `radupdate`;
DELIMITER $$
CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, CONCAT('mod=ipoe;',REPLACE(properties,':','')));
END$$
DELIMITER ;

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


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Pa4ka от 12 Декабря 2016, 10:32:04
Цитировать
у Вас наверно модуль dhcp тоже запущен на сервере с радиус и биллингом?
если да то я так как у вас изменил название модуля авторизации заместо dhcp у вас ipoe
а в модуле dhcp файлик create.kernel.dhcp.pm изменил у меня 45-я строчка
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, '');
на
Цитировать
Db->do("CALL set_auth(?,?)", $p{ipa}, 'mod=dhcp');

Т.е. теперь модуль dhcp будет продлевать только тем у кого mod=dhcp? Если например для accel я сделаю mod=ipoe, то ключик будет правильно отрабатывать?

Нужно ещё процедуры поменять.
Код:
DROP PROCEDURE IF EXISTS `radupdate`;
DELIMITER $$
CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, CONCAT('mod=ipoe;',REPLACE(properties,':','')));
END$$
DELIMITER ;

Работает нормально.
Может повлиять на то, что рррое сессии останутся без ключика.
если Вы лично мне то спасибо но я не использую эти процедуры, только функции get_ip_w_net и set_auth


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 12 Декабря 2016, 11:57:09
Нет это мне ;D

У  меня вообще так сейчас pppoe + isc_dhcp + accel-ppp-ipoe+radius. Так вот у клиентов accel-ppp-ipoe+radius неправильно отрабатывает ключик, видимо от модуля dhcp или забить пока не переведу с isc_dhcp на accel и выключу модуль dhcp или подправить как-то это дело. Так все-таки нужен ли запущенный модуль если связка dhcp+radius ?

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


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 12 Декабря 2016, 13:02:10
Если речь идет о модуле ядра dhcp, то все, что делает этот модуль - периодически запускает CALL set_auth(?,?). Нужен он вам или нет - думайте исходя из логики того, что вы соорудили. Если то, что вы сконструировали, периодически посылает "сигнал" на радиус, то он вам не нужен. Он нужен только в том случае: клиент авторизовался, проходит несколько минут и модуль auth удаляет по таймауту авторизацию у абона. Модуль dhcp просто "поддерживает" эту авторизацию.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 12 Декабря 2016, 15:27:11


А вопрос относительно входа клиента в билинг без непосредственного ввода логина/пароля как организован?
Если username  и password для каждого
клиент1 /login stat.3001.3849 /pass stat.3001.3849
клиент2 /login stat.3001.3850 /pass stat.3001.3850

Радиус авторизация также проходит по username=ifname, password=username


Сам ответил на свой вопрос.
в файле ip.pl
замена строки
Код:
my %p = Db->line("SELECT uid FROM v_ips WHERE auth=1 AND type='static' AND ip=?", $ses::ip);
на
Код:
my %p = Db->line("SELECT uid FROM v_ips WHERE auth=1 AND type='dynamic' AND ip=?", $ses::ip);


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 12 Декабря 2016, 19:29:13
Если речь идет о модуле ядра dhcp, то все, что делает этот модуль - периодически запускает CALL set_auth(?,?). Нужен он вам или нет - думайте исходя из логики того, что вы соорудили. Если то, что вы сконструировали, периодически посылает "сигнал" на радиус, то он вам не нужен. Он нужен только в том случае: клиент авторизовался, проходит несколько минут и модуль auth удаляет по таймауту авторизацию у абона. Модуль dhcp просто "поддерживает" эту авторизацию.

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


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 08 Февраля 2017, 16:08:30

Выявился глюк взаимодейтсвия nodeny - accel-ppp в режиме рррое
Абонент прошедший авторизацию получил из динамического пула адрес
Так вот адрес, выделенный абоненту в билинге, не соответствует адресу, выданным accel

к примеру  в билинге вижу, login_A динамически выделен адрес 1.х.х.27,   mac fc:f5:28:48:b5:61

# accel-cmd show sessions | grep "1.x.x.27"
 ppp465 | login_D   | 14:d6:4d:2d:c5:6b | 1.x.x.27  |            | pppoe |      | active | 1.19:25:05

# accel-cmd show sessions | grep "fc:f5:28:48:b5:61"
 ppp441 | login_A   | fc:f5:28:48:b5:61 | 1.x.x.4   |            | pppoe |      | active | 2.03:17:25


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 08 Февраля 2017, 16:27:16
С каким периодом идет radius-accounting? Помониторь учетку абона, покликай по авторизованному айпишнику и улови примерно максимальное значение параметра "Обновление авт" в секундах. Если там будет больше двух минут - скорее всего период аккаунтинга настроен неверно, ip освобождается и при последующем аккаунтинге выдается новый


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 08 Февраля 2017, 16:35:34
С каким периодом идет radius-accounting? Помониторь учетку абона, покликай по авторизованному айпишнику и улови примерно максимальное значение параметра "Обновление авт" в секундах. Если там будет больше двух минут - скорее всего период аккаунтинга настроен неверно, ip освобождается и при последующем аккаунтинге выдается новый

Раз в 60/сек

в процедуре radreply
SELECT NULL,login,'Acct-Interim-Interval','60','=';

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


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: fet4 от 24 Февраля 2017, 22:26:36
Ребят а кто accel использует на одном сервере для pppoe и ipoe одновременно? Подскажите как freeradius правильно настроить под разные процедуры?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 28 Февраля 2017, 01:31:46
Ребят а кто accel использует на одном сервере для pppoe и ipoe одновременно? Подскажите как freeradius правильно настроить под разные процедуры?

Одни и теже процедуры работают для авторизации и ррррое и дшсп на тестовом стенде.
Только логин клиента это например интерфейс с которого пришёл запрос, пароль он же при схеме влан на клиента.
К примеру  eth.230  логин.
В аццеле
username=ifname
password=username

Я думаю как бы организовать чтобы клиент и в билинг заходил в статистику с нормальными логин/пароль.
А авторизация проходила под другой связкой логин/пароль (eth.230/eth.230)


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 02 Марта 2017, 14:29:04
Кстати начал эксперементировать по процедурам.
Пробую создать процедуры, чтобы радиус брал данные не из поля login/passw, а из доп полей _name_radius/_passwd_radius

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT uid,_name_radius,'Cleartext-Password' AS Attribute,_passwd_radius AS Value,'=='
    FROM data0 WHERE _name_radius=login;
END$$
DELIMITER ;


DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;

  SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
END$$
DELIMITER ;


DROP PROCEDURE IF EXISTS `radupdate`;
DELIMITER $$
CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':','')));
END$$
DELIMITER ;


DROP PROCEDURE IF EXISTS `radstop`;
DELIMITER $$
CREATE PROCEDURE `radstop`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1;
  DELETE FROM auth_now WHERE ip = get_ip(usr_id) LIMIT 1;
END$$
DELIMITER ;

Процедуры из mysql отдаются нормально.

Код:
mysql> call radcheck('stat.3001.201');
+------+---------------+--------------------+---------------+----+
| uid  | _name_radius  | Attribute          | Value         | == |
+------+---------------+--------------------+---------------+----+
| 3822 | stat.3001.201 | Cleartext-Password | stat.3001.201 | == |
+------+---------------+--------------------+---------------+----+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql>



mysql> call radreply('stat.3001.201');
+------+---------------+-------------------+---------------+---+
| NULL | login         | Framed-IP-Address | usr_ip        | = |
+------+---------------+-------------------+---------------+---+
| NULL | stat.3001.201 | Framed-IP-Address | 10.181.16.70 | = |
+------+---------------+-------------------+---------------+---+
1 row in set (0.02 sec)

+------+---------------+-------------------+-----------------+---+
| NULL | login         | Framed-IP-Netmask | 255.255.255.255 | = |
+------+---------------+-------------------+-----------------+---+
| NULL | stat.3001.201 | Framed-IP-Netmask | 255.255.255.255 | = |
+------+---------------+-------------------+-----------------+---+
1 row in set (0.02 sec)

+------+---------------+-----------------+-----+---+
| NULL | login         | Framed-Protocol | PPP | = |
+------+---------------+-----------------+-----+---+
| NULL | stat.3001.201 | Framed-Protocol | PPP | = |
+------+---------------+-----------------+-----+---+
1 row in set (0.02 sec)

Query OK, 0 rows affected (0.02 sec)

mysql>

При попытке сделать
Код:
radtest 'stat.3001.201' 'stat.3001.201' 127.0.0.1 0 hardpass5
 
отбивает access-reject
radius -X
[sql] User  not found

Код:
rad_recv: Access-Request packet from host 127.0.0.1 port 45296, id=18, length=83
User-Name = "stat.3001.201"
User-Password = "stat.3001.201"
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x225f938c4f4583f1fecfd92a99ba250d
# Executing section authorize from file /usr/local/etc/raddb/sites-enabled/nodeny
+group authorize {
rlm_sql (sql): Reserving sql socket id: 4
[sql] expand: call radcheck('%{User-Name}') -> call radcheck('stat.3001.201')
rlm_sql (sql): Released sql socket id: 4
[sql] User  not found
++[sql] = notfound
+} # group authorize = notfound
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Using Post-Auth-Type Reject
  WARNING: Unknown value specified for Post-Auth-Type.  Cannot perform requested action.
# Executing group from file /usr/local/etc/raddb/sites-enabled/nodeny
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 18 to 127.0.0.1 port 45296
Waking up in 4.9 seconds.
Cleaning up request 0 ID 18 with timestamp +4626
Ready to process requests.


Сами данные для авторизации при селекте есть.
Код:
mysql> select _name_radius,_passwd_radius from data0 where uid=3822;
+---------------+----------------+
| _name_radius  | _passwd_radius |
+---------------+----------------+
| stat.3001.201 | stat.3001.201  |
+---------------+----------------+
1 row in set (0.00 sec)

mysql>

В какую сторону смотреть?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 03 Марта 2017, 13:12:56
Всё решилось
Clear-text-password заменил на Password
Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT uid,_name_radius,'Password' AS Attribute,_passwd_radius AS Value,'=='
    FROM data0 WHERE _name_radius=login;
END$$
DELIMITER ;


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: ivanmfan от 11 Марта 2017, 13:57:25
Подскажите по модулю COA,я его настроил в связке с accel в ipoe режиме, но есть не понятная вещь. После авторизации клиент получает IP от mysql процедуры но не получает шейпер.  Я так понимаю по логике после  CALL set_auth( должен выполниться state_on в coa что бы отправить шейпер, но у меня не выполняет. Как применять шейкер при авторизации клиентом?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Efendy от 11 Марта 2017, 18:47:23
Так, чтоб уточнить: set_auth на прямую не вызывает state_on в coa. noserver мониторит таблицу юзеров и как только там что-либо (по дефолту только параметры авторизации) меняется - вызывается соответствующая процедура в coa. Запусти с ключем -v  и -u (это заставит обрабатывать одного абонента) и посмотри в консоль что посылается. Если команды "шейпинга" посылаются - значит вопрос не к биллингу


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: ivanmfan от 11 Марта 2017, 22:16:25
Так, чтоб уточнить: set_auth на прямую не вызывает state_on в coa. noserver мониторит таблицу юзеров и как только там что-либо (по дефолту только параметры авторизации) меняется - вызывается соответствующая процедура в coa. Запусти с ключем -v  и -u (это заставит обрабатывать одного абонента) и посмотри в консоль что посылается. Если команды "шейпинга" посылаются - значит вопрос не к биллингу

Да, теперь понял. Выходит что когда тестировал то сессия на accel закрывалась, а в nodeny юзер был авторизован, делаю авторизацию в accel но повторно coa не высылает шейпер, т.к. состояние авторизации не изменилось.. Как можно решить эту ситуацию?


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Stronglan от 08 Октября 2017, 17:33:14
Сталкивался ли кто то с данной проблемой?

Онлайн 1000+-, проблема проявляется после того, как интерфейс удаляется по таймауту, accel-ppp с ним прощается, но интерфейс остается. Сборка последняя из мастера, авторизация radius через sqlippool (дубликаты ip исключены). Vlan интервейсы созданы вручную, vlan-mon исключил сразу.


/etc/accel-ppp/accel-ppp.conf

Код:
# cat /etc/debian_version
9.1
# uname -a
Linux ACCEL-PPP 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u3 (2017-08-06) x86_64 GNU/Linux

Код:
[modules]
verbose=5
shaper
log_file
ipoe
radius
vlan-mon

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=6

[auth]
noauth=1

[ipoe]
# guest
gw-ip-address=172.19.48.1/24

# fake
gw-ip-address=172.19.49.1/24
gw-ip-address=172.19.50.1/24
gw-ip-address=172.19.51.1/24
gw-ip-address=172.19.52.1/24

# access
gw-ip-address=172.19.53.1/24
gw-ip-address=172.19.54.1/24
gw-ip-address=172.19.55.1/24
gw-ip-address=172.19.56.1/24
gw-ip-address=172.19.57.1/24
gw-ip-address=172.19.58.1/24
gw-ip-address=172.19.59.1/24
gw-ip-address=172.19.60.1/24
gw-ip-address=172.19.61.1/24
gw-ip-address=172.19.62.1/24
gw-ip-address=172.19.63.1/24

verbose=1
password=empty1
lua-file=/etc/accel-ppp/accel-ppp.lua
lease-time=600
renew-time=300
max-lease-time=600
shared=1
ifcfg=1
mode=L2
start=dhcpv4
ip-unnumbered=1
proxy-arp=1
proto=100
attr-dhcp-client-ip=Framed-IP-Address
attr-dhcp-opt82=DHCP-Option82
attr-l4-redirect=L4-Redirect
attr-l4-redirect-ipset=L4-Redirect-ipset
l4-redirect-ipset=unknown
l4-redirect-ip-pool=l4-redirect
l4-redirect-on-reject=0
interface=bond0.253,username=lua:mac
interface=bond0.254,username=lua:mac
interface=bond0.255,username=lua:mac
interface=bond0.256,username=lua:mac
interface=bond0.257,username=lua:mac
interface=bond0.253,username=lua:mac
interface=bond0.259,username=lua:mac
interface=bond0.260,username=lua:mac
interface=bond0.261,username=lua:mac
interface=bond0.262,username=lua:mac
interface=bond0.263,username=lua:mac
interface=bond0.264,username=lua:mac
interface=bond0.265,username=lua:mac
interface=bond0.266,username=lua:mac
interface=bond0.267,username=lua:mac
interface=bond0.268,username=lua:mac
interface=bond0.269,username=lua:mac
interface=bond0.270,username=lua:mac
interface=bond0.271,username=lua:mac
interface=bond0.272,username=lua:mac
interface=bond0.273,username=lua:mac
interface=bond0.341,username=lua:mac
interface=bond0.342,username=lua:mac
interface=bond0.343,username=lua:mac
interface=bond0.344,username=lua:mac
interface=bond0.345,username=lua:mac


[dns]
dns1=8.8.8.8

[radius]
dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=accel-ppp
nas-ip-address=192.168.0.1
server=127.0.0.1,accelpass,auth-port=1812,acct-port=1813,req-limit=0,fail-timeout=0,max-fail=0,weight=1
dae-server=192.168.0.1:3799,accelpass
verbose=1
level=5
interim-verbose=1
acct-timeout=0
acct-interim-interval=250
acct-on=1

[ip-pool]

[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
log-debug=/var/log/accel-ppp/accel.log
copy=1
color=1
level=5

[shaper]
attr=Filter-Id
ifb=ifb0
up-limiter=htb
down-limiter=tbf
r2q=10
moderate-quantum=1
rate-multiplier=1.0
verbose=5

[cli]
verbose=1
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001

Код:
[2017-10-07 15:23:51.578] ipoe747: 2918e86cfb6572ef: create interface ipoe747 parent bond0.257
[2017-10-07 15:23:51.578] ipoe747: 2918e86cfb6572ef: send [RADIUS(1) Access-Request id=1 <User-Name "00:1d:92:51:89:1a"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address 192.168.0.1> <NAS-Port 918687> <NAS-Port-Id "ipoe747"> <NAS-Port-Type Ethernet> <Calling-Station-Id "00:1d:92:51:89:1a"> <Called-Station-Id "bond0.257"> <User-Password>]
[2017-10-07 15:23:51.623] ipoe747: 2918e86cfb6572ef: recv [RADIUS(1) Access-Accept id=1 <Framed-IP-Address 172.19.57.189>]
[2017-10-07 15:23:51.623] ipoe747: 2918e86cfb6572ef: 00:1d:92:51:89:1a: authentication succeeded
[2017-10-07 15:23:51.623] ipoe747: 2918e86cfb6572ef: send [DHCPv4 Offer xid=7a86956a yiaddr=172.19.57.189 chaddr=00:1d:92:51:89:1a <Message-Type Offer> <Server-ID 172.19.57.1> <Lease-Time 600> <T1 300> <Router 172.19.57.1> <Subnet 255.255.255.0> <DNS 8.8.8.8>]
[2017-10-07 15:24:01.623] ipoe747: 2918e86cfb6572ef: ipoe: session timed out
[2017-10-07 15:24:01.623] ipoe747: 2918e86cfb6572ef: terminate
[2017-10-07 15:24:01.623] ipoe747: 2918e86cfb6572ef: ipoe: session finished


Код:
[2017-10-07 15:24:07.872] ipoe747: 2918e86cfb6572f0: create interface ipoe747 parent bond0.261
[2017-10-07 15:24:07.872] ipoe747: 2918e86cfb6572f0: send [RADIUS(1) Access-Request id=1 <User-Name "b8:2a:72:a9:37:d4"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address 192.168.0.1> <NAS-Port 918688> <NAS-Port-Id "ipoe747"> <NAS-Port-Type Ethernet> <Calling-Station-Id "b8:2a:72:a9:37:d4"> <Called-Station-Id "bond0.261"> <User-Password>]
[2017-10-07 15:24:08.055] ipoe747: 2918e86cfb6572f0: recv [RADIUS(1) Access-Accept id=1 <Framed-IP-Address 172.19.57.186>]
[2017-10-07 15:24:08.055] ipoe747: 2918e86cfb6572f0: b8:2a:72:a9:37:d4: authentication succeeded
[2017-10-07 15:24:08.055] ipoe747: 2918e86cfb6572f0: send [DHCPv4 Offer xid=a1368bd4 yiaddr=172.19.57.186 chaddr=b8:2a:72:a9:37:d4 <Message-Type Offer> <Server-ID 172.19.57.1> <Lease-Time 600> <T1 300> <Router 172.19.57.1> <Subnet 255.255.255.0> <DNS 8.8.8.8>]
[2017-10-07 15:24:08.092] ipoe747: 2918e86cfb6572f0: ipoe: activate session
[2017-10-07 15:24:08.092] ipoe747: 2918e86cfb6572f0: ipoe: nl_create: error talking to kernel
[2017-10-07 15:24:08.092] ipoe747: 2918e86cfb6572f0: terminate
[2017-10-07 15:24:08.092] ipoe747: 2918e86cfb6572f0: ipoe: session finished


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: sever от 13 Октября 2017, 09:56:20
Сталкивался ли кто то с данной проблемой?

Онлайн 1000+-, проблема проявляется после того, как интерфейс удаляется по таймауту, accel-ppp с ним прощается, но интерфейс остается. Сборка последняя из мастера, авторизация radius через sqlippool (дубликаты ip исключены). Vlan интервейсы созданы вручную, vlan-mon исключил сразу.



После завершения сессии интерфейс не удаляется а помещается в кэш, так что новые сессии могут его использовать повторно. Это фича.
Оно? То что интерфейс висит в системе, да и пусть висит, это не проблема. Если я правильно понял.


Название: Re: Nodeny plus + Debain + Accel-ppp
Отправлено: Stronglan от 18 Октября 2017, 10:10:59
Да оно, проблема на сегодняшний день решена, в ветке форума аццеля решение, если кому интересно.