Биллинговая система Nodeny
23 Ноября 2024, 03:07:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2
  Печать  
Автор Тема: nofire.pl(CISCO) - помогите добавить возможность "нарезки" скорости  (Прочитано 10085 раз)
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« : 28 Марта 2010, 12:17:56 »

Как описано в документации, nofire.pl для CISCO умеет только включать и выключать доступ.
Хотелось бы добавить туда еще "нарезку" скорости основного направления, под ipfw.
Спасибо за помощь!
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #1 : 28 Марта 2010, 12:36:51 »

Скорость передается через атрибуты радиуса
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #2 : 28 Марта 2010, 12:47:44 »

Скорость передается через атрибуты радиуса
я наверное не совсем правильно выразился.
Я имел ввиду чтобы скорость нарезалась непосредственно на самом сателите, потому как через него у нас идет только "мир"(зарубежный трафик)
Украинский трафик идет через цыску. Мы его не шейпим.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #3 : 28 Марта 2010, 12:55:34 »

так в чем тогда проблема? Ты хочешь запустить 2 noserver.pl - один для циски, другой для ipfw?
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #4 : 28 Марта 2010, 13:01:25 »

так в чем тогда проблема? Ты хочешь запустить 2 noserver.pl - один для циски, другой для ipfw?
Думаю достаточно будет одного nofire.pl. Главное чтобы для цыски он разрешал\блокировал доступ а для сателита просто нарезал скорость на зарубеж.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #5 : 28 Марта 2010, 13:02:43 »

Думаю достаточно будет одного nofire.pl. Главное чтобы для цыски он разрешал\блокировал доступ а для сателита просто нарезал скорость на зарубеж.

проще запустить 2 копии чем переделывать nofire под такую задачу
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #6 : 28 Марта 2010, 13:31:40 »

проще запустить 2 копии чем переделывать nofire под такую задачу
А как запустить 2 копии ?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #7 : 28 Марта 2010, 13:49:25 »

Поиск рулит:
Цитировать
1) создай дополнительный логин сателлита и в нем укажи id групп для микротика
2) создай папочку /usr/local/nodeny/mikrotik и скопируй в нее sat.cfg, nosat.pm, noserver.pl, nofire.pl (для микротика) и hw_mikrotik.pl
3) переименуй noserver.pl например в mikrotik.pl
4) отредактируй sat.cfg и впишу туда логин/пароль для нового сателлита
5) создай такой логин/пароль в mysql и дай (пока) такие же права как и у bill_kernel
6) запускай perl mikrotik.pl -v

это для микротика. Конвертируем для циски:

1) создай дополнительный логин сателлита и в нем укажи id групп для циски
2) создай папочку /usr/local/nodeny/cisco и скопируй в нее sat.cfg, nosat.pm, noserver.pl, nofire.pl (для циски)
3) переименуй noserver.pl например в cisco.pl
4) отредактируй sat.cfg и впишу туда логин/пароль для нового сателлита
5) создай такой логин/пароль в mysql и дай (пока) такие же права как и у bill_kernel
6) в cisco.pl замени

Код:
&Nosat_init($VER,'noserver',2); #(версия, имя агента, id агента);
на
Код:
&Nosat_init($VER,'cisco',20); #(версия, имя агента, id агента);
7) запускай perl cisco.pl -v
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #8 : 28 Марта 2010, 14:42:53 »

Поиск рулит:
это для микротика. Конвертируем для циски:

1) создай дополнительный логин сателлита и в нем укажи id групп для циски
2) создай папочку /usr/local/nodeny/cisco и скопируй в нее sat.cfg, nosat.pm, noserver.pl, nofire.pl (для циски)
3) переименуй noserver.pl например в cisco.pl
4) отредактируй sat.cfg и впишу туда логин/пароль для нового сателлита
5) создай такой логин/пароль в mysql и дай (пока) такие же права как и у bill_kernel
6) в cisco.pl замени

Код:
&Nosat_init($VER,'noserver',2); #(версия, имя агента, id агента);
на
Код:
&Nosat_init($VER,'cisco',20); #(версия, имя агента, id агента);
7) запускай perl cisco.pl -v
Спасибо большое! Сегодня попробую и отпишусь.
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #9 : 28 Марта 2010, 16:42:21 »

Поиск рулит:
это для микротика. Конвертируем для циски:

