lalex 0 Опубліковано: 2009-03-05 19:02:37 Share Опубліковано: 2009-03-05 19:02:37 не считается трафик при использовании "cap_ipq". модуль "ip_queue" для ядра загружен, в скриптах конекта/дисконекта всё приведено к необходимому виду. в конфигурации СТГ стоит использование только "cap_ipq". версия СТГ - последняя, stg-2.4-2009.03.05-09.41.01.tgz. и по прежнему присутствует баг с консольным конфигуратором: при внесении изменений выдаёт ошибку, но параметры меняет; при чтении параметров ошибка не выдаётся. в чём может быть причина? тоже приходится использовать эту версию на живом сервере. пользователей 350 человек. максимум 200 человек онлайн. в среднем 100-120 человек при постоянном трафике 5-15 Мбит/с. до этого 3 года использовал 2.0 версию, которая удовлетворяла на все 100% (если бы не выловил несколько неприятных багов). Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-03-05 20:25:45 Share Опубліковано: 2009-03-05 20:25:45 Вот что пишит , потому и не собирает : Checking for -lmysqlclient... no Либа лежит у меня здесь : /usr/local/lib/mysql только называется она libmysqlclient_r.so.16 но есть ссылка на неё libmysqlclient_r.so что делать ? 6) Makefile смотри ) Ссылка на сообщение Поделиться на других сайтах
Sonnar 0 Опубліковано: 2009-03-05 20:30:29 Share Опубліковано: 2009-03-05 20:30:29 Вот что пишит , потому и не собирает : Checking for -lmysqlclient... no Либа лежит у меня здесь : /usr/local/lib/mysql только называется она libmysqlclient_r.so.16 но есть ссылка на неё libmysqlclient_r.so что делать ? 6) У меня тоже самое было, только библиотека лежала в /usr/lib/mysql Cделай символьную ссылку этой командой "ln -s /usr/local/lib/mysql/libmysqlclient_r.so.16 /usr/lib/libmysqlclient_r.so" поидее должно помочь Ссылка на сообщение Поделиться на других сайтах
Sonnar 0 Опубліковано: 2009-03-05 21:22:36 Share Опубліковано: 2009-03-05 21:22:36 stg-2.4-2009.03.05-09.41.01.tgz. и по прежнему присутствует баг с консольным конфигуратором: при внесении изменений выдаёт ошибку, но параметры меняет; при чтении параметров ошибка не выдаётся. в чём может быть причина? Походу просто опечатка, открой файл common_sg.cpp в папке консольного конфигуратора и в строках 410 и 415 поменяй 410: printf("Error\n"); на printf("Ok\n"); 415: printf("Ok\n"); на printf("Error\n"); и пересобери конфигуратор. Ссылка на сообщение Поделиться на других сайтах
Sonnar 0 Опубліковано: 2009-03-05 21:47:11 Share Опубліковано: 2009-03-05 21:47:11 не считается трафик при использовании "cap_ipq". модуль "ip_queue" для ядра загружен, в скриптах конекта/дисконекта всё приведено к необходимому виду. в конфигурации СТГ стоит использование только "cap_ipq". версия СТГ - последняя, stg-2.4-2009.03.05-09.41.01.tgz. Можешь выложить содержимое файлов, stargazer.conf, OnConnect и OnDisconnect? У себя проверил, всё считается, ОС CentOS 5.2. Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-06 12:04:43 Share Опубліковано: 2009-03-06 12:04:43 Передумал на FreeBSD заводить Stargazer. Скачал последнего Slackware 12.2. Все собралось на ура . На след неделе на боевой ставлю .... Спасибо за продукт Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2009-03-06 12:54:06 Share Опубліковано: 2009-03-06 12:54:06 Сегодня в 2:01 ночи эта сборка СТГ упала в корку. В 2:00, как всегда, был выполнен скрипт принудительного перезапуска СТГ. Фрагмент скрипта: #Ostanavlivaem STG echo "Stop Billing Server..." echo "`date +%Y.%m.%d-%H.%M.%S` Stop Billing Server..." >> /var/log/stargazer.log pid=$(ps -ax|grep stargazer|grep -v grep | awk '{print $1}') echo ${pid} >> /var/log/stargazer.log kill ${pid} > /dev/null 2>&1 #Sbros pravil IPFW sleep 2 echo "`date +%Y.%m.%d-%H.%M.%S` Restart IPFW..." >> /var/log/stargazer.log /usr/local/etc/rc.d/ipfw.sh #Start STG echo "Starting Billing Server..." echo "`date +%Y.%m.%d-%H.%M.%S` Starting Billing Server..." >> /var/log/stargazer.log /usr/sbin/stargazer sleep 1 Скрипт пока вырубил. Ссылка на сообщение Поделиться на других сайтах
feducha 0 Опубліковано: 2009-03-06 14:27:21 Share Опубліковано: 2009-03-06 14:27:21 Привествую Всех! Падает новая сборка: users.cpp > 22:08:49 > =====================| pid: 2216 |===================== users.cpp > 22:08:49 > Day = 6 Min = 8 users.cpp > 22:08:49 > Monitor=0 file USERS /users_r cap_nf.cpp > 22:08:49 > NF_CAP::RunTCP() ether_cap.cpp > 22:08:49 > ETHER_CAP::Start() inetaccess.cpp > 22:08:49 > AUTH_IA::Start() inetaccess.cpp > 22:08:49 > AUTH_IA::PrepareNet() >>>> Start successfull. Port: 5555 ao.cpp > 22:08:49 > users->OpenSearch() usernum=1 ping.cpp > 22:08:49 > users->OpenSearch() usernum=1 ping.cpp > 22:08:49 > added IPS 192.168.1.1 ping.cpp > 22:08:49 > PING::Start() PingDelay = 15 /lib/rcscripts/sh/rc-daemon.sh: line 231: 2216 Ошибка сегментирования /sbin/start-stop-daemon '--start' '--quiet' '--exec' '/usr/sbin/stargazer' '--' 2009-03-06 22:08:48 -- Stg v. Stg 2.405 2009-03-06 22:08:48 -- Message queue created successfully. msgKey=5555 msgID=0 2009-03-06 22:08:49 -- Timer thread started successfully. 2009-03-06 22:08:49 -- Storage plugin: file_store v.1.03. Loading successfull. 2009-03-06 22:08:49 -- Users started successfully. 2009-03-06 22:08:49 -- Traffcounter started successfully. 2009-03-06 22:08:49 -- Module: 'CAP_NF v. 0.2'. Start successfull. 0 2009-03-06 22:08:49 -- Module: 'Ether_cap v.1.0'. Start successfull. 10 2009-03-06 22:08:49 -- Module: 'InetAccess authorizator v.1.2'. Start successfull. 50 2009-03-06 22:08:49 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 70 (gdb) bt #0 0xb7b12465 in std::_List_node_base::unhook () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6 #1 0xb70c142a in std::list<unsigned int, std::allocator<unsigned int> >::_M_erase () from /usr/lib/stg/libstg_pinger.so #2 0xb70c0736 in std::list<unsigned int, std::allocator<unsigned int> >::erase () from /usr/lib/stg/libstg_pinger.so #3 0xb70bf758 in std::list<unsigned int, std::allocator<unsigned int> >::erase () from /usr/lib/stg/libstg_pinger.so #4 0xb70be02a in STG_PINGER::RealAddIP () from /usr/lib/stg/libstg_pinger.so #5 0xb70bebfd in STG_PINGER::RunSendPing () from /usr/lib/stg/libstg_pinger.so #6 0xb7d423e2 in start_thread () from /lib/libpthread.so.0 #7 0xb7cc0dbe in clone () from /lib/libc.so.6 ping.cpp > 22:24:08 > PING::Start() PingDelay = 15 ==31831== Thread 10: ==31831== Conditional jump or move depends on uninitialised value(s) ==31831== at 0x590573D: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>, std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904029: STG_PINGER::RealAddIP() (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904BFC: STG_PINGER::RunSendPing(void*) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x487A3E1: start_thread (in /lib/libpthread-2.6.1.so) ==31831== by 0x4959DBD: clone (in /lib/libc-2.6.1.so) ==31831== ==31831== Use of uninitialised value of size 4 ==31831== at 0x5906716: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5905757: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>, std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904029: STG_PINGER::RealAddIP() (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904BFC: STG_PINGER::RunSendPing(void*) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x487A3E1: start_thread (in /lib/libpthread-2.6.1.so) ==31831== by 0x4959DBD: clone (in /lib/libc-2.6.1.so) ==31831== ==31831== Use of uninitialised value of size 4 ==31831== at 0x4A11460: std::_List_node_base::unhook() (in /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3) ==31831== by 0x5907429: std::list<unsigned int, std::allocator<unsigned int> >::_M_erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5906735: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5905757: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>, std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904029: STG_PINGER::RealAddIP() (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904BFC: STG_PINGER::RunSendPing(void*) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x487A3E1: start_thread (in /lib/libpthread-2.6.1.so) ==31831== by 0x4959DBD: clone (in /lib/libc-2.6.1.so) ==31831== ==31831== Invalid write of size 4 ==31831== at 0x4A11465: std::_List_node_base::unhook() (in /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3) ==31831== by 0x5907429: std::list<unsigned int, std::allocator<unsigned int> >::_M_erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5906735: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5905757: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>, std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904029: STG_PINGER::RealAddIP() (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904BFC: STG_PINGER::RunSendPing(void*) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x487A3E1: start_thread (in /lib/libpthread-2.6.1.so) ==31831== by 0x4959DBD: clone (in /lib/libc-2.6.1.so) ==31831== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==31831== ==31831== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==31831== Access not within mapped region at address 0x0 ==31831== at 0x4A11465: std::_List_node_base::unhook() (in /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3) ==31831== by 0x5907429: std::list<unsigned int, std::allocator<unsigned int> >::_M_erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5906735: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5905757: std::list<unsigned int, std::allocator<unsigned int> >::erase(std::_List_iterator<unsigned int>, std::_List_iterator<unsigned int>) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904029: STG_PINGER::RealAddIP() (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x5904BFC: STG_PINGER::RunSendPing(void*) (in /usr/lib/stg/libstg_pinger.so) ==31831== by 0x487A3E1: start_thread (in /lib/libpthread-2.6.1.so) ==31831== by 0x4959DBD: clone (in /lib/libc-2.6.1.so) ==31831== If you believe this happened as a result of a stack overflow in your ==31831== program's main thread (unlikely but possible), you can try to increase ==31831== the size of the main thread stack using the --main-stacksize= flag. ==31831== The main thread stack size used in this run was 8388608. ==31831== ==31831== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 125 from 2) ==31831== malloc/free: in use at exit: 37,161 bytes in 409 blocks. ==31831== malloc/free: 1,925 allocs, 1,516 frees, 103,955 bytes allocated. ==31831== For counts of detected errors, rerun with: -v ==31831== Use --track-origins=yes to see where uninitialised values come from ==31831== searching for pointers to 409 not-freed blocks. ==31831== checked 75,696,896 bytes. ==31831== ==31831== LEAK SUMMARY: ==31831== definitely lost: 312 bytes in 22 blocks. ==31831== possibly lost: 4,540 bytes in 172 blocks. ==31831== still reachable: 32,309 bytes in 215 blocks. ==31831== suppressed: 0 bytes in 0 blocks. ==31831== Rerun with --leak-check=full to see details of leaked memory. Убито Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-03-06 14:45:05 Автор Share Опубліковано: 2009-03-06 14:45:05 2lalex: если ipq_cap не считает - 80% что неправильно настроен файрвол. По поводу "Error" в КК - там путанница с кодами вышла, поправлю. 2Kucher2: можешь получить корку и показать бектрейс, как это сделал feducha? 2feducha: спасибо за бектрейс, постараюсь поправить как можно скорее. По поводу libmysqlclient_r.so на фре: неприятно удивлен, думал эта версия уже должна нормально находить. Буду смотреть. Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2009-03-06 14:54:24 Share Опубліковано: 2009-03-06 14:54:24 Есть только корка. Как сделать битрейс к сожалению не знаю. Да и думаю, что пока рано паниковать - СТГ упал после попытки убить процесс. Правда со старой версией такого не наблюдал, но я б тоже обиделся. Скрипт принудительного перезапуска в 2 часа ночи - отключил. Скрипт автоподнятия СТГ - нет. Пока буду посмотреть. Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-06 15:32:34 Share Опубліковано: 2009-03-06 15:32:34 Почемуто не скопировалась либа libsrvconf.so для концольного конфигуратора ... она не должна сама копироваться ? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2009-03-06 15:39:13 Автор Share Опубліковано: 2009-03-06 15:39:13 Эта либа нужна только для КК. Для stargazer она не нужна. По этому при сборке/установке stargazer она не собирается и не копируется. А собирается и копируется при сборке/установке sgconf. Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-06 15:46:17 Share Опубліковано: 2009-03-06 15:46:17 Сори ... я понял свою ошибку ... я его не установил а токлько скомпилил Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубліковано: 2009-03-06 19:12:15 Share Опубліковано: 2009-03-06 19:12:15 Возникла проблема старгайзер периодически (примерно 3-10 минут в час) грузит проц до 100% в итоге все коннекты ICQ онлайн игры отваливаются. Система Gentoo, kernel 2.6.23.17, expat-2.0.1, Core2 Duo CPU E4600, канал в мир 20 Мбит онлайн ~100-200 пользователей такое было как на 2.405 и на 2.406-alpha и на 2.406-betta, детальную статистику отключил у всех пользователей но это ничего не дало. Началось после увеличения скорости канала с 5 до 20 Мбит подскажите плиз в чем может быть проблема. Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-06 20:21:46 Share Опубліковано: 2009-03-06 20:21:46 Все отключают детальную статистику ... искал по форуму , не нашел точного рецепта как её отключить. Подскажите пожалуйста как отключить. И отключается только запись или стайгейзер внутри у себя не ведет её и не занимает лишних ресурсов ? Просветите студента Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2009-03-06 20:26:23 Share Опубліковано: 2009-03-06 20:26:23 Через конфигуратор - в свойствах конкретного юзера она отключается. Версия сервера СТГ должна быть одна из последних и конфигуратор тоже. На ранних версиях не поддерживается эта функция. Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-06 21:42:16 Share Опубліковано: 2009-03-06 21:42:16 А вообще как отключить детайл стат полностью для всех ... Ссылка на сообщение Поделиться на других сайтах
Dimension 37 Опубліковано: 2009-03-07 08:03:57 Share Опубліковано: 2009-03-07 08:03:57 поставили эту бету на боевой серв, 12 часов гдето работает, пока полет нормальный.... madf, Подскажи как уменьшить наргузку на на проц старгейзером? или почему так грузит? Slava выше описал все... Ссылка на сообщение Поделиться на других сайтах
Watson 0 Опубліковано: 2009-03-07 10:28:40 Share Опубліковано: 2009-03-07 10:28:40 А вообще как отключить детайл стат полностью для всех ... я сделал так OnConnect #!/bin/sh #Этот скрипт вызывается в момент, когда пользователь #успешно прошел авторизацию на сервере. Задача скрипта - перестроить #файрвол так, что бы пользователь получил доступ в интернет # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 tariff=`cat /var/stargazer/users/$LOGIN/conf |grep Tariff= |cut -f 2 -d"="` if [ "$tariff" = "unlim" ]; then unlim="1" elif [ "$tariff" = "unlim-64-32" ]; then unlim="1" elif [ "$tariff" = "unlim-128-64" ]; then unlim="1" elif [ "$tariff" = "unlim-256-128" ]; then unlim="1" elif [ "$tariff" = "unlim-512-256" ]; then unlim="1" elif [ "$tariff" = "unlim-1024-512" ]; then unlim="1" else unlim="0" fi if [ $unlim = "1" ]; then ##################-ACCEPT-######################### iptables -t filter -A INPUT -s $IP -j ACCEPT iptables -t filter -A FORWARD -s $IP -j ACCEPT sleep 1 iptables -t filter -A FORWARD -d $IP -j ACCEPT iptables -t filter -A OUTPUT -d $IP -j ACCEPT else ###################-QUEUE-########################## iptables -t filter -A INPUT -s $IP -j QUEUE iptables -t filter -A FORWARD -s $IP -j QUEUE sleep 1 iptables -t filter -A FORWARD -d $IP -j QUEUE iptables -t filter -A OUTPUT -d $IP -j QUEUE fi и скрипт OnDisconnect #!/bin/sh # Этот скрипт вызывается в момент, когда пользователь # желает отключится от интернета или вышел таймаут у пользователя # и сервер сам отключает пользователя # Задача скрипта подобна задаче скрипта OnConnect - перестроить # файрвол так, что бы пользователю закрыть доступ в интернет # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$5 ###################-ACCEPT-################# iptables -t filter -D INPUT -s $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $IP -j ACCEPT done ############################################# iptables -t filter -D FORWARD -s $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $IP -j ACCEPT done #sleep 1 iptables -t filter -D FORWARD -d $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $IP -j ACCEPT done ############################################ iptables -t filter -D OUTPUT -d $IP -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $IP -j ACCEPT done ############################################# #else ###################-QUEUE-################### iptables -t filter -D INPUT -s $IP -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $IP -j QUEUE done ############################################# iptables -t filter -D FORWARD -s $IP -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $IP -j QUEUE done #sleep 1 iptables -t filter -D FORWARD -d $IP -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $IP -j QUEUE done ############################################ iptables -t filter -D OUTPUT -d $IP -j QUEUE while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $IP -j QUEUE donе для анлимщиков считать не будет и записывать в дет.стат соответсвенно тоже не будет, а для помегобайтной тарификации будет. у меня считает по ip_ueue Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-07 16:33:33 Share Опубліковано: 2009-03-07 16:33:33 для анлимщиков считать не будет и записывать в дет.стат соответсвенно тоже не будет, а для помегобайтной тарификации будет.у меня считает по ip_ueue ip_queue - не разу такого модуля стг не видел а если считать cap_ether ом. Что делать ? Я думал може денить ченить закоментить в исходниках стг ... Ссылка на сообщение Поделиться на других сайтах
Watson 0 Опубліковано: 2009-03-07 16:41:30 Share Опубліковано: 2009-03-07 16:41:30 ip_queue - не разу такого модуля стг не видел а если считать cap_ether ом. Что делать ? Я думал може денить ченить закоментить в исходниках стг ... тогда исправь ACCEPT на QUEUE, а QUEUE на ACCEPT.Если прописать в твоемм случае QUEUE то и трафик считаться не будет соотвественно дет.статаа не будет писаться.И тарифы изменни в скриптах на свои. Ссылка на сообщение Поделиться на других сайтах
lalex 0 Опубліковано: 2009-03-07 19:26:06 Share Опубліковано: 2009-03-07 19:26:06 Можешь выложить содержимое файлов, stargazer.conf, OnConnect и OnDisconnect? У себя проверил, всё считается, ОС CentOS 5.2. OnConnect #!/bin/bash # Login LOGIN=$1 #user IP echo=$2 IP=$2 #cash CASH=$3 #user ID ID=$4 eth=eth1 eth_local=eth0 mir=xxxxxxxx iptables -t filter -A INPUT -s $IP -j ACCEPT iptables -t filter -A FORWARD -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT iptables -t filter -A OUTPUT -d $IP -j ACCEPT iptables -D FORWARD -i $eth_local -s $IP -j DROP while [ $? -eq 0 ] do iptables -D FORWARD -i $eth_local -s $IP -j DROP done iptables -D FORWARD -o $eth_local -d $IP -j DROP while [ $? -eq 0 ] do iptables -D FORWARD -o $eth_local -d $IP -j DROP done iptables -t nat -A POSTROUTING -s $IP -o $eth -j SNAT --to-source $mir #iptables -t nat -A PREROUTING -s $IP -d ! 10.111.0.1 -p tcp --dport 80 -j REDIRECT --to-port 3128 echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log OnDisconnect #!/bin/bash ip=$2 eth_local=eth0 eth=eth1 mir=xxxxxxxxx iptables -t filter -D INPUT -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT done ################################## iptables -t filter -D OUTPUT -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j ACCEPT done ################################# iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir while [ $? -eq 0 ] do iptables -t nat -D POSTROUTING -s $ip -o $eth -j SNAT --to-source $mir done ################################# #iptables -t nat -D PREROUTING -s $ip -d ! 10.111.0.1 -p tcp --dport 80 -j REDIRECT --to-port 3128 #while [ $? -eq 0 ] #do #iptables -t nat -D PREROUTING -s $ip -d ! 10.111.0.1 -p tcp --dport 80 -j REDIRECT --to-port 3128 #done iptables -I FORWARD -i $eth_local -s $ip -j DROP iptables -I FORWARD -o $eth_local -d $ip -j DROP echo "D `date +%Y.%m.%d-%H.%M.%S` $ip $CASH" >> /var/stargazer/users/$LOGIN/connect.log Stargazer.conf ################################################################################ # Файл настроек сервера stargazer # ################################################################################ # Имя лог-файла куда пишутся события LogFile = /var/log/stargazer.log # Имя PID-файла куда пишется идентификатор процесса # По умолчанию /var/run/pid # PIDFile = /var/run/stargazer.pid # Имя файла в котором определяются правила подсчета трафика Rules = /etc/stargazer/rules # Время через которое пишется d БД детальная статистика пользователя # Значения: 1, 1/2, 1/4, 1/6. # 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 мин, 1/6 - раз в 10 мин DetailStatWritePeriod=1/6 # Периодичность записи записи в БД информации о статистике пользователя (минуты) # При большом кол-ве пользователей эту величину стоит увеличить, т.к. # запись в БД может занимать длительное время. # Значения: 1...1440 (минуты) StatWritePeriod = 10 # День снятия абонплаты # Значения: 0...31. 0 - Последний день месяца DayFee = 1 # Абонплата снимается в последний (yes) или первый (no) день учетного периода. # Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. # Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, # то при переходе на новый тариф со счета пользователя снимется 100, если # DayFeeIsLastDay = yes и 200, если DayFeeIsLastDay = no DayFeeIsLastDay = no # День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы # Значения: 0...31. 0 - Последний день месяца DayResetTraff = 1 # "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый # день 1/30 или 1/31 части АП # Значения: yes, no SpreadFee = no # Данная опция определяет может ли пользователь получить доступ в интерент # если у него на счету нет денег, но остался предоплаченный трафик # Значения: yes, no FreeMbAllowInet = no # Эта опция определяет что будет писаться в стоимость трафика в detail_stat. # Если у пользователя еще есть предоплаченный трафик и WriteFreeMbTraffCost = no, # то в detail_stat стоимость будет 0. Если у пользователя уже нет # предоплаченного трафика и WriteFreeMbTraffCost = no, то в detail_stat # будет записана стоиость трафика. При WriteFreeMbTraffCost = yes стоимость # трафика будет записана в любом случае. WriteFreeMbTraffCost = no # Необязательный параметр. Указывает снимать полную абонплату у пользователя даже # если он быз заморожен только часть учетного периода. # По умолчанию установлен в no # FullFee=no # Необязательный параметр указывающий показывать на счету и позволять # использовать пользователю абонплату. По умолчанию установлен в yes # ShowFeeInCash=yes # Названия направлений. Направления без названий не будут отображаться в # авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны # быть взяты в кавычки <DirNames> DirName0 = Local DirName1 = Internet </DirNames> # Кол-во запускаемых процессов stg-exec. # Эти процессы отвечают за выполнение скриптов OnConnect, OnDisconnect, ... # Кол-во процессов означает сколько скриптов могут выполнятся одновременно. # Значения: 1...1024 ExecutersNum = 1 # Message Key для stg-exec. # Идентификатор очереди сообщений для выполнятеля скриптов. # Его изменение может понадобится если есть необходимость запустить несколько # экземпляров stg. Если вы не понимаете, что это, не трогайте этот параметр! # Значения: 0...2^32 # Значение по умолчанию: 5555 # ExecMsgKey = 5555 # Путь к директории, в которой находятся модули сервера ModulesPath = /usr/lib/stg # Определяет директорию, в которой будут находится файлы "монитора" # работы сервера. В этой директории будут созданы пустые файлы, время # модификации которых будет меняться примерно раз в минуту. Если какой-то # компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому # признаку можно определить сбой в работе сервера и при надобности # перезапустить. Если параметр не указан или пустой, мониторинг производится # не будет. Параметр не является обязательным, по умолчанию пустой. # MonitorDir=/var/stargazer/monitor ################################################################################ # Store module # Настройки плагина работающего с БД сервера # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_store_files.so <StoreModule store_files> # Рабочая директория сервера, тут содержатся данные о тарифах, пользователях, # администраторах и т.д. WorkDir = /var/stargazer # Владелец, группа и права доступа на файлы статистики (stat) пользователя ConfOwner = root ConfGroup = root ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = root StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = root UserLogMode = 640 # Удалять резервные копии после успешной записи conf/stat # Значения: yes, no # По умолчанию: yes # RemoveBak = yes # Восстанавливать файлы conf/stat из резервных копий при ошибке чтения # Значения: yes, no # По умолчанию: no # ReadBak = no </StoreModule> #<StoreModule store_firebird> # # Адрес сервера БД # server=localhost # # # Путь к БД на сервере или ее алиас # database=/var/stg/stargazer.fdb # # # Имя пользователя БД # user=stg # # # Пароль пользователя БД # password=123456 #</StoreModule> #<StoreModule store_mysql> # # Имя пользователя БД # dbuser = stg # # # Пароль пользователя БД # rootdbpass = 123456 # # # Имя БД на сервере # dbname = stg # # # Адрес сервера БД # dbhost = localhost #</StoreModule> ################################################################################ # Прочие модули <Modules> # Настройки плагина авторизации Always Online "mod_auth_ao.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ao.so <Module auth_ao> </Module> # Настройки плагина авторизации InetAccess "mod_auth_ia.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ia.so <Module auth_ia> # Порт на котором принимаются обращения от авторизатора # Значения: 1...65534 Port = 5555 # Время между посылками запроса пользователю жив ли он # и обновлением данных статистики (секунды) # Значения: 5...600 UserDelay = 15 #Таймаут для пользователя. Если в течение этого времени авторизатор #не отвечает, пользователь будет отключен # Значения: 15...1200 UserTimeout = 65 # Этот параметр определяет что будет передаваться программе InetAccess от сервера # как отстаток предоплаченного трафика # Значения: # FreeMb = 0 - кол-во бесплатных мегабайт в пресчете на цену нулевого направления # FreeMb = 1 - кол-во бесплатных мегабайт в пресчете на цену первого направления # FreeMb = 2 - кол-во бесплатных мегабайт в пресчете на цену второго направления # FreeMb = 3 - кол-во бесплатных мегабайт в пресчете на цену третьего направления # ........................ # FreeMb = 9 - кол-во бесплатных мегабайт в пресчете на цену девятого направления # FreeMb = cash - кол-во денег на которые юзер может бесплатно качать # FreeMb = none - ничего не передавать FreeMb = none </Module> # Модули можно использовать несколько раз с разными параметрами #<Module auth_ia> # Port = 7777 # UserDelay = 15 # UserTimeout = 65 # FreeMb = 0 #</Module> # Настройки модуля конфигурации SgConfig "mod_conf_sg.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module conf_sg> # Порт по которому сервер взаимодействует с конфигуратором # Значения: 1...65535 Port = 5555 </Module> # Модуль захвата трафика "mod_cap_ether.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Без параметров. Только имя модуля. <Module cap_ether> # Модуль без параметров </Module> # <Module cap_ipq> # Модуль без параметров # </Module> # Модуль захвата трафика "mod_cap_nf.so" # Принимает информацию о трафике по протоколу NetFlow # Второй параметер - это имя модуля без mod_ в начале и .so в конце # <Module cap_nf> # TCPPort - порт для TCP-соединений # TCPPort = 42111 # UDPPort - порт для UDP-соединений # UDPPort = 42111 # Могут иметь совпадающие значения. # Если параметр не указан - соответствующий порт не "прослушивается". # </Module> # Настройки модуля пингующего пользователей "mod_ping.so" # Второй параметр - это имя модуля без mod_ в начале и .so в конце <Module ping> # Время, в секундах, между пингами одного и того же пользователя # Значения: 10...3600 PingDelay = 15 </Module> # # Настройки модуля для удаленного выполнения скриптов OnConnect и # # OnDisconnect "mod_remote_script.so" # # Второй параметр - это имя модуля без mod_ в начале и .so в конце # <Module remote_script> # # # Время, в секундах, между посылками подтверждений, того, что пользователь # # всё еще онлайн # # Значения: 10...600 # SendPeriod = 15 # # # Соответствие подсетей, в которой находится пользователь и # # соответствующего роутера. Первая часть строки - подсеть, заданная # # как IP-адрес и маска, через пробел - IP-адрес роутера на котором # # должны выполняться скрипты # # Например эта запись "192.168.1.0/24 192.168.1.1" означает, что для # # всех пользователей из подсети 192.168.1.0/24, скрипты будут # # выполняться на роутере с адресом 192.168.1.1 # # Subnet0...Subnet100 # Subnet0 = 192.168.1.0/24 192.168.1.7 # Subnet1 = 192.168.2.0/24 192.168.2.5 # Subnet2 = 192.168.3.0/24 192.168.2.5 # Subnet3 = 192.168.4.0/24 192.168.2.5 # # # Пароль для шифрования пакетов между stg-сервером и сервером, # # выполняющим скрипты # Password = 123456 # # # Этот параметр определяет какие параметры пользователя передаются # # на удаленный сервер # # Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, NextTariff, Address, # # Note, Group, Email, RealName, Credit, EnabledDirs, Userdata0...Userdata9 # UserParams=Cash Tariff EnabledDirs # # # Порт по которому сервер отсылает сообщения на роутер # # Значения: 1...65535 # Port = 9999 # # </Module> # <Module radius> # Password = 123456 # ServerIP = 127.0.0.1 # Port = 6666 # AuthServices = Login-User # AcctServices = Framed-User # </Module> </Modules> ################################################################################ Ссылка на сообщение Поделиться на других сайтах
dnserg 6 Опубліковано: 2009-03-07 19:47:06 Share Опубліковано: 2009-03-07 19:47:06 Я уже запутался ... Фишка в том , что мне нужно чтоб считало вообще трафик как обычно .... но детальной статистики не надо . но эт не так важно вроде пока норм ... эт я на будущее спрашивал ... Еще вопросик возник : sgconf_xml вроде планировалось добавить в сборку ... а его нет ... или не планировалось ? Он вообще будет работать без патчей Алферова ? Пробывал собирать его (положил его как и нада в проджектс) он выдал это : gmake: *** No rule to make target `blowfish.h', needed by `common.o'. Stop. Ссылка на сообщение Поделиться на других сайтах
Dimension 37 Опубліковано: 2009-03-08 09:08:52 Share Опубліковано: 2009-03-08 09:08:52 Бета работает но В логе появились такие записи, раньше не было вроде: 2009-03-08 07:54:51 -- Cannot write stat for user kiva. 2009-03-08 07:54:51 -- User 'kiva' stat not written 2009-03-08 07:54:51 -- Cannot write conf for user kiva. 2009-03-08 07:54:51 -- User 'kiva' conf not written Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2009-03-08 14:06:13 Share Опубліковано: 2009-03-08 14:06:13 Ну дык, записать не может. Проверь от кого работает СТГ или установи на эти файлы разрешения 777. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас