UP
помогите пожалуйста у кого работает
я настраивал все на стенде, но вместо модуля CoA просто отправлял запросы с консоли.
Начал внедрение и пробую сделать через модуль CoA
Модуль при отключении абоненту доступа в биллинге делает следующее:
SELECT uid FROM v_services WHERE tags LIKE '%,inet,%' GROUP BY uid
Строк: 1309. Время выполнения sql: 0.0008 сек
SELECT u.id, u.balance, u.name, u.state, a.auth_start, a.ip, a.properties FROM ( SELECT INET_NTOA(i.ip) AS ip, '' as properties, UNIX_TIMESTAMP() AS auth_start FROM users u JOIN ip_pool i ON i.uid=u.id WHERE u.lstate=1 UNION ALL SELECT ip, properties, start AS auth_start FROM auth_now ) a JOIN ip_pool i ON INET_ATON(a.ip)=i.ip JOIN users u ON i.uid=u.id WHERE TRUE AND u.state='on' AND (i.tags LIKE '%,dulovo,%')
Строк: 0. Время выполнения sql: 0.0642 сек
SELECT SQL_BUFFER_RESULT uid, SUM(in1+in2+in3+in4) AS traf_in, SUM(out1+out2+out3+out4) AS traf_out FROM users_trf GROUP BY uid
Строк: 1739. Время выполнения sql: 0.0012 сек
Fw Off uid: 329, ip: 100.64.60.4,100.64.60.4
ip: 100.64.60.4 , auth properies:
sending: = 'Acct-Session-Id=, L4-Redirect="2"'
to: = '/usr/local/bin/radclient -x 172.22.2.251:3799 coa pass'
radclient:: Expected end of line or comma
radclient: Nothing to send.
ip: 100.64.60.4 , auth properies:
sending: = 'Acct-Session-Id=, L4-Redirect="2"'
to: = '/usr/local/bin/radclient -x 172.22.2.251:3799 coa pass'
radclient:: Expected end of line or comma
radclient: Nothing to send.
При разрешение доступа все отличненько:
SELECT uid FROM v_services WHERE tags LIKE '%,inet,%' GROUP BY uid
Строк: 1309. Время выполнения sql: 0.0008 сек
SELECT u.id, u.balance, u.name, u.state, a.auth_start, a.ip, a.properties FROM ( SELECT INET_NTOA(i.ip) AS ip, '' as properties, UNIX_TIMESTAMP() AS auth_start FROM users u JOIN ip_pool i ON i.uid=u.id WHERE u.lstate=1 UNION ALL SELECT ip, properties, start AS auth_start FROM auth_now ) a JOIN ip_pool i ON INET_ATON(a.ip)=i.ip JOIN users u ON i.uid=u.id WHERE TRUE AND u.state='on' AND (i.tags LIKE '%,dulovo,%')
Строк: 2. Время выполнения sql: 0.0599 сек
Fw On uid: 329, ip: 100.64.60.4,100.64.60.4, вх.скор: 0 КБит/с
ip: 100.64.60.4 , auth properies: mod=dhcp;user=c8600093a224;nas=172.22.2.251;ses=b679f57e1706017b;
sending: = 'Acct-Session-Id=b679f57e1706017b, L4-Redirect="0"'
to: = '/usr/local/bin/radclient -x 172.22.2.251:3799 coa pass'
Sending CoA-Request of id 106 to 172.22.2.251 port 3799
Acct-Session-Id = "b679f57e1706017b"
L4-Redirect = 0
rad_recv: CoA-ACK packet from host 172.22.2.251 port 3799, id=106, length=20
ip: 100.64.60.4 , auth properies: mod=dhcp;user=c8600093a224;nas=172.22.2.251;ses=b679f57e1706017b;
sending: = 'Acct-Session-Id=b679f57e1706017b, L4-Redirect="0"'
to: = '/usr/local/bin/radclient -x 172.22.2.251:3799 coa pass'
Sending CoA-Request of id 87 to 172.22.2.251 port 3799
Acct-Session-Id = "b679f57e1706017b"
L4-Redirect = 0
rad_recv: CoA-ACK packet from host 172.22.2.251 port 3799, id=87, length=20
Посмотрев в коде и попробовал закоментить в noserver.pl строчку где то 67-я по порядку
#$sql_get_auth_usr .= " AND u.state='on'" if !$Allow_off_state;
И в биллинге Заблокирован = Да то модуль отправляет атрибуты.
А вот при замороженной услуге в учетке пользователя Заблокирован=НЕТ и модуль ничего не делает.
Где же я ошибся не пойму(
Сам конфиг модуля CoA:
$coa_connect__state_on = {
type => 'coa',
template => 'Acct-Session-Id={{auth_ses}}, L4-Redirect="0"',
};
$coa_connect__state_off = {
type => 'coa',
template => 'Acct-Session-Id={{auth_ses}}, L4-Redirect="1"',
};
$coa_disconnect =
{
type => 'coa',
template => 'Acct-Session-Id={{auth_ses}}, L4-Redirect="2"',
};