1) создай дополнительный логин сателлита и в нем укажи id групп для циски
2) создай папочку /usr/local/nodeny/cisco и скопируй в нее sat.cfg, nosat.pm, noserver.pl, nofire.pl (для циски)
3) переименуй noserver.pl например в cisco.pl
4) отредактируй sat.cfg и впишу туда логин/пароль для нового сателлита
5) создай такой логин/пароль в mysql и дай (пока) такие же права как и у bill_kernel
6) в cisco.pl замени

Код:
&Nosat_init($VER,'noserver',2); #(версия, имя агента, id агента);
на
Код:
&Nosat_init($VER,'cisco',20); #(версия, имя агента, id агента);
7) запускай perl cisco.pl -v

cisco:          # Соединение с БД на сервере xxx.xxx.xx.xx: OK
cisco: nosat    # Config from DB: OK
cisco: nosat    # Checking pid-file /var/run/cisco.pid
cisco: nosat    # /var/run/cisco.pid exists. Openning...
cisco: nosat    # Sending a signal to the process 75140...
cisco:          # 28.03.2010 17:38:15 Script with pid=75140 is a zombie. Removing pid-file
cisco: nosat    # Creating pid-file /var/run/cisco.pid with pid=75176
cisco: nosat    # end
cisco:          # 28.03.2010 17:38:15 Starting noserver
cisco:          # Loading tarifs
cisco: sql              # SELECT * FROM plans2
cisco:          # rows: 100 время: 0.00133 сек
cisco:          # Показано только 6 строк:
        id: 1   preset: 1       speed: 1024     speed_out: 1024 speed2: 4000    flags:
        id: 2   preset: 1       speed: 1024     speed_out: 1024 speed2: 102400  flags:
        id: 3   preset: 1       speed: 2048     speed_out: 2048 speed2: 102400  flags:
        id: 4   preset: 1       speed: 1024     speed_out: 1024 speed2: 102400  flags:
        id: 5   preset: 1       speed: 4096     speed_out: 4096 speed2: 102400  flags:
        id: 6   preset: 1       speed: 1024     speed_out: 1024 speed2: 8192    flags:
