Страница 1 из 1
Лимитизация траффика работает частично.
Добавлено: Пт апр 10, 2009 6:47 pm
xoy
Устанновлен биллинг, с дневными лимитами в тарифном плане.
ubuntu804 + abills041 из CVS + pptpd
Для пользователя с ограничением трафика в 15мб. за одну сессию позволяет скачать неограниченное количество трафика. но если сессию разорвать в ручную подключиться более не дает.
Причем проблема в том, что радиус штампы от клиента регулярно получает - вывод делаю по логу radacct/detail-xxxxxx.
Код: Выделить всё
Thu Apr 9 12:28:32 2009
Acct-Session-Id = "49DDAC4B79C700"
User-Name = "ak2"
Acct-Status-Type = Interim-Update
Service-Type = Framed-User
Framed-Protocol = PPP
Acct-Authentic = RADIUS
Acct-Session-Time = 1381
Acct-Output-Octets = 24142750
Acct-Input-Octets = 3170574
Acct-Output-Packets = 31729
Acct-Input-Packets = 25866
Calling-Station-Id = "192.168.0.104"
NAS-Port-Type = Async
Framed-IP-Address = 172.16.0.89
NAS-IP-Address = 127.0.0.1
NAS-Port = 3
Acct-Delay-Time = 0
Client-IP-Address = 192.168.0.199
Acct-Unique-Session-Id = "2ecbe792975dbff9"
Timestamp = 1239265712
Thu Apr 9 12:29:32 2009
Acct-Session-Id = "49DDAC4B79C700"
User-Name = "ak2"
Acct-Status-Type = Interim-Update
Service-Type = Framed-User
Framed-Protocol = PPP
Acct-Authentic = RADIUS
Acct-Session-Time = 1441
Acct-Output-Octets = 25462695
Acct-Input-Octets = 3323908
Acct-Output-Packets = 33335
Acct-Input-Packets = 27164
Calling-Station-Id = "192.168.0.104"
NAS-Port-Type = Async
Framed-IP-Address = 172.16.0.89
NAS-IP-Address = 127.0.0.1
NAS-Port = 3
Acct-Delay-Time = 0
Client-IP-Address = 192.168.0.199
Acct-Unique-Session-Id = "2ecbe792975dbff9"
Timestamp = 1239265772
Thu Apr 9 12:35:32 2009
Acct-Session-Id = "49DDAC4B79C700"
User-Name = "ak2"
Acct-Status-Type = Interim-Update
Service-Type = Framed-User
Framed-Protocol = PPP
Acct-Authentic = RADIUS
Acct-Session-Time = 1801
Acct-Output-Octets = 25465095
Acct-Input-Octets = 3326537
Acct-Output-Packets = 33395
Acct-Input-Packets = 27225
Calling-Station-Id = "192.168.0.104"
NAS-Port-Type = Async
Framed-IP-Address = 172.16.0.89
NAS-IP-Address = 127.0.0.1
а в абилисе в статистеке-детали общаяя инфа по сессии есть, а количество трафика за каждый штамп ровно нулю.
Код: Выделить всё
2009-04-09 12:28:32 49DDAC4B79C700 1 0 Bt 0 Bt 0 Bt 0 Bt
2009-04-09 12:29:32 49DDAC4B79C700 1 0 Bt 0 Bt 0 Bt 0 Bt
Может быть проблема в этом? Как заставить радиус всоевремено рубить сесию?
Добавлено: Пт апр 10, 2009 11:26 pm
Abram
Ещё раз проверить словари RADIUS-а. Скорее всего, либо в freeradius, либо у radiusclient в словаре нет нужных записей.
offtopic: Я б не стал поднимать это всё под убунтой. Не доросла она.

