так... у меня работает связка с микротиком, линуксы знаю плохо поэтому сильно не пинайте, как я понял abills по радиусу передаёт параметры на микротик а микротик уже режет скорость..
команду tc если честно не понял
но шэйпер сделать всё таки надо
abills по ssh передаёт параметры скорости которые забиваются в simple queues... там всё просто... сам шэйпер то работает а вот именно что из выражений не работает. проблема в биллинге а не в микротике имхо. может результат комманд какой надо вывести скажите на debian я выведу.
freeradius -X
rad_recv: Access-Request packet from host 192.168.15.11:38283, id=234, length=13 3
Service-Type = Framed-User
Framed-Protocol = PPP
NAS-Port = 81
NAS-Port-Type = Virtual
User-Name = "smile"
Calling-Station-Id = "192.168.0.46"
Called-Station-Id = "192.168.15.11"
CHAP-Challenge = 0xcf51593a0f208e950522c7c1e5495620
CHAP-Password = 0x01bf5ac59a8682ef8053ff69b2af94c9c1
NAS-Identifier = "MikroTik"
NAS-IP-Address = 192.168.15.11
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 2
Exec-Program output: Auth-Type := Accept
Exec-Program-Wait: value-pairs: Auth-Type := Accept
Exec-Program: returned: 0
modcall[authorize]: module "pre_auth" returns ok for request 2
modcall[authorize]: module "preprocess" returns ok for request 2
rlm_realm: No '@' in User-Name = "smile", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[authorize]: module "suffix" returns noop for request 2
users: Matched entry DEFAULT at line 1
modcall[authorize]: module "files" returns ok for request 2
modcall: leaving group authorize (returns ok) for request 2
rad_check_password: Found Auth-Type Accept
rad_check_password: Auth-Type = Accept, accepting the user
Exec-Program output: Acct-Interim-Interval = 300, Session-Timeout = 1081018, Mik rotik-Xmit-Limit = 1073217536, Ascend-Data-Rate = 262144, Framed-IP-Address = 10 .0.0.148, Mikrotik-Recv-Limit = 1073217536, Ascend-Xmit-Rate = 262144, Framed-IP -Netmask = 255.255.255.255,
Exec-Program-Wait: value-pairs: Acct-Interim-Interval = 300, Session-Timeout = 1 081018, Mikrotik-Xmit-Limit = 1073217536, Ascend-Data-Rate = 262144, Framed-IP-A ddress = 10.0.0.148, Mikrotik-Recv-Limit = 1073217536, Ascend-Xmit-Rate = 262144 , Framed-IP-Netmask = 255.255.255.255,
Exec-Program: returned: 0
Sending Access-Accept of id 234 to 192.168.15.11 port 38283
Acct-Interim-Interval = 300
Session-Timeout = 1081018
Mikrotik-Xmit-Limit = 1073217536
Ascend-Data-Rate = 262144
Framed-IP-Address = 10.0.0.148
Mikrotik-Recv-Limit = 1073217536
Ascend-Xmit-Rate = 262144
Framed-IP-Netmask = 255.255.255.255
Finished request 2
Going to the next request
--- Walking the entire request list ---
Waking up in 2 seconds...
rad_recv: Accounting-Request packet from host 192.168.15.11:54551, id=235, lengt h=136
Service-Type = Framed-User
Framed-Protocol = PPP
NAS-Port = 81
NAS-Port-Type = Virtual
User-Name = "smile"
Calling-Station-Id = "192.168.0.46"
Called-Station-Id = "192.168.15.11"
Acct-Session-Id = "81c00011"
Framed-IP-Address = 10.0.0.148
Acct-Authentic = RADIUS
Event-Timestamp = "Dec 19 2009 16:41:40 AQTT"
Acct-Status-Type = Start
NAS-Identifier = "MikroTik"
NAS-IP-Address = 192.168.15.11
Acct-Delay-Time = 0
Processing the preacct section of radiusd.conf
modcall: entering group preacct for request 3
modcall[preacct]: module "preprocess" returns noop for request 3
rlm_acct_unique: Hashing 'NAS-Port = 81,Client-IP-Address = 192.168.15.11,NAS-IP -Address = 192.168.15.11,Acct-Session-Id = "81c00011",User-Name = "smile"'
rlm_acct_unique: Acct-Unique-Session-ID = "3029524af93f942d".
modcall[preacct]: module "acct_unique" returns ok for request 3
rlm_realm: No '@' in User-Name = "smile", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[preacct]: module "suffix" returns noop for request 3
acct_users: Matched entry DEFAULT at line 17
modcall[preacct]: module "files" returns ok for request 3
modcall: leaving group preacct (returns ok) for request 3
Processing the accounting section of radiusd.conf
modcall: entering group accounting for request 3
radius_xlat: '/var/log/freeradius/radacct/192.168.15.11/detail-20091219'
rlm_detail: /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d expan ds to /var/log/freeradius/radacct/192.168.15.11/detail-20091219
modcall[accounting]: module "detail" returns ok for request 3
modcall[accounting]: module "unix" returns ok for request 3
radius_xlat: '/var/log/freeradius/radutmp'
radius_xlat: 'smile'
modcall[accounting]: module "radutmp" returns ok for request 3
modcall: leaving group accounting (returns ok) for request 3
Exec-Program output:
Exec-Program: returned: 0
Sending Accounting-Response of id 235 to 192.168.15.11 port 54551
Finished request 3
Going to the next request
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Cleaning up request 1 ID 233 with timestamp 4b2c75f1
Waking up in 3 seconds...
--- Walking the entire request list ---
Cleaning up request 2 ID 234 with timestamp 4b2c75f5
Waking up in 1 seconds...
--- Walking the entire request list ---
Cleaning up request 3 ID 235 with timestamp 4b2c75f6
Nothing to do. Sleeping until we see a request.
как видно радиус передаёт 256кбит на микротик значит дело в биллинге. куда копать?..
TT, 7
TIME_PRICE, 0
FIRST_INTERVAL, 7
Expresion:================================
ID: 0 EXPR: TRAFFIC_IN>5000=SPEED_IN:1000
ARGUMENT: TRAFFIC_IN EXP: '>' PARAMETER: 5000
EXPR: > ARGUMENT: 9714.0179
END: =====================================
/sbin/tc filter del dev ppp33 protocol ip parent 1: prio 23011 &>/dev/null
/sbin/tc filter del dev ppp33 protocol ip parent ffff: prio 23010 &>/dev/null
/sbin/tc class del dev ppp33 parent 1: classid 1:59e3 &>/dev/null
/sbin/tc class add dev ppp33 parent 1: classid 1:59e3 htb rate 1000Kibit
/sbin/tc filter add dev ppp33 protocol ip parent 1: prio 23011 u32 match ip src 0.0.0.0/0 match ip dst 169.254.1.5 flowid 1:59e3
/sbin/tc filter add dev ppp33 protocol ip parent ffff: prio 23010 u32 match ip src 169.254.1.5 match ip dst 0.0.0.0/0 flowid 1:
при вызове так работает однозначно, сам писАл ненадо ляля... и дописывать ничего ненада... разве что шейпить и исходящий траф чере ifb... тоже давно работает у меня (больше года) автору патч с мануалом давал...
ЗЫ: а насчёт sfq и других дисциплин - это уж усер пусть себе шейпит как ему нада - пров не ясновидящий имне (как прову) пох как будут распределяться его соединения - моё дело - дать канал нужной ширины
Любой тупик - это тщательно замаскированный выход.