День добрый...
у меня умирает accel когда пытаюсь его запустить с radreply для шейпинга вот с такой вот ошибкой
Code: Select all
accel-pppd: /usr/local/accel-ppp-1.10.0/accel-pppd/radius/req.c:233: rad_req_free: Assertion `!req->active' failed.
Aborted
Всё было ок до того как я заполнил radreply таблицу и добавил в конфиг "[radius] dictionary" and "[shaper] vendor=Cisco attr=Cisco-AVPair".
в общем сам конфиг:
Спойлер
Code: Select all
[modules]
log_file
log_syslog
ipoe
auth
#auth_mschap_v2
#auth_mschap_v1
#auth_chap_md5
#auth_pap
radius
shaper
[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4
[common]
[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
copy=1
level=5
[auth]
any-login=1
[client-ip-range]
192.168.5.1-254
10.0.0.0/8
[ipoe]
verbose=9
unit-cache=2000
shared=1
ifcfg=0
mode=L3
ip-unnumbered=1
proxy-arp=0
proto=100
local-net=192.168.5.0/24
start=up
#start=dhcpv4
interface=eth1
gw-ip-address=192.168.5.123
[radius]
dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=Accel-PPP
nas-ip-address=192.168.5.123
server=192.168.5.3,testing123,auth-port=1812,acct-port=1813,req-limit=50,fail-timeout=0,max-fail=10,weight=1
verbose=1
max-try=3
acct-timeout=120
acct-on=0
[shaper]
#attr=Filter-Id
vendor=Cisco
attr=Cisco-AVPair
ifb=ifb0
up-limiter=htb
down-limiter=htb
#cburst=1375000
#r2q=10
#quantum=1500
#leaf-qdisc=sfq perturb 10
verbose=1
#down-burst-factor=0.1
#up-burst-factor=1.0
#rate-multiplier=1
#fwmark=1
verbose=1
[cli]
verbose=1
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
cisco dictionary добавлены
Code: Select all
#cat /usr/local/share/accel-ppp/radius/dictionary
...
$INCLUDE dictionary.microsoft
$INCLUDE dictionary.cisco
$INCLUDE dictionary.alcatel
в логах ничего
....
[2016-07-04 09:24:34]: info: ipoe: start interface eth1 ()
[2016-07-04 09:24:34]: msg: accel-ppp version 1.10.0
[2016-07-04 09:25:02]: info: ipoe: start interface eth1 ()
[2016-07-04 09:25:02]: msg: accel-ppp version 1.10.0
[2016-07-04 09:32:27]: info: ipoe: start interface eth1 ()
[2016-07-04 09:32:27]: msg: accel-ppp version 1.10.0
....
mysql таблицы и radtest
Спойлер
Code: Select all
~# radtest 192.168.5.250 192.168.5.250 localhost 1812 testing123
Sending Access-Request of id 132 to 127.0.0.1 port 1812
User-Name = "192.168.5.250"
User-Password = "192.168.5.250"
NAS-IP-Address = 78.26.128.53
NAS-Port = 1812
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=132, length=130
Cisco-AVPair = "lcp:interface-config#1=rate-limit output 128000 10000 10000 conform-action continue exceed-action drop"
mysql> select * from radcheck;
+----+---------------+--------------------+----+---------------+
| id | username | attribute | op | value |
+----+---------------+--------------------+----+---------------+
| 3 | 192.168.5.250 | Cleartext-Password | := | 192.168.5.250 |
| 6 | 192.168.5.144 | Cleartext-Password | := | 192.168.5.144 |
+----+---------------+--------------------+----+---------------+
mysql> select * from radreply;
+----+---------------+--------------+----+-------------------------------------------------------------------------------------------------------+
| id | username | attribute | op | value |
+----+---------------+--------------+----+-------------------------------------------------------------------------------------------------------+
| 6 | 192.168.5.250 | Cisco-Avpair | = | lcp:interface-config#1=rate-limit output 1000000 8000 8000 conform-action transmit exceed-action drop |
| 7 | 192.168.5.250 | Cisco-Avpair | = | lcp:interface-config#1=rate-limit input 1000000 8000 8000 conform-action transmit exceed-action drop |
+----+---------------+--------------+----+-------------------------------------------------------------------------------------------------------+
может уже кто то сталкивался с такой ошибкой ?
PS: и ещё одна интересная особенность ... может быть так и надо, но меня смущает.
когда создаются сессии первая - всегда создаётся интерфейса который accel слушает, тоесть interface=eth1 который 192.168.5.144 а уже потом клиентские сессии. Приходится добавлять в радиус ещё 1 клиента.
выглядит это всё вот так вот:
Accel(192.168.5.144/25)<->(192.168.5.250/25)Client
Code: Select all
# accel-cmd show sessions
ifname | username | calling-sid | ip | rate-limit | type | comp | state | uptime
--------+---------------+-------------------+---------------+------------+------+------+--------+----------
ipoe0 | 192.168.5.144 | 40:00:ff:11:15:2b | 192.168.5.144 | | ipoe | | active | 00:34:13
ipoe1 | 192.168.5.250 | b8:27:eb:d8:8f:b9 | 192.168.5.250 | | ipoe | | active | 00:34:10