Добавлено: Вс апр 12, 2009 6:18 pm
xoy
клиентский
Код: Выделить всё
ATTRIBUTE User-Name 1 string
ATTRIBUTE Password 2 string
ATTRIBUTE CHAP-Password 3 string
ATTRIBUTE NAS-IP-Address 4 ipaddr
ATTRIBUTE NAS-Port-Id 5 integer
ATTRIBUTE Service-Type 6 integer
ATTRIBUTE Framed-Protocol 7 integer
ATTRIBUTE Framed-IP-Address 8 ipaddr
ATTRIBUTE Framed-IP-Netmask 9 ipaddr
ATTRIBUTE Framed-Routing 10 integer
ATTRIBUTE Filter-Id 11 string
ATTRIBUTE Framed-MTU 12 integer
ATTRIBUTE Framed-Compression 13 integer
ATTRIBUTE Login-IP-Host 14 ipaddr
ATTRIBUTE Login-Service 15 integer
ATTRIBUTE Login-TCP-Port 16 integer
ATTRIBUTE Reply-Message 18 string
ATTRIBUTE Callback-Number 19 string
ATTRIBUTE Callback-Id 20 string
ATTRIBUTE Framed-Route 22 string
ATTRIBUTE Framed-IPX-Network 23 ipaddr
ATTRIBUTE State 24 string
ATTRIBUTE Session-Timeout 27 integer
ATTRIBUTE Idle-Timeout 28 integer
ATTRIBUTE Termination-Action 29 integer
ATTRIBUTE Called-Station-Id 30 string
ATTRIBUTE Calling-Station-Id 31 string
ATTRIBUTE Acct-Status-Type 40 integer
ATTRIBUTE Acct-Delay-Time 41 integer
ATTRIBUTE Acct-Input-Octets 42 integer
ATTRIBUTE Acct-Output-Octets 43 integer
ATTRIBUTE Acct-Session-Id 44 string
ATTRIBUTE Acct-Authentic 45 integer
ATTRIBUTE Acct-Session-Time 46 integer
ATTRIBUTE Acct-Input-Packets 47 integer
ATTRIBUTE Acct-Output-Packets 48 integer
ATTRIBUTE Acct-Terminate-Cause 49 integer
ATTRIBUTE Chap-Challenge 60 string
ATTRIBUTE NAS-Port-Type 61 integer
ATTRIBUTE Port-Limit 62 integer
ATTRIBUTE Connect-Info 77 string
ATTRIBUTE Huntgroup-Name 221 string
ATTRIBUTE User-Category 1029 string
ATTRIBUTE Group-Name 1030 string
ATTRIBUTE Simultaneous-Use 1034 integer
ATTRIBUTE Strip-User-Name 1035 integer
ATTRIBUTE Fall-Through 1036 integer
ATTRIBUTE Add-Port-To-IP-Address 1037 integer
ATTRIBUTE Exec-Program 1038 string
ATTRIBUTE Exec-Program-Wait 1039 string
ATTRIBUTE Hint 1040 string
ATTRIBUTE Expiration 21 date
ATTRIBUTE Auth-Type 1000 integer
ATTRIBUTE Menu 1001 string
ATTRIBUTE Termination-Menu 1002 string
ATTRIBUTE Prefix 1003 string
ATTRIBUTE Suffix 1004 string
ATTRIBUTE Group 1005 string
ATTRIBUTE Crypt-Password 1006 string
ATTRIBUTE Connect-Rate 1007 integer
ATTRIBUTE Acct-Interim-Interval 85 integer
ATTRIBUTE Session-Octets-Limit 227 integer
ATTRIBUTE Octets-Direction 228 integer
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
VALUE Service-Type Login-User 1
VALUE Service-Type Framed-User 2
VALUE Service-Type Callback-Login-User 3
VALUE Service-Type Callback-Framed-User 4
VALUE Service-Type Outbound-User 5
VALUE Service-Type Administrative-User 6
VALUE Service-Type NAS-Prompt-User 7
VALUE Framed-Protocol PPP 1
VALUE Framed-Protocol SLIP 2
VALUE Framed-Routing None 0
VALUE Framed-Routing Broadcast 1
VALUE Framed-Routing Listen 2
VALUE Framed-Routing Broadcast-Listen 3
VALUE Framed-Compression None 0
VALUE Framed-Compression Van-Jacobson-TCP-IP 1
VALUE Login-Service Telnet 0
VALUE Login-Service Rlogin 1
VALUE Login-Service TCP-Clear 2
VALUE Login-Service PortMaster 3
VALUE Acct-Status-Type Start 1
VALUE Acct-Status-Type Stop 2
VALUE Acct-Status-Type Accounting-On 7
VALUE Acct-Status-Type Accounting-Off 8
VALUE Acct-Authentic RADIUS 1
VALUE Acct-Authentic Local 2
VALUE Acct-Authentic PowerLink128 100
VALUE Termination-Action Default 0
VALUE Termination-Action RADIUS-Request 1
VALUE NAS-Port-Type Async 0
VALUE NAS-Port-Type Sync 1
VALUE NAS-Port-Type ISDN 2
VALUE NAS-Port-Type ISDN-V120 3
VALUE NAS-Port-Type ISDN-V110 4
VALUE Acct-Terminate-Cause User-Request 1
VALUE Acct-Terminate-Cause Lost-Carrier 2
VALUE Acct-Terminate-Cause Lost-Service 3
VALUE Acct-Terminate-Cause Idle-Timeout 4
VALUE Acct-Terminate-Cause Session-Timeout 5
VALUE Acct-Terminate-Cause Admin-Reset 6
VALUE Acct-Terminate-Cause Admin-Reboot 7
VALUE Acct-Terminate-Cause Port-Error 8
VALUE Acct-Terminate-Cause NAS-Error 9
VALUE Acct-Terminate-Cause NAS-Request 10
VALUE Acct-Terminate-Cause NAS-Reboot 11
VALUE Acct-Terminate-Cause Port-Unneeded 12
VALUE Acct-Terminate-Cause Port-Preempted 13
VALUE Acct-Terminate-Cause Port-Suspended 14
VALUE Acct-Terminate-Cause Service-Unavailable 15
VALUE Acct-Terminate-Cause Callback 16
VALUE Acct-Terminate-Cause User-Error 17
VALUE Acct-Terminate-Cause Host-Request 18
VALUE Auth-Type Local 0
VALUE Auth-Type System 1
VALUE Auth-Type SecurID 2
VALUE Auth-Type Crypt-Local 3
VALUE Auth-Type Reject 4
VALUE Auth-Type Pam 253
VALUE Auth-Type None 254
VALUE Fall-Through No 0
VALUE Fall-Through Yes 1
VALUE Add-Port-To-IP-Address No 0
VALUE Add-Port-To-IP-Address Yes 1
серверный
Код: Выделить всё
$INCLUDE /usr/share/freeradius/dictionary
ATTRIBUTE Session-Octets-Limit 227 integer
ATTRIBUTE Octets-Direction 228 integer
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
Еще раз проверил, про синтаксис табами в курсе.
Где? что нитак?
Добавлено: Вс апр 12, 2009 10:21 pm
Abram
Запусти freeradius -fX и посмотри, передается ли корректно Session-Octets-Limit (есть ли там значение). И обращает ли твой NAS на него внимание