cisco:          # Для каждого клиента получим его трафик за текущий день.
cisco: sql              # SELECT mid, SUM(`in`) as tin, SUM(`out`) as tout FROM x2010x3x28 WHERE class=1 GROUP BY mid
cisco:          # rows: 143 время: 0.46902 сек
cisco:          # id: 7 in: 14744 out: 250 sum: 14994
cisco:          # id: 8 in: 17596993 out: 20787875 sum: 38384868
cisco:          # id: 10 in: 13822366 out: 1731615 sum: 15553981
cisco:          # id: 11 in: 2036690 out: 541767 sum: 2578457
cisco:          # id: 13 in: 75689128 out: 347605480 sum: 423294608
cisco:          # id: 14 in: 1382848984 out: 23238998 sum: 1406087982
cisco:          # id: 15 in: 72147778 out: 7773150 sum: 79920928
cisco:          # id: 18 in: 1020241370 out: 962871090 sum: 1983112460
cisco:          # id: 19 in: 52915995 out: 4130937 sum: 57046932
cisco:          # id: 20 in: 493922 out: 39103 sum: 533025
cisco:          # id: 21 in: 480041 out: 61991 sum: 542032
cisco:          # id: 25 in: 1195426 out: 487791 sum: 1683217
cisco:          # id: 26 in: 1462149 out: 186645 sum: 1648794
cisco:          # id: 29 in: 34574 out: 23834 sum: 58408
cisco:          # id: 31 in: 106022 out: 125730 sum: 231752
cisco:          # id: 32 in: 2896828919 out: 5385996880 sum: 8282825799
cisco:          # id: 33 in: 9153049 out: 7170817 sum: 16323866
cisco:          # id: 34 in: 6873329 out: 645837 sum: 7519166
cisco:          # id: 36 in: 7244 out: 0 sum: 7244
cisco:          # id: 37 in: 5681898 out: 807730 sum: 6489628
cisco:          # id: 38 in: 1267616 out: 195729 sum: 1463345
cisco:          # id: 40 in: 14560285 out: 1577136 sum: 16137421
cisco:          # id: 41 in: 57623222 out: 14403019 sum: 72026241
cisco:          # id: 45 in: 3898599 out: 1106390 sum: 5004989
cisco:          # id: 48 in: 10987 out: 0 sum: 10987
cisco:          # id: 50 in: 249747070 out: 18103188 sum: 267850258
cisco:          # id: 53 in: 50963776 out: 3401035 sum: 54364811
cisco:          # id: 54 in: 7499 out: 0 sum: 7499
cisco:          # id: 57 in: 32217764 out: 2106728 sum: 34324492
cisco:          # id: 58 in: 7034 out: 0 sum: 7034
cisco:          # id: 59 in: 4601381774 out: 3987699309 sum: 8589081083
cisco:          # id: 60 in: 230757511 out: 879334822 sum: 1110092333
cisco:          # id: 62 in: 4760 out: 0 sum: 4760
cisco:          # id: 63 in: 6330 out: 0 sum: 6330
cisco:          # id: 64 in: 35034425 out: 24273329 sum: 59307754
cisco:          # id: 67 in: 17636 out: 0 sum: 17636
cisco:          # id: 74 in: 58004755 out: 4283446 sum: 62288201
cisco:          # id: 86 in: 18788 out: 0 sum: 18788
cisco:          # id: 92 in: 26405852 out: 1229921 sum: 27635773
cisco:          # id: 95 in: 186982015 out: 11608811 sum: 198590826
cisco:          # id: 96 in: 6194 out: 0 sum: 6194
cisco:          # id: 99 in: 3614184 out: 773453 sum: 4387637
cisco:          # id: 103 in: 707464248 out: 195621413 sum: 903085661
cisco:          # id: 104 in: 11855888 out: 1125742 sum: 12981630
cisco:          # id: 108 in: 90970773 out: 25728356 sum: 116699129
cisco:          # id: 109 in: 8764189 out: 802184 sum: 9566373
cisco:          # id: 113 in: 1018980 out: 204653 sum: 1223633
cisco:          # id: 117 in: 38027711 out: 1402281 sum: 39429992
cisco:          # id: 118 in: 3408574 out: 1209201 sum: 4617775
cisco:          # id: 119 in: 38655658 out: 27833230 sum: 66488888
cisco:          # id: 121 in: 220052722 out: 5470499 sum: 225523221
cisco:          # id: 123 in: 340175123 out: 361198347 sum: 701373470
cisco:          # id: 124 in: 4108970 out: 4782034 sum: 8891004
cisco:          # id: 125 in: 15288 out: 0 sum: 15288
cisco:          # id: 127 in: 9688 out: 0 sum: 9688
cisco:          # id: 128 in: 2677161 out: 21165471 sum: 23842632
cisco:          # id: 131 in: 11518083 out: 236450250 sum: 247968333
cisco:          # id: 133 in: 898580026 out: 94905182 sum: 993485208
cisco:          # id: 138 in: 18296 out: 0 sum: 18296
cisco:          # id: 140 in: 1489813 out: 14737718 sum: 16227531
cisco:          # id: 145 in: 41436981 out: 1552123 sum: 42989104
cisco:          # id: 148 in: 5710 out: 0 sum: 5710
cisco:          # id: 149 in: 6434 out: 0 sum: 6434
cisco:          # id: 153 in: 136131543 out: 92249144 sum: 228380687
cisco:          # id: 154 in: 216572725 out: 574506486 sum: 791079211
cisco:          # id: 155 in: 273729693 out: 1365500194 sum: 1639229887
cisco:          # id: 157 in: 1794072 out: 425131 sum: 2219203
cisco:          # id: 158 in: 1245884 out: 4455235 sum: 5701119
cisco:          # id: 159 in: 0 out: 1927583 sum: 1927583
cisco:          # id: 160 in: 1692097 out: 690985 sum: 2383082
cisco:          # id: 161 in: 15255466 out: 779860 sum: 16035326
cisco:          # id: 162 in: 2181892 out: 267925 sum: 2449817
cisco:          # id: 163 in: 163590088 out: 383066483 sum: 546656571
cisco:          # id: 164 in: 16527 out: 921 sum: 17448
cisco:          # id: 165 in: 390648 out: 166887 sum: 557535
cisco:          # id: 166 in: 164395554 out: 5373278 sum: 169768832
cisco:          # id: 167 in: 9923463 out: 1124345 sum: 11047808
cisco:          # id: 168 in: 9011805 out: 1086483 sum: 10098288
cisco:          # id: 171 in: 245504 out: 0 sum: 245504
cisco:          # id: 175 in: 1730371 out: 238188 sum: 1968559
cisco:          # id: 176 in: 265709141 out: 4383399 sum: 270092540
cisco:          # id: 177 in: 200340924 out: 11929552 sum: 212270476
cisco:          # id: 180 in: 18454524 out: 595360 sum: 19049884
cisco:          # id: 181 in: 580378797 out: 668500498 sum: 1248879295
cisco:          # id: 182 in: 17501983 out: 1323828 sum: 18825811
cisco:          # id: 183 in: 8868725 out: 29170694 sum: 38039419
cisco:          # id: 184 in: 236254980 out: 144171341 sum: 380426321
cisco:          # id: 185 in: 25409 out: 0 sum: 25409
cisco:          # id: 186 in: 18073215 out: 1767886 sum: 19841101
cisco:          # id: 187 in: 5812733 out: 17649838 sum: 23462571
cisco:          # id: 188 in: 89843079 out: 381898534 sum: 471741613
cisco:          # id: 189 in: 24964 out: 0 sum: 24964
cisco:          # id: 190 in: 81990222 out: 20237745 sum: 102227967
cisco:          # id: 191 in: 34728598 out: 1376524 sum: 36105122
cisco:          # id: 192 in: 85699 out: 18478 sum: 104177
cisco:          # id: 193 in: 33036265 out: 6869730 sum: 39905995
cisco:          # id: 195 in: 24855566 out: 11532013 sum: 36387579
cisco:          # id: 196 in: 3947009705 out: 2594937558 sum: 6541947263
cisco:          # id: 197 in: 4292071 out: 967249 sum: 5259320
cisco:          # id: 198 in: 5743 out: 0 sum: 5743
cisco:          # id: 199 in: 22218415 out: 672553 sum: 22890968
cisco:          # id: 200 in: 42036019 out: 134476054 sum: 176512073
cisco:          # id: 201 in: 142658469 out: 63263971 sum: 205922440
cisco:          # id: 204 in: 12358182 out: 334101613 sum: 346459795
cisco:          # id: 205 in: 26216 out: 0 sum: 26216
cisco:          # id: 206 in: 6269 out: 0 sum: 6269
cisco:          # id: 207 in: 4664527 out: 753705 sum: 5418232
cisco:          # id: 213 in: 5697683 out: 353932 sum: 6051615
cisco:          # id: 214 in: 48588394 out: 193514937 sum: 242103331
cisco:          # id: 215 in: 12064 out: 236 sum: 12300
cisco:          # id: 220 in: 5617750 out: 408994 sum: 6026744
cisco:          # id: 221 in: 18639 out: 20991 sum: 39630
cisco:          # id: 222 in: 75933968 out: 2237461 sum: 78171429
cisco:          # id: 223 in: 5084 out: 0 sum: 5084
cisco:          # id: 224 in: 438944193 out: 13542425 sum: 452486618
cisco:          # id: 225 in: 23003006 out: 520246087 sum: 543249093
cisco:          # id: 226 in: 68892240 out: 217294084 sum: 286186324
cisco:          # id: 228 in: 18486 out: 0 sum: 18486
cisco:          # id: 231 in: 13156842 out: 2051374 sum: 15208216
cisco:          # id: 232 in: 57380432 out: 3128180 sum: 60508612
cisco:          # id: 233 in: 124292559 out: 5076175 sum: 129368734
cisco:          # id: 234 in: 59872461 out: 2533573 sum: 62406034
cisco:          # id: 235 in: 347935465 out: 15033243 sum: 362968708
cisco:          # id: 236 in: 5484 out: 0 sum: 5484
cisco:          # id: 238 in: 466 out: 0 sum: 466
cisco:          # id: 239 in: 8597618208 out: 3492384952 sum: 12090003160
cisco:          # id: 240 in: 20464 out: 0 sum: 20464
cisco:          # id: 241 in: 59575448 out: 6564790 sum: 66140238
cisco:          # id: 242 in: 6044 out: 0 sum: 6044
cisco:          # id: 243 in: 5564 out: 0 sum: 5564
cisco:          # id: 244 in: 282382489 out: 337934830 sum: 620317319
cisco:          # id: 245 in: 5542 out: 0 sum: 5542
cisco:          # id: 246 in: 23825655 out: 20238278 sum: 44063933
cisco:          # id: 247 in: 4837091822 out: 111885677 sum: 4948977499
cisco:          # id: 249 in: 6959 out: 0 sum: 6959
cisco:          # id: 250 in: 219521372 out: 68757175 sum: 288278547
cisco:          # id: 251 in: 296799734 out: 875357965 sum: 1172157699
cisco:          # id: 252 in: 42872 out: 194744 sum: 237616
cisco:          # id: 253 in: 1090659980 out: 71333169 sum: 1161993149
cisco:          # id: 254 in: 3981272 out: 604167 sum: 4585439
cisco:          # id: 256 in: 37535878 out: 303877869 sum: 341413747
cisco:          # id: 258 in: 312446192 out: 28516470 sum: 340962662
cisco:          # id: 259 in: 2627900211 out: 625140452 sum: 3253040663

