Биллинговая система Nodeny
20 Апреля 2024, 08:47:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 ... 4 5 [6]
  Печать  
Автор Тема: Nodeny plus + Debain + Accel-ppp  (Прочитано 26706 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #75 : 08 Февраля 2017, 16:27:16 »

С каким периодом идет radius-accounting? Помониторь учетку абона, покликай по авторизованному айпишнику и улови примерно максимальное значение параметра "Обновление авт" в секундах. Если там будет больше двух минут - скорее всего период аккаунтинга настроен неверно, ip освобождается и при последующем аккаунтинге выдается новый
Записан
sever
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 82


Просмотр профиля
« Ответ #76 : 08 Февраля 2017, 16:35:34 »

С каким периодом идет radius-accounting? Помониторь учетку абона, покликай по авторизованному айпишнику и улови примерно максимальное значение параметра "Обновление авт" в секундах. Если там будет больше двух минут - скорее всего период аккаунтинга настроен неверно, ip освобождается и при последующем аккаунтинге выдается новый

Раз в 60/сек

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

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

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« Ответ #77 : 24 Февраля 2017, 22:26:36 »

Ребят а кто accel использует на одном сервере для pppoe и ipoe одновременно? Подскажите как freeradius правильно настроить под разные процедуры?
Записан
sever
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 82


Просмотр профиля
« Ответ #78 : 28 Февраля 2017, 01:31:46 »

Ребят а кто accel использует на одном сервере для pppoe и ipoe одновременно? Подскажите как freeradius правильно настроить под разные процедуры?

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

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

Карма: 1
Offline Offline

Сообщений: 82


Просмотр профиля
« Ответ #79 : 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>

В какую сторону смотреть?
Записан
sever
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 82


Просмотр профиля
« Ответ #80 : 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 ;
Записан
ivanmfan
Постоялец
***

Карма: 9
Offline Offline

Сообщений: 131


Просмотр профиля Email
« Ответ #81 : 11 Марта 2017, 13:57:25 »

Подскажите по модулю COA,я его настроил в связке с accel в ipoe режиме, но есть не понятная вещь. После авторизации клиент получает IP от mysql процедуры но не получает шейпер.  Я так понимаю по логике после  CALL set_auth( должен выполниться state_on в coa что бы отправить шейпер, но у меня не выполняет. Как применять шейкер при авторизации клиентом?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #82 : 11 Марта 2017, 18:47:23 »

Так, чтоб уточнить: set_auth на прямую не вызывает state_on в coa. noserver мониторит таблицу юзеров и как только там что-либо (по дефолту только параметры авторизации) меняется - вызывается соответствующая процедура в coa. Запусти с ключем -v  и -u (это заставит обрабатывать одного абонента) и посмотри в консоль что посылается. Если команды "шейпинга" посылаются - значит вопрос не к биллингу
Записан
ivanmfan
Постоялец
***

Карма: 9
Offline Offline

Сообщений: 131


Просмотр профиля Email
« Ответ #83 : 11 Марта 2017, 22:16:25 »

Так, чтоб уточнить: set_auth на прямую не вызывает state_on в coa. noserver мониторит таблицу юзеров и как только там что-либо (по дефолту только параметры авторизации) меняется - вызывается соответствующая процедура в coa. Запусти с ключем -v  и -u (это заставит обрабатывать одного абонента) и посмотри в консоль что посылается. Если команды "шейпинга" посылаются - значит вопрос не к биллингу

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

Карма: -3
Offline Offline

Сообщений: 185


Просмотр профиля Email
« Ответ #84 : 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
Записан
sever
Пользователь
**

Карма: 1
Offline Offline

Сообщений: 82


Просмотр профиля
« Ответ #85 : 13 Октября 2017, 09:56:20 »

Сталкивался ли кто то с данной проблемой?

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



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

Карма: -3
Offline Offline

Сообщений: 185


Просмотр профиля Email
« Ответ #86 : 18 Октября 2017, 10:10:59 »

Да оно, проблема на сегодняшний день решена, в ветке форума аццеля решение, если кому интересно.
Записан
Страниц: 1 ... 4 5 [6]
  Печать  
 
Перейти в:  

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