Добавлено: Ср апр 15, 2009 9:34 am
ran
ну а можно ещё просто заглянуть в /var/run/radattr.pppX подключённого клиента... или где там оно у тебя в убунте лежит...
и ващето... что имеется ввиду?
Для пользователя с ограничением трафика в 15мб. за одну сессию
что-то я не припомню в тарифных планах ограничение трафика на сессию... на день, неделю, месяц - помню... а вот на сессию - не помню... ткни пальчиком

Добавлено: Чт апр 16, 2009 10:24 am
xoy
ну а можно ещё просто заглянуть в /var/run/radattr.pppX подключённого клиента... или где там оно у тебя в убунте лежит...
содержимое
Acct-Interim-Interval 60
Session-Timeout 1266577
PPPD-Upstream-Speed-Limit 15
Octets-Direction 1
Framed-IP-Address 172.16.0.87
Session-Octets-Limit 52428800
Framed-IP-Netmask 255.255.255.255
PPPD-Downstream-Speed-Limit 15
я так понимаю до NAS значение доходит.
Далее кем обрабатывается? Что значит обращает-ли на него внимание нат?
что-то я не припомню в тарифных планах ограничение трафика на сессию... на день, неделю, месяц - помню... а вот на сессию - не помню... ткни пальчиком
вобще-то знаки припенания там стоят не зря.
з.ы.
Для нас-а(ппп - соеденения) понятия месяца, недели, дня не существует. Оно существутет только для абилса. Соответственно абилс выщитывает оставшийся лимит трафика и устанавливает этим параметром - Session-Octets-Limit на сессию.
Добавлено: Чт апр 16, 2009 11:43 am
ran
Соответственно абилс выщитывает оставшийся лимит трафика и устанавливает этим параметром - Session-Octets-Limit на сессию.
совершенно верно... когда-то (года 2 назад) когда я юзал чистый Dv у меня это работало без проблем... поскольку щас юзаю Ipn + Dv мне лично этот лимит не нужен (я его принудительно в 0 устанавливаю) посему как оно щас обстоит с этим ничё сказать не могу - по-идее должно работать

Добавлено: Пт апр 17, 2009 4:15 am
LKharlamov
Решил проверить у себя разъединяется ли впн соединение, выставил в тарифе дневное ограничение 1 МБ, подключился, скачал 5, соединение не разорвалось, в /var/run/radattr.ppp3:
Код: Выделить всё
Framed-Protocol PPP
Framed-Compression Van-Jacobson-TCP-IP
Acct-Interim-Interval 60
Session-Timeout 1173114
Octets-Direction 1
Framed-IP-Address 172.16.0.77
Session-Octets-Limit 1048576
Framed-IP-Netmask 255.255.255.255
MS-CHAP2-Success \361S=B7AA98CC4FD1A3D0B0BF7357FD306FF299DF3B28
MS-MPPE-Recv-Key \367+)\373 a\014\345s\303|\003\325\005\224p,\317Q.<\002P\343ERh_\325\276(\037<@
MS-MPPE-Send-Key \375VUGh\0219+\316\313\255\330\203\333\330\020\354\034\330\310\\221\360Q\233cX\2015\326^\273\\003
MS-MPPE-Encryption-Policy
MS-MPPE-Encryption-Types
Так то функция это полезная, и потому хотелось бы с ней разобраться штобы работала... Я так понимаю до ppp параметр Session-Octets-Limit доходит, интересно он сам должен понимать што если ему в переменной Session-Octets-Limit прислали некоторое количество байт, то по достижении этой цифры он должен разорвать впн-соединение?
Ran, может быть на ppp не наложено какогонить патча для того чтобы он понимал это? типа как вот здесь написано:
http://www.unixfaq.ru/index.pl?req=qs&id=413
В моём дистрибутиве (ubuntu 8.04) включены следующие патчи:
Код: Выделить всё
008_pathnames.h.diff.diff
close_dev_ppp.diff
ppp-2.3.11-oedod.dif.diff
pppoe_readme.diff
010_scripts_README.diff.diff
fix_close_fd0.diff
ppp-2.4.2-stripMSdomain.diff
readable_connerrs.diff
011_scripts_redialer.diff.diff
fix_linkpidfile.diff
pppdump_use_zlib.diff
resolv.conf_no_log.diff
018_ip-up_option.diff.diff
fix_mschapv2_ppp.diff
pppdump_z_no_deflate.diff
setevn_call_file.diff
atm_resolver_light.diff
fix_null_pppdb.diff
pppoatm_cleanup.diff
syslog_local2.diff
chat_man.diff
load_ppp_generic_if_needed.diff
pppoatm_fix_mtu.diff
zzz_config.diff
cifdefroute.dif.diff
no_crypt_hack.diff
pppoe_cleanup.diff
zzz_man_typos.diff
В конце прошлого года помню с тобой накладывали патч ppp-2.4.2-ifname.diff, может и в данной ситуации нехватает ещо какого-нить патчика?
Добавлено: Пт апр 17, 2009 11:11 am
LKharlamov
В исходниках пакета
ppp есть упоминания про переменные Session-Octets-Limit и Octets-Direction, так што видимо дело не в патчах

Может быть пакет должен быть собран с какойнить опцией? И как интересно узнать поддерживает ли текущая собраная версия эту опцию на самом деле?
Добавлено: Пт апр 17, 2009 2:08 pm
LKharlamov
Вроде разобрался шо к чему, сессии рвуться, осталось разобраться с атрибутом Octets direction:
viewtopic.php?p=17262#17262
Добавлено: Ср апр 22, 2009 10:19 am
xoy
LKharlamov писал(а):Вроде разобрался шо к чему, сессии рвуться, осталось разобраться с атрибутом Octets direction:
viewtopic.php?p=17262#17262
Спасибо, у меня тоже заработало.
Кстати хочу заметить, что параметр в нутри абиллса обрабатывается правильно. Так как, после выроботки и обключения боле не пускает.
А вот пппд передается не тот.
Добавлено: Ср май 13, 2009 9:13 am
xoy
~AsmodeuS~ писал(а):
# Octets-Direction
VALUE Octets-Direction Sum 0
VALUE Octets-Direction Input 1
VALUE Octets-Direction Output 2
VALUE Octets-Direction MaxOveral 3
VALUE Octets-Direction MaxSession 4
добавил работу с параметром
$conf{octets_direction}
Спасибо
~AsmodeuS~ за сделанные исправления и
LKharlamov за помощь в поиске бага.
Можно подробней как заюзать данное исправлеине?
Куда что прописовать?