Undefined subroutine &main::time_now called at /usr/local/nodeny/cisco/nofire.pl line 98.

Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #10 : 28 Марта 2010, 18:35:53 »

Какая версия NoDeny?
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #11 : 28 Марта 2010, 21:14:45 »

Какая версия NoDeny?
49.28
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #12 : 29 Марта 2010, 12:43:13 »

Что посоветуете?
Накат на более новую версию?
Записан
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #13 : 29 Марта 2010, 14:53:57 »

ну или привести код который окружает 98 строку в cisco.pl я посмотрел в 31 и 26 там разные. 28 под рукой нет
Записан
route
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 109


Просмотр профиля Email
« Ответ #14 : 29 Марта 2010, 16:32:21 »

ну или привести код который окружает 98 строку в cisco.pl я посмотрел в 31 и 26 там разные. 28 под рукой нет


Вот полностью nofire.pl. 98-ю строку выдилил.




$NF_verbose=0;  # 1 - действия выводить `на экран`, 2 - очень подробно

$NF_cisco_ip='xx.xx.xx.xx';
$NF_rsh_user='silent';
$NF_rsh_tmout=3;
$NF_accs_list=199;
$NF_accs_tmpl='GOODBOYS';
$NF_t_check=10;
$NF_t_limit=3;  # ограничение по времени на выполнение Run_Ipfw_Rules, защита от затормаживания rsh при
                # отсутствии доступа к cisco

$NF_rsh_cmd=`which rsh` || '/usr/bin/rsh';
chomp $NF_rsh_cmd;
$NF_rsh_cmd.=" -n -l $NF_rsh_user -t $NF_rsh_tmout $NF_cisco_ip";
$NF_title='[NOFIRE]';

$NF_t_sync=0;

sub NF_log
{
 ($v or $NF_verbose) && print "$NF_title $_[0]\n";
}

sub NF_com
{
 my ($ip,$com)=@_;
 $com="$NF_rsh_cmd $com access-template $NF_accs_list $NF_accs_tmpl host $ip any 2>/dev/null";
 &NF_log($com);
 $com=`$com`;
 chomp $com;
 $com && &NF_log($com);
}

sub NF_allow
{
 my $ip=$_[0];
 &NF_com($ip,'');
}

sub NF_deny
{
 my $ip=$_[0];
 &NF_com($ip,'clear');
}

#--- Вызываются из noserver ---

sub Flush
{
 %NF_on=();     # Список ip, которые должны присутствовать в access-list cisco
 %NF_old=();
}

sub Deny
{
 my $p=$_[0];
 delete $NF_on{$p->{ip}};
}

sub Allow
{
 my $p=$_[0];
 $NF_on{$p->{ip}}=1;
}

sub Run_Ipfw_Rules
{
 my ($com,$ip,$line,$p,$t_limit);
$t_limit=&time_now()+$NF_t_limit;    #####################98-Я СТРОКА######################

 if (&time_now()>$NF_t_sync)
   {
    &NF_log('Synchronization');
    $p=$NF_t_sync;
    $NF_t_sync=&time_now()+$NF_t_check;
    $com="$NF_rsh_cmd show access-list $NF_accs_list 2>/dev/null";
    &NF_log($com);
    $com=`$com`;
    $NF_verbose>1 && &NF_log($com);
    &time_now()<$t_limit or return;
    if ($com=~/list/io)
      {# список получен. Предполагается, что в ответе cisco будет строка `Extended IP access list...`
       %NF_old=();
       foreach $line (split /\n/,$com)
         {
          $NF_old{$1}=1 if $line=~/(\d+\.\d+\.\d+\.\d+)/o;
         }
      }
    $p or return; # при запуске еще не установлено кому разрешить доступ или запретить
   }

 foreach $ip (grep{ !$NF_old{$_} } keys %NF_on)
   {
    &time_now()<$t_limit or last;
    &NF_allow($ip);
   }

 foreach $ip (grep{ !$NF_on{$_} } keys %NF_old)
   {
    &time_now()<$t_limit or last;
    &NF_deny($ip);
   }
 %NF_old=%NF_on;
}

sub Add_To_All_Ip {}
sub Delete_From_All_Ip {}
sub Add_To_Allow_Ip {}
sub Delete_From_Allow_Ip {}
sub Add_To_Table {}
sub Delete_From_Table {}
sub Flush_Table {}


1;
Записан
Страниц: [1] 2
  Печать  
 
Перейти в